Files
cef/patch/patches/chrome_browser_printing_oop_osr.patch
Marshall Greenblatt f8a746373e Update to Chromium version 138.0.7204.0 (#1465706)
Mac: Require Xcode 16.3 (16E140) and SDK 15.4 (24E241)
2025-06-03 14:20:59 -04:00

22 lines
999 B
Diff

diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc
index 089578602393b..b4b0a7abe4822 100644
--- chrome/browser/printing/print_backend_service_manager.cc
+++ chrome/browser/printing/print_backend_service_manager.cc
@@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr;
// to support modal dialogs from OOP.
uint32_t NativeViewToUint(gfx::NativeView view) {
#if BUILDFLAG(IS_WIN)
- return base::win::HandleToUint32(views::HWNDForNativeView(view));
+ // |view| will be nullptr with CEF OSR. In that case return the desktop
+ // window handle (same behavior as PrintingContextWin::GetRootWindow) to
+ // avoid a DCHECK in PrintingContextSystemDialogWin::AskUserForSettings
+ // with OOP printing.
+ HWND hwnd = views::HWNDForNativeView(view);
+ if (!hwnd) {
+ hwnd = ::GetDesktopWindow();
+ }
+ return base::win::HandleToUint32(hwnd);
#else
NOTREACHED();
#endif