# 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. # # Support custom VS toolchain on Windows. # https://bugs.chromium.org/p/chromium/issues/detail?id=623342 # # 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', }, { # 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 'name': 'web_contents_1257_1565', }, { # Support custom RenderWidgetHostViewOSR for BrowserPluginGuest. # https://bitbucket.org/chromiumembedded/cef/issues/1565 'name': 'browser_plugin_guest_1565', }, { # 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', }, { # Make URLRequest::set_is_pending() public so that it can be called from # CefRequestInterceptor::MaybeInterceptResponse(). # https://bitbucket.org/chromiumembedded/cef/issues/1327 'name': 'net_urlrequest_1327', }, { # 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', }, { # Fix crash while printing on Windows by properly initializing V8 in the PDF # module. # https://bugs.chromium.org/p/chromium/issues/detail?id=549365#c17 'name': 'pdfium_print_549365', 'path': 'third_party/pdfium/', }, { # Enable support for filtering resource responses. # https://bitbucket.org/chromiumembedded/cef/issues/515 'name': 'net_filter_515', }, { # 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. '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', }, { # Make some methods of ProfileManager virtual. 'name': 'chrome_browser_profiles', }, { # Support direct access to NetExportFileWriter via BrowserProcess instead # of adding a dependency on SystemNetworkContextManager (see # https://crrev.com/6ed14d99e9). # TODO(cef): Consider removing this once we support NetworkService. # # Show the CEF Save As dialog. # https://bitbucket.org/chromiumembedded/cef/issues/2613 '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', }, { # 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', }, { # Support an option to enable/disable net security expiration. # https://bitbucket.org/chromiumembedded/cef/issues/1994 'name': 'net_security_expiration_1994', }, { # 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 RenderFrameObserver::FrameFocused method. # # 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', }, { # Linux: Remove GTK build dependency. # https://bitbucket.org/chromiumembedded/cef/issues/2014 'name': 'linux_gtk_2014', }, { # 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', }, { # Fix redraw of OSR PDF viewer. # https://bitbucket.org/chromiumembedded/cef/issues/2507 # Partially reverts changes from https://crrev.com/17771fad93 'name': 'browser_child_frame_2507', }, { # 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: # - Support customization of request_id via SimpleURLLoader. # - Remove the non-nullptr WebContents requirement from # NetworkServiceClient::OnAuthRequired. # https://bitbucket.org/chromiumembedded/cef/issues/2718 'name': 'services_network_request_id_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': 'base_value_646113', }, { # Restore WebView::SetResizeBackgroundColor() that was removed. # http://crrev.com/3955c9f9eb 'name': 'set_resize_background_color', }, { # Remove requirement that enforces component builds # http://crrev.com/567d828446 'name': 'remove_component_build_check', }, { # 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. # https://bitbucket.org/chromiumembedded/cef/issues/123 'name': 'print_preview_123', } ]