mirror of
https://github.com/aphrody-labs/cef.git
synced 2026-10-14 05:09:23 +00:00
Two Chromium changes in M145 broke CefPrintHandler on Linux. Print dialog creation moved to PrintingContextLinux::PrintDialogFactory, whose default implementation bypasses CEF's printing delegate. Dialog ownership also changed to std::unique_ptr. Register a CEF factory that routes browsers with a CefPrintHandler through CefPrintingContextLinuxDelegate while preserving Chromium's default behavior for other browsers. Use a unique_ptr-owned proxy around the reference-counted CefPrintDialogLinux so asynchronous print jobs can outlive their PrintingContext. As with #3729, out-of-process printing must be disabled (--disable-features=EnableOopPrintDrivers) for the callbacks to fire.