| # Patch configuration file. See the README.txt file in the patch directory for |
| # information on how this configuration is used. |
| # |
| # Each dictionary entry in the "patches" map represents a single patch file. |
| # Supported key/value pairs are as follows: |
| # |
| # - 'name' Required. The name of the patch file without the .patch |
| # extension that will be read from the patches subdirectory. |
| # - 'path' Optional. The repository root for the patch file. Defaults to |
| # the Chromium "src" root. All patch file contents must be |
| # relative to this repository root. |
| # - 'condition' Optional. The patch file will only be applied if an environment |
| # variable with this name exists. |
| # |
| # Each entry should also include a comment linking to the code review or bug |
| # report that the patch relates to. |
| |
| patches = [ |
| { |
| # Necessary for grit integration. |
| 'name': 'gritsettings', |
| }, |
| { |
| # Necessary for GN integration. |
| # |
| # Move chrome target locales output to a chrome/ directory to avoid |
| # conflicts with the CEF configuration. |
| # |
| # Write environment.* files with the correct SDK version on Windows. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=634788 |
| # |
| # Windows: Add cc_wrapper support for sccache builds. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2432 |
| 'name': 'gn_config', |
| }, |
| { |
| # Patches that must be applied after `gclient sync --nohooks` and before |
| # `gclient runhooks`. |
| # |
| # Support custom VS toolchain on Windows. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=623342 |
| 'name': 'runhooks', |
| }, |
| { |
| # Support component builds (GN is_component_build=true). |
| # https://bitbucket.org/chromiumembedded/cef/issues/1617 |
| # |
| # Export GetUnicodeCharacterFromXKeySym and XKeySymToDomKey |
| # to fix component builds. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2587 |
| 'name': 'component_build', |
| }, |
| { |
| # Revert change on Windows that removes MessageLoop::os_modal_loop(). |
| # https://codereview.chromium.org/1992243003 |
| # |
| # Revert change that removes MessageLoopForUI constructor. |
| # https://chromium-review.googlesource.com/751322 |
| # |
| # Add MessageLoop::ReleasePump to fix crashes during shutdown with multi- |
| # threaded message loop mode. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2362 |
| 'name': 'message_loop', |
| }, |
| { |
| # Add builtin trace event categories for CEF. |
| # Required due to https://crrev.com/331266377d. |
| 'name': 'trace_event', |
| }, |
| { |
| # Enable popups in offscreen rendering on OS X. |
| # |
| # Allow customization of the WebView background color. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2345 |
| 'name': 'webkit_popups', |
| }, |
| { |
| # Fix export of UnderlayOpenGLHostingWindow for 64-bit OS X builds. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1051 |
| 'name': 'underlay_1051', |
| }, |
| { |
| # Allow specification of a parent window handle for Widget creation. |
| # https://bitbucket.org/chromiumembedded/cef/issues/180 |
| # |
| # Fix multiple handling of WM_MOUSEWHEEL messages on Windows. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1481 |
| # |
| # Support custom RenderWidgetHostViewOSR for BrowserPluginGuest. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1565 |
| # |
| # Fix focus/activation handling and keyboard input on Windows and Linux. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1677 |
| # https://bitbucket.org/chromiumembedded/cef/issues/1679 |
| # https://bitbucket.org/chromiumembedded/cef/issues/1700 |
| # |
| # Support creation of captionless windows with resizable borders. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1749 |
| # |
| # Windows: When |params.remove_standard_frame| is true remove WS_CAPTION |
| # and WS_SYSMENU styles. Otherwise Windows 10 enforces a minimum window |
| # width of ~116 units that cannot be overridden. |
| # Linux: Allow creation of activatable menu windows. |
| # Linux: Support CefWindowDelegate::CanResize restriction by specifying |
| # min/max Widget size values. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1947 |
| # |
| # Support configuration of RWHVGuest device scale factor. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2078 |
| 'name': 'views_widget_180_1481_1565_1677_1749', |
| }, |
| { |
| # Allow specification of a custom WebContentsView. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1257 |
| # |
| # Support custom RenderWidgetHostViewOSR for BrowserPluginGuest. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1565 |
| # |
| # Add WebContentsObserver::OnFrameFocused. |
| 'name': 'web_contents_1257_1565', |
| }, |
| { |
| # Support custom RenderWidgetHostViewOSR for MimeHandlerViewGuest and |
| # expose OnGuestAttached/Detached notifications. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1565 |
| # https://bitbucket.org/chromiumembedded/cef/issues/2727 |
| 'name': 'mime_handler_view_guest_1565_2727', |
| }, |
| { |
| # Allow customization of the WebView background color. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1161 |
| # https://codereview.chromium.org/228603007/ |
| 'name': 'prefs_content_1161', |
| }, |
| { |
| # Fix drag&drop of combined text and URL data on Linux/Aura. |
| # https://codereview.chromium.org/208313009 |
| 'name': 'ui_dragdrop_355390', |
| }, |
| { |
| # Remove NOTREACHED() that is hit when loading Flash in incognito mode. |
| # https://bitbucket.org/chromiumembedded/cef/issue/1586 |
| 'name': 'content_pepper_flash_1586', |
| }, |
| { |
| # Fix placement of IME window on Windows. |
| # https://bitbucket.org/chromiumembedded/cef/issue/1610 |
| 'name': 'ime_1610', |
| }, |
| { |
| # Split service_manager::Main into the separate steps required by CEF. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=654986#c17 |
| # |
| # Remove DCHECK on Linux when initialized CEF from a non-main thread. |
| # https://bitbucket.org/chromiumembedded/cef/issue/1639 |
| 'name': 'service_manager_654986', |
| }, |
| { |
| # Fix missing check for defined(ENABLE_THEMES) in |
| # renderer_preferences_util.cc on Linux. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=545103 |
| 'name': 'renderer_preferences_util_545103', |
| }, |
| { |
| # Expose the FontFamilyCache UserData key. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1501 |
| 'name': 'font_family_cache_1501', |
| }, |
| { |
| # Modify views::View to extend SupportsUserData. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1749 |
| # |
| # Don't add TestDesktopScreenX11 dependency on Linux. |
| # Reverts ui_controls_factory_desktop_aurax11.cc changes from |
| # https://codereview.chromium.org/2327623002 |
| # |
| # Add InkDropHostView::ink_drop_mode method. |
| # Reverts ink_drop_host_view.h changes from |
| # https://codereview.chromium.org/2723843002 |
| # |
| # Add LabelButton::SetFontList method. |
| # Reverts label_button.[cc|h] changes from |
| # https://codereview.chromium.org/2801583002 |
| # |
| # Expose callbacks for mouse/keyboard events that trigger menu switching. |
| # Add accelerator display support to Label. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2102 |
| 'name': 'views_1749_2102', |
| }, |
| { |
| # Expose ui::Compositor via BrowserCompositorMac for OSR. |
| 'name': 'browser_compositor_mac', |
| }, |
| { |
| # Fix chrome Widevine build on Linux. |
| # |
| # Remove incorrect assertion on Windows/macOS by cherry-picking this commit: |
| # https://chromium.googlesource.com/chromium/src/+/ec992a43e7 |
| 'name': 'chrome_widevine', |
| }, |
| { |
| # Support CEF changes in chrome/browser. |
| 'name': 'chrome_browser', |
| }, |
| { |
| # Support CEF changes in chrome/renderer. |
| 'name': 'chrome_renderer', |
| }, |
| { |
| # Don't initialize ExtensionSystemFactory when extensions are disabled. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2359 |
| 'name': 'chrome_browser_content_settings', |
| }, |
| { |
| # Don't initialize ExtensionSystemFactory when extensions are disabled. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2852 |
| 'name': 'chrome_browser_themes', |
| }, |
| { |
| # Make some methods of ProfileManager virtual. |
| # |
| # Don't create IdentityManager in RendererUpdater. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1917 |
| 'name': 'chrome_browser_profiles', |
| }, |
| { |
| # Show the CEF Save As dialog. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2613 |
| # |
| # Fix fatal error: 'components/printing/common/print.mojom.h' file not found |
| # From chrome/browser/ui/browser_commands.cc via |
| # chrome/browser/printing/print_view_manager_common.h |
| 'name': 'chrome_browser_net_export', |
| }, |
| { |
| # Support override of the User-Agent product component when NetworkService |
| # is enabled. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2622 |
| 'name': 'chrome_browser_product_override', |
| }, |
| { |
| # Fix Jumbo/component build dependency issue. |
| 'name': 'chrome_browser_safe_browsing', |
| }, |
| { |
| # Allow CEF to share Chrome plugin loading code. |
| 'name': 'chrome_plugins', |
| }, |
| { |
| # Don't create databases, blob_storage or VideoDecodeStats directories when |
| # cache_path is empty. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2289 |
| 'name': 'storage_incognito_2289', |
| }, |
| { |
| # Fix plugin placeholder blocked message. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2020/ |
| 'name': 'webview_plugin_2020', |
| }, |
| { |
| # Support WebUI by removing dependency on non-NULL IOThread* object. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2037 |
| 'name': 'webui_2037', |
| }, |
| { |
| # Implement breakpad/crashpad customization required by CEF. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1995 |
| 'name': 'crashpad_1995', |
| }, |
| { |
| # Support customization of crash report pruning limits. |
| # https://bugs.chromium.org/p/crashpad/issues/detail?id=142 |
| # |
| # Implement better rate-limiting/retry logic. |
| # https://bugs.chromium.org/p/crashpad/issues/detail?id=23 |
| 'name': 'crashpad_tp_1995', |
| }, |
| { |
| # Fix white flash during browser creation. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1984 |
| # |
| # Windows: Fix crash during window creation. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=761389 |
| 'name': 'rwh_background_color_1984', |
| }, |
| { |
| # Pass is_main_frame to PluginServiceFilter::IsPluginAvailable. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2015 |
| # |
| # Pass the render process id to PluginServiceFilter::IsPluginAvailable. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=626728#c15 |
| # |
| # Expose RFH via NavigationHandle for retrieval in DidFinishNavigation on |
| # network error. |
| # https://groups.google.com/a/chromium.org/d/msg/chromium-dev/6iAQPx_hwh8/gaTR5f1GAQAJ |
| # |
| # Add ContentRendererClient::RenderThreadConnected to fix sync IPC issue. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=728195 |
| # |
| # Add ContentRendererClient::DevToolsAgent[Attached|Detached] methods. |
| # |
| # Always return the Chrome product value for DevTools. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2300 |
| # |
| # Add new ContentBrowserClient::HandleExternalProtocol variant for use with |
| # the NetworkService. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2622 |
| 'name': 'content_2015', |
| }, |
| { |
| # Pass is_main_frame to PluginServiceFilter::IsPluginAvailable. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2015 |
| # |
| # Add ContentRendererClient::DevToolsAgent[Attached|Detached] methods. |
| 'name': 'webkit_plugin_info_2015', |
| }, |
| { |
| # Linux: Attach routing IDs to PrintingContext. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2196 |
| 'name': 'printing_context_2196', |
| }, |
| { |
| # Linux: Fix 32-bit build fails with ld.gold: internal error in |
| # get_section_contents, at icf.cc:467 |
| # https://bitbucket.org/chromiumembedded/cef/issues/2256 |
| # Win: remove llvmlibthin as the combine_libs.py can't handle those |
| # https://bitbucket.org/chromiumembedded/cef/issues/2470 |
| 'name': 'build', |
| }, |
| { |
| # Changes necessary to support for chrome extensions. Add a new |
| # ExtensionHost constructor that allows CEF to create the WebContents. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1947 |
| # |
| # Don't initialize PrerenderContents object in StreamsPrivateAPI. |
| 'name': 'extensions_1947', |
| }, |
| { |
| # Don't enable sandbox::MITIGATION_STRICT_HANDLE_CHECKS in WinRT apps. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2274 |
| 'name': 'win_rt_2274', |
| }, |
| { |
| # Fix DCHECK running OSRTest.DragDropUpdateCursor. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=781966 |
| 'name': 'webkit_pointer_event_781966', |
| }, |
| { |
| # macOS: Fix undesirable switch to discrete GPU during startup. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2398 |
| # |
| # macOS: Rely on symlinks to find the Libraries directory. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=757974#c23 |
| 'name': 'mac_gpu', |
| }, |
| { |
| # macOS: Make the NativeEventProcessor protocol dependency optional. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2539 |
| 'name': 'mac_event_observer_2539', |
| }, |
| { |
| # macOS: Fix crash when scrolling in OSR mode. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2540 |
| 'name': 'mac_fling_scheduler_2540', |
| }, |
| { |
| # Linux: Use poll instead of select to fix crash during startup. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2466 |
| 'name': 'linux_poll_2466', |
| }, |
| { |
| # Allow ResourceBundle creation/destruction on the main thread and usage on |
| # the UI thread. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2398 |
| 'name': 'resource_bundle_2512', |
| }, |
| { |
| # macOS: Fix crash when showing a select popup with CefDoMessageLoopWork. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2495 |
| 'name': 'message_pump_mac_2495', |
| }, |
| { |
| # Linux: Load binaries from DIR_ASSETS. |
| # https://bitbucket.org/chromiumembedded/cef/issues/1936 |
| 'name': 'linux_assets_path_1936', |
| }, |
| { |
| # Enhancements to NetworkService: |
| # - Add support for calling CookieMonster::SetCookieableSchemes. |
| # - Fix cache directory structure ("C:\temp\cache\cache\Cache" should be |
| # "C:\temp\cache\Cache"). |
| # https://bitbucket.org/chromiumembedded/cef/issues/2622 |
| 'name': 'services_network_2622', |
| }, |
| { |
| # Enhancements to NetworkService: |
| # - Remove the non-nullptr WebContents requirement from |
| # NetworkServiceClient::OnAuthRequired. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2718 |
| # |
| # Fix shutdown crash in InitNetworkContext with multi-threaded message loop. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2703 |
| # |
| # Compute correct default quota when cache_path is unspecified. |
| 'name': 'services_network_2718', |
| }, |
| { |
| # Windows: Remove the base::Value is_standard_layout assert which will fail |
| # for the cef_sandbox build, and which is no longer required. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=646113#c173 |
| # https://chromium.googlesource.com/chromium/src/+/2f28731c17 |
| 'name': 'win_base_msvc_sandbox', |
| }, |
| { |
| # Restore WebView::SetResizeBackgroundColor() that was removed. |
| # http://crrev.com/3955c9f9eb |
| 'name': 'set_resize_background_color', |
| }, |
| { |
| # Restore WebUrlLoader Cancel method. |
| # https://chromium-review.googlesource.com/c/chromium/src/+/1617042 |
| 'name': 'web_url_loader_cancel_1617042', |
| }, |
| { |
| # Avoid a shutdown crash with multi-threaded message loop caused by |
| # |g_browser_task_executor->browser_ui_thread_scheduler_| being null when |
| # BrowserTaskExecutor::Shutdown is called via CefContext::FinalizeShutdown. |
| # This crash was introduced by https://crrev.com/5f6212babf. |
| 'name': 'browser_scheduler', |
| }, |
| { |
| # Avoid a shutdown crash caused by PrefWatcher holding a reference to |
| # |g_browser_process->local_state()|, and the local_state being deleted |
| # before the PrefWatcher object (which is associated with a Profile). |
| # PrefWatcher::Shutdown will now be called from ChromeBrowserProcessStub:: |
| # Shutdown for all Profiles before local_state deletion. |
| # This crash was introduced by https://crrev.com/7d032b378c. |
| 'name': 'chrome_pref_watcher', |
| }, |
| { |
| # Add support for OSR rendering with Viz. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2575 |
| 'name': 'viz_osr_2575', |
| }, |
| { |
| # Changes for print preview support: |
| # - Don't attach unnecessary Chrome-related handlers to constrained window. |
| # - Create file dialogs using the CEF code path. |
| # - Remove unsupported print preview UI options. |
| # - macOS: Fix error: no member named 'kCloudPrinterHandler' in namespace |
| # 'printing::features', |
| # https://bitbucket.org/chromiumembedded/cef/issues/123 |
| 'name': 'print_preview_123', |
| }, |
| { |
| # Remove cef_sandbox dependency on boringssl MD5/SHA1 functions. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2743 |
| 'name': 'base_sandbox_2743', |
| }, |
| { |
| # Fix component build error due to ContentServiceManagerMainDelegate not |
| # being exported. |
| # |
| # Fix DiscardableSharedMemoryManager crash on shutdown with multi-threaded |
| # message loop. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2798 |
| 'name': 'content_app_shutdown_2798', |
| }, |
| { |
| # Add RenderWidgetHostImpl::SetCompositorForFlingScheduler to fix fling |
| # scrolling in OSR mode. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2745 |
| 'name': 'osr_fling_2745', |
| }, |
| { |
| # Windows: Build targets as C++17 to avoid export of std::is_integral |
| # templates in cef_sandbox that should be inlined. |
| # https://bitbucket.org/chromiumembedded/cef/issues/2819 |
| 'name': 'win_cpp17_msvc_sandbox_2819', |
| }, |
| { |
| # libxml access is now limited to targets audited by the Security Team. |
| # https://chromium-review.googlesource.com/c/chromium/src/+/1884750 |
| 'name': 'libxml_visibility', |
| }, |
| { |
| # Fix ScreenlockMonitorDeviceSource window creation error. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=1058556 |
| 'name': 'win_screenlock_1058556', |
| }, |
| { |
| # Fix unbound AssociatedRemote error in SetBackgroundOpaque. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=1070713 |
| 'name': 'renderer_host_1070713', |
| }, |
| { |
| # Allow the loading of non-standard non-local WebSafe custom schemes in |
| # iframes. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=1081397#c9 |
| 'name': 'browser_security_policy_1081397', |
| }, |
| { |
| # Linux: Fix undefined symbol: ui::GtkUiDelegate::SetInstance in |
| # ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized. |
| # https://bugs.chromium.org/p/chromium/issues/detail?id=1085806 |
| 'name': 'linux_chrome_views_1085806', |
| } |
| ] |