diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 20574e299..1c2f050c1 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,5 +7,5 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/117.0.5938.0' + 'chromium_checkout': 'refs/tags/118.0.5993.0' } diff --git a/include/cef_api_hash.h b/include/cef_api_hash.h index ccc0d98d1..28c5c32f8 100644 --- a/include/cef_api_hash.h +++ b/include/cef_api_hash.h @@ -42,13 +42,13 @@ // way that may cause binary incompatibility with other builds. The universal // hash value will change if any platform is affected whereas the platform hash // values will change only if that particular platform is affected. -#define CEF_API_HASH_UNIVERSAL "89e632adda7aecabf0c25c8c05de63900f9cc695" +#define CEF_API_HASH_UNIVERSAL "8aa786740cdcadf7b4f6dd3554343abae09ffdfd" #if defined(OS_WIN) -#define CEF_API_HASH_PLATFORM "36384f3e3dc2ac64bdad2db177725caebaebf02e" +#define CEF_API_HASH_PLATFORM "f241d73d66f3b7f99aae58a0cc99be36beda4f4f" #elif defined(OS_MAC) -#define CEF_API_HASH_PLATFORM "21d5e3fa7563f5238f813e442ae836c0a97073a3" +#define CEF_API_HASH_PLATFORM "3708f34f956e6306d09989a88ff1dee9c8f7a2b5" #elif defined(OS_LINUX) -#define CEF_API_HASH_PLATFORM "1e0de44d5bf97c07a35c4cf3986d784283e0c454" +#define CEF_API_HASH_PLATFORM "cf413edb4edeb80d7d5c1173e342231b26808fce" #endif #ifdef __cplusplus diff --git a/include/internal/cef_types_content_settings.h b/include/internal/cef_types_content_settings.h index 4f75677f0..573a46a15 100644 --- a/include/internal/cef_types_content_settings.h +++ b/include/internal/cef_types_content_settings.h @@ -41,6 +41,10 @@ extern "C" { /// ContentSettingsType type. /// typedef enum { + // This setting governs whether cookies are enabled by the user in the + /// provided context. However, it may be overridden by other settings. This + /// enum should NOT be read directly to determine whether cookies are enabled; + /// the client should instead rely on the CookieSettings API. CEF_CONTENT_SETTING_TYPE_COOKIES = 0, CEF_CONTENT_SETTING_TYPE_IMAGES, CEF_CONTENT_SETTING_TYPE_JAVASCRIPT, @@ -58,7 +62,12 @@ typedef enum { CEF_CONTENT_SETTING_TYPE_PROTOCOL_HANDLERS, CEF_CONTENT_SETTING_TYPE_DEPRECATED_PPAPI_BROKER, CEF_CONTENT_SETTING_TYPE_AUTOMATIC_DOWNLOADS, + + /// Advanced device-specific functions on MIDI devices. MIDI-SysEx + /// communications can be used for changing the MIDI device's persistent state + /// such as firmware. CEF_CONTENT_SETTING_TYPE_MIDI_SYSEX, + CEF_CONTENT_SETTING_TYPE_SSL_CERT_DECISIONS, CEF_CONTENT_SETTING_TYPE_PROTECTED_MEDIA_IDENTIFIER, CEF_CONTENT_SETTING_TYPE_APP_BANNER, @@ -76,8 +85,9 @@ typedef enum { /// decisions for whether or not to show the UI. CEF_CONTENT_SETTING_TYPE_ADS_DATA, - /// This is special-cased in the permissions layer to always allow, and as - /// such doesn't have associated prefs data. + /// MIDI stands for Musical Instrument Digital Interface. It is a standard + /// that allows electronic musical instruments, computers, and other devices + /// to communicate with each other. CEF_CONTENT_SETTING_TYPE_MIDI, /// This content setting type is for caching password protection service's @@ -132,9 +142,6 @@ typedef enum { /// Used to store whether to allow a website to detect user active/idle state. CEF_CONTENT_SETTING_TYPE_IDLE_DETECTION, - /// Setting for enabling auto-select of all screens for getDisplayMediaSet. - CEF_CONTENT_SETTING_TYPE_GET_DISPLAY_MEDIA_SET_SELECT_ALL_SCREENS, - /// Content settings for access to serial ports. The "guard" content setting /// stores whether to allow sites to ask for permission to access a port. The /// permissions granted to access particular ports are stored in the "chooser @@ -226,10 +233,11 @@ typedef enum { /// screens. See also: https://w3c.github.io/window-placement CEF_CONTENT_SETTING_TYPE_WINDOW_MANAGEMENT, - /// Stores whether to allow insecure websites to make local network requests. - /// See also: https://wicg.github.io/local-network-access + /// Stores whether to allow insecure websites to make private network + /// requests. + /// See also: https://wicg.github.io/cors-rfc1918 /// Set through enterprise policies only. - CEF_CONTENT_SETTING_TYPE_INSECURE_LOCAL_NETWORK, + CEF_CONTENT_SETTING_TYPE_INSECURE_PRIVATE_NETWORK, /// Content setting which stores whether or not a site can access low-level /// locally installed font data using the Local Fonts Access API. @@ -343,12 +351,25 @@ typedef enum { /// Used to indicate whether HTTPS-First Mode is enabled on the hostname. CEF_CONTENT_SETTING_TYPE_HTTPS_ENFORCED, + /// Setting for enabling the `getAllScreensMedia` API. Spec link: + /// https://github.com/screen-share/capture-all-screens + CEF_CONTENT_SETTING_TYPE_ALL_SCREEN_CAPTURE, + /// Stores per origin metadata for cookie controls. CEF_CONTENT_SETTING_TYPE_COOKIE_CONTROLS_METADATA, - /// Setting for supporting 3PCD. + /// Content Setting for 3PC accesses granted via 3PC deprecation trial. CEF_CONTENT_SETTING_TYPE_TPCD_SUPPORT, + /// Content setting used to indicate whether entering picture-in-picture + /// automatically should be enabled. + CEF_CONTENT_SETTING_TYPE_AUTO_PICTURE_IN_PICTURE, + + /// Content Setting for 3PC accesses granted by metadata delivered via the + /// component updater service. This type will only be used when + /// `net::features::kTpcdMetadataGrants` is enabled. + CEF_CONTENT_SETTING_TYPE_TPCD_METADATA_GRANTS, + CEF_CONTENT_SETTING_TYPE_NUM_TYPES, } cef_content_setting_types_t; diff --git a/libcef/browser/alloy/alloy_browser_host_impl.cc b/libcef/browser/alloy/alloy_browser_host_impl.cc index 095d73c45..6f27e5fde 100644 --- a/libcef/browser/alloy/alloy_browser_host_impl.cc +++ b/libcef/browser/alloy/alloy_browser_host_impl.cc @@ -39,7 +39,6 @@ #include "content/public/browser/file_select_listener.h" #include "content/public/browser/host_zoom_map.h" #include "content/public/browser/keyboard_event_processing_result.h" -#include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/navigation_controller.h" #include "content/public/browser/navigation_handle.h" #include "content/public/browser/render_frame_host.h" @@ -47,6 +46,7 @@ #include "content/public/browser/render_view_host.h" #include "content/public/browser/render_widget_host.h" #include "content/public/browser/web_contents.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "content/public/common/url_constants.h" #include "extensions/common/constants.h" #include "extensions/common/extension.h" @@ -1158,7 +1158,7 @@ bool AlloyBrowserHostImpl::HandleKeyboardEvent( content::WebContents* source, const content::NativeWebKeyboardEvent& event) { // Check to see if event should be ignored. - if (event.skip_in_browser) { + if (event.skip_if_unhandled) { return false; } diff --git a/libcef/browser/alloy/alloy_content_browser_client.cc b/libcef/browser/alloy/alloy_content_browser_client.cc index bdaa5e811..f4ec51080 100644 --- a/libcef/browser/alloy/alloy_content_browser_client.cc +++ b/libcef/browser/alloy/alloy_content_browser_client.cc @@ -72,6 +72,7 @@ #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h" #include "chrome/browser/spellchecker/spell_check_host_chrome_impl.h" #include "chrome/browser/ui/chrome_select_file_policy.h" +#include "chrome/browser/ui/pdf/chrome_pdf_document_helper_client.h" #include "chrome/common/chrome_content_client.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" @@ -87,9 +88,9 @@ #include "components/embedder_support/switches.h" #include "components/embedder_support/user_agent_utils.h" #include "components/media_device_salt/media_device_salt_service.h" +#include "components/pdf/browser/pdf_document_helper.h" #include "components/pdf/browser/pdf_navigation_throttle.h" #include "components/pdf/browser/pdf_url_loader_request_interceptor.h" -#include "components/pdf/browser/pdf_web_contents_helper.h" #include "components/pdf/common/internal_plugin_helpers.h" #include "components/policy/core/common/policy_pref_names.h" #include "components/spellcheck/common/spellcheck.mojom.h" @@ -868,8 +869,9 @@ void AlloyContentBrowserClient:: associated_registry.AddInterface(base::BindRepeating( [](content::RenderFrameHost* render_frame_host, mojo::PendingAssociatedReceiver receiver) { - pdf::PDFWebContentsHelper::BindPdfService(std::move(receiver), - render_frame_host); + pdf::PDFDocumentHelper::BindPdfService( + std::move(receiver), render_frame_host, + std::make_unique()); }, &render_frame_host)); } diff --git a/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.cc b/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.cc index c90b784ce..8cf8b81d4 100644 --- a/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.cc +++ b/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.cc @@ -43,7 +43,7 @@ AlloyWebContentsDialogHelper::GetWebContentsModalDialogHost() { } gfx::NativeView AlloyWebContentsDialogHelper::GetHostView() const { - // Windowless rendering uses GetHostWidget() instead. + // Windowless rendering uses GetAcceleratedWidget() instead. if (browser_delegate_->IsWindowless()) { return gfx::NativeView(); } @@ -55,7 +55,8 @@ gfx::NativeView AlloyWebContentsDialogHelper::GetHostView() const { return gfx::NativeView(); } -gfx::AcceleratedWidget AlloyWebContentsDialogHelper::GetHostWidget() const { +gfx::AcceleratedWidget AlloyWebContentsDialogHelper::GetAcceleratedWidget() + const { #if defined(USE_AURA) // Windowed rendering uses GetHostView() instead. if (!browser_delegate_->IsWindowless()) { diff --git a/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.h b/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.h index e5630501b..0f3ec921c 100644 --- a/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.h +++ b/libcef/browser/alloy/dialogs/alloy_web_contents_dialog_helper.h @@ -31,7 +31,7 @@ class AlloyWebContentsDialogHelper // web_modal::WebContentsModalDialogHost methods: gfx::NativeView GetHostView() const override; - gfx::AcceleratedWidget GetHostWidget() const override; + gfx::AcceleratedWidget GetAcceleratedWidget() const override; gfx::Point GetDialogPosition(const gfx::Size& size) override; gfx::Size GetMaximumDialogSize() override; void AddObserver(web_modal::ModalDialogHostObserver* observer) override; diff --git a/libcef/browser/browser_contents_delegate.cc b/libcef/browser/browser_contents_delegate.cc index a6fc972da..ac191edf7 100644 --- a/libcef/browser/browser_contents_delegate.cc +++ b/libcef/browser/browser_contents_delegate.cc @@ -13,7 +13,6 @@ #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/public/browser/focused_node_details.h" #include "content/public/browser/keyboard_event_processing_result.h" -#include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/navigation_entry.h" #include "content/public/browser/navigation_handle.h" #include "content/public/browser/notification_details.h" @@ -23,6 +22,7 @@ #include "content/public/browser/render_widget_host.h" #include "content/public/browser/render_widget_host_observer.h" #include "content/public/browser/render_widget_host_view.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "third_party/blink/public/mojom/favicon/favicon_url.mojom.h" #include "third_party/blink/public/mojom/input/focus_type.mojom-blink.h" #include "third_party/blink/public/mojom/widget/platform_widget.mojom-test-utils.h" @@ -278,7 +278,7 @@ bool CefBrowserContentsDelegate::HandleKeyboardEvent( content::WebContents* source, const content::NativeWebKeyboardEvent& event) { // Check to see if event should be ignored. - if (event.skip_in_browser) { + if (event.skip_if_unhandled) { return false; } diff --git a/libcef/browser/browser_message_loop.cc b/libcef/browser/browser_message_loop.cc index e936747c4..31d4b4a12 100644 --- a/libcef/browser/browser_message_loop.cc +++ b/libcef/browser/browser_message_loop.cc @@ -10,8 +10,8 @@ #include "base/message_loop/message_pump_for_ui.h" #if BUILDFLAG(IS_MAC) -#include "base/mac/scoped_nsautorelease_pool.h" -#include "base/message_loop/message_pump_mac.h" +#include "base/apple/scoped_nsautorelease_pool.h" +#include "base/message_loop/message_pump_apple.h" #endif #include "content/public/browser/browser_thread.h" @@ -30,7 +30,7 @@ class MessagePumpExternal : public base::MessagePumpForUI { base::TimeTicks start = base::TimeTicks::Now(); while (true) { #if BUILDFLAG(IS_MAC) - base::mac::ScopedNSAutoreleasePool autorelease_pool; + base::apple::ScopedNSAutoreleasePool autorelease_pool; #endif base::TimeTicks next_run_time; // is_null() @@ -115,7 +115,7 @@ std::unique_ptr MessagePumpFactoryForUI() { } #if BUILDFLAG(IS_MAC) - return base::message_pump_mac::Create(); + return base::message_pump_apple::Create(); #else return std::make_unique(); #endif diff --git a/libcef/browser/browser_util.cc b/libcef/browser/browser_util.cc index e7bddaf65..adad37016 100644 --- a/libcef/browser/browser_util.cc +++ b/libcef/browser/browser_util.cc @@ -4,7 +4,7 @@ #include "libcef/browser/browser_util.h" -#include "content/public/browser/native_web_keyboard_event.h" +#include "content/public/common/input/native_web_keyboard_event.h" namespace browser_util { diff --git a/libcef/browser/chrome/chrome_browser_delegate.cc b/libcef/browser/chrome/chrome_browser_delegate.cc index b94774ca0..dcf4402dc 100644 --- a/libcef/browser/chrome/chrome_browser_delegate.cc +++ b/libcef/browser/chrome/chrome_browser_delegate.cc @@ -23,7 +23,7 @@ #include "chrome/browser/ui/browser_tabstrip.h" #include "content/public/browser/global_routing_id.h" #include "content/public/browser/keyboard_event_processing_result.h" -#include "content/public/browser/native_web_keyboard_event.h" +#include "content/public/common/input/native_web_keyboard_event.h" using content::KeyboardEventProcessingResult; diff --git a/libcef/browser/extensions/extension_system.cc b/libcef/browser/extensions/extension_system.cc index e168ce90e..5c1597359 100644 --- a/libcef/browser/extensions/extension_system.cc +++ b/libcef/browser/extensions/extension_system.cc @@ -36,7 +36,6 @@ #include "extensions/browser/api/app_runtime/app_runtime_api.h" #include "extensions/browser/extension_prefs.h" #include "extensions/browser/extension_registry.h" -#include "extensions/browser/notification_types.h" #include "extensions/browser/null_app_sorting.h" #include "extensions/browser/quota_service.h" #include "extensions/browser/renderer_startup_helper.h" diff --git a/libcef/browser/extensions/extension_system_factory.cc b/libcef/browser/extensions/extension_system_factory.cc index ed8d9f120..2b82a4cbe 100644 --- a/libcef/browser/extensions/extension_system_factory.cc +++ b/libcef/browser/extensions/extension_system_factory.cc @@ -37,9 +37,10 @@ CefExtensionSystemFactory::CefExtensionSystemFactory() CefExtensionSystemFactory::~CefExtensionSystemFactory() {} -KeyedService* CefExtensionSystemFactory::BuildServiceInstanceFor( +std::unique_ptr +CefExtensionSystemFactory::BuildServiceInstanceForBrowserContext( BrowserContext* context) const { - return new CefExtensionSystem(context); + return std::make_unique(context); } BrowserContext* CefExtensionSystemFactory::GetBrowserContextToUse( diff --git a/libcef/browser/extensions/extension_system_factory.h b/libcef/browser/extensions/extension_system_factory.h index 004ee93e1..605a17b5f 100644 --- a/libcef/browser/extensions/extension_system_factory.h +++ b/libcef/browser/extensions/extension_system_factory.h @@ -30,7 +30,7 @@ class CefExtensionSystemFactory : public ExtensionSystemProvider { ~CefExtensionSystemFactory() override; // BrowserContextKeyedServiceFactory implementation: - KeyedService* BuildServiceInstanceFor( + std::unique_ptr BuildServiceInstanceForBrowserContext( content::BrowserContext* context) const override; content::BrowserContext* GetBrowserContextToUse( content::BrowserContext* context) const override; diff --git a/libcef/browser/extensions/extensions_api_client.cc b/libcef/browser/extensions/extensions_api_client.cc index e393676db..5d39a213c 100644 --- a/libcef/browser/extensions/extensions_api_client.cc +++ b/libcef/browser/extensions/extensions_api_client.cc @@ -14,9 +14,7 @@ #include "base/memory/ptr_util.h" #include "chrome/browser/printing/print_view_manager.h" -#include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h" #include "chrome/browser/ui/prefs/prefs_tab_helper.h" -#include "components/pdf/browser/pdf_web_contents_helper.h" #include "components/zoom/zoom_controller.h" #include "extensions/browser/guest_view/extensions_guest_view_manager_delegate.h" #include "printing/mojom/print.mojom.h" @@ -51,11 +49,6 @@ void CefExtensionsAPIClient::AttachWebContentsHelpers( PrefsTabHelper::CreateForWebContents(web_contents); printing::PrintViewManager::CreateForWebContents(web_contents); - // Used by the PDF extension. - pdf::PDFWebContentsHelper::CreateForWebContentsWithClient( - web_contents, std::unique_ptr( - new ChromePDFWebContentsHelperClient())); - // Used by the tabs extension API. zoom::ZoomController::CreateForWebContents(web_contents); } diff --git a/libcef/browser/extensions/extensions_browser_client.cc b/libcef/browser/extensions/extensions_browser_client.cc index 6355b0ffb..f99d711f7 100644 --- a/libcef/browser/extensions/extensions_browser_client.cc +++ b/libcef/browser/extensions/extensions_browser_client.cc @@ -118,8 +118,8 @@ bool CefExtensionsBrowserClient::AreExtensionsDisabled( return false; } -bool CefExtensionsBrowserClient::IsValidContext(BrowserContext* context) { - return GetOriginalContext(context) != nullptr; +bool CefExtensionsBrowserClient::IsValidContext(void* context) { + return GetOriginalContext(static_cast(context)) != nullptr; } bool CefExtensionsBrowserClient::IsSameContext(BrowserContext* first, diff --git a/libcef/browser/extensions/extensions_browser_client.h b/libcef/browser/extensions/extensions_browser_client.h index f84a02464..0168c60c6 100644 --- a/libcef/browser/extensions/extensions_browser_client.h +++ b/libcef/browser/extensions/extensions_browser_client.h @@ -31,7 +31,7 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient { bool IsShuttingDown() override; bool AreExtensionsDisabled(const base::CommandLine& command_line, content::BrowserContext* context) override; - bool IsValidContext(content::BrowserContext* context) override; + bool IsValidContext(void* context) override; bool IsSameContext(content::BrowserContext* first, content::BrowserContext* second) override; bool HasOffTheRecordContext(content::BrowserContext* context) override; diff --git a/libcef/browser/native/browser_platform_delegate_native_linux.cc b/libcef/browser/native/browser_platform_delegate_native_linux.cc index 1971cfc61..70b148bea 100644 --- a/libcef/browser/native/browser_platform_delegate_native_linux.cc +++ b/libcef/browser/native/browser_platform_delegate_native_linux.cc @@ -11,8 +11,8 @@ #include "base/no_destructor.h" #include "content/browser/renderer_host/render_widget_host_impl.h" -#include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/render_view_host.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "third_party/blink/public/mojom/renderer_preferences.mojom.h" #include "ui/events/keycodes/dom/dom_key.h" #include "ui/events/keycodes/dom/keycode_converter.h" diff --git a/libcef/browser/native/browser_platform_delegate_native_mac.mm b/libcef/browser/native/browser_platform_delegate_native_mac.mm index b8167d4fb..6c9a22809 100644 --- a/libcef/browser/native/browser_platform_delegate_native_mac.mm +++ b/libcef/browser/native/browser_platform_delegate_native_mac.mm @@ -15,13 +15,13 @@ #include "libcef/browser/thread_util.h" #include "base/apple/owned_objc.h" -#include "base/mac/scoped_nsautorelease_pool.h" +#include "base/apple/scoped_nsautorelease_pool.h" #include "base/memory/ptr_util.h" #include "base/threading/thread_restrictions.h" #include "content/browser/renderer_host/render_widget_host_view_mac.h" -#include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/web_contents.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "third_party/blink/public/common/input/web_input_event.h" #include "third_party/blink/public/common/input/web_mouse_event.h" #include "third_party/blink/public/common/input/web_mouse_wheel_event.h" @@ -254,7 +254,7 @@ void CefBrowserPlatformDelegateNativeMac::BrowserDestroyed( } bool CefBrowserPlatformDelegateNativeMac::CreateHostWindow() { - base::mac::ScopedNSAutoreleasePool autorelease_pool; + base::apple::ScopedNSAutoreleasePool autorelease_pool; NSWindow* new_window = nil; diff --git a/libcef/browser/native/browser_platform_delegate_native_win.cc b/libcef/browser/native/browser_platform_delegate_native_win.cc index d1335d265..705ddb9fc 100644 --- a/libcef/browser/native/browser_platform_delegate_native_win.cc +++ b/libcef/browser/native/browser_platform_delegate_native_win.cc @@ -19,7 +19,7 @@ #include "base/path_service.h" #include "base/strings/utf_string_conversions.h" #include "base/win/win_util.h" -#include "content/public/browser/native_web_keyboard_event.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "third_party/blink/public/common/input/web_mouse_event.h" #include "third_party/blink/public/common/input/web_mouse_wheel_event.h" #include "ui/aura/window.h" diff --git a/libcef/browser/net_service/cookie_helper.cc b/libcef/browser/net_service/cookie_helper.cc index b0f753653..ba7e8e68a 100644 --- a/libcef/browser/net_service/cookie_helper.cc +++ b/libcef/browser/net_service/cookie_helper.cc @@ -292,7 +292,7 @@ void SaveCookies(const CefBrowserContext::Getter& browser_context_getter, std::unique_ptr cookie = net::CanonicalCookie::Create( request.url, cookie_string, base::Time::Now(), absl::make_optional(response_date), /*partition_key=*/absl::nullopt, - &returned_status); + /*block_truncated_cookies=*/true, &returned_status); if (!returned_status.IsInclude()) { continue; } @@ -318,4 +318,4 @@ void SaveCookies(const CefBrowserContext::Getter& browser_context_getter, } } // namespace cookie_helper -} // namespace net_service \ No newline at end of file +} // namespace net_service diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index e70b9ba28..a5de89c46 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -588,6 +588,17 @@ void CefRenderWidgetHostViewOSR::AddDamageRect(uint32_t sequence, damage_rects_[sequence] = rect; } +void CefRenderWidgetHostViewOSR::InvalidateLocalSurfaceIdAndAllocationGroup() { + InvalidateLocalSurfaceId(); +} + +void CefRenderWidgetHostViewOSR::ClearFallbackSurfaceForCommitPending() { + if (delegated_frame_host_) { + delegated_frame_host_->ClearFallbackSurfaceForCommitPending(); + } + InvalidateLocalSurfaceId(); +} + void CefRenderWidgetHostViewOSR::ResetFallbackToFirstNavigationSurface() { if (delegated_frame_host_) { delegated_frame_host_->ResetFallbackToFirstNavigationSurface(); diff --git a/libcef/browser/osr/render_widget_host_view_osr.h b/libcef/browser/osr/render_widget_host_view_osr.h index 3f9f1000e..f8eca4c69 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.h +++ b/libcef/browser/osr/render_widget_host_view_osr.h @@ -154,6 +154,8 @@ class CefRenderWidgetHostViewOSR #endif // BUILDFLAG(IS_MAC) // RenderWidgetHostViewBase implementation. + void InvalidateLocalSurfaceIdAndAllocationGroup() override; + void ClearFallbackSurfaceForCommitPending() override; void ResetFallbackToFirstNavigationSurface() override; void InitAsPopup(content::RenderWidgetHostView* parent_host_view, const gfx::Rect& bounds, diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index 0b03a9f08..19a286feb 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -40,6 +40,7 @@ #include "components/component_updater/component_updater_service.h" #include "components/content_settings/core/browser/cookie_settings.h" #include "components/content_settings/core/browser/host_content_settings_map.h" +#include "components/content_settings/core/common/pref_names.h" #include "components/domain_reliability/domain_reliability_prefs.h" #include "components/flags_ui/pref_service_flags_storage.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" @@ -297,7 +298,6 @@ std::unique_ptr CreatePrefService(Profile* profile, !extensions::PrintPreviewEnabled()); registry->RegisterStringPref( prefs::kPrintPreviewDefaultDestinationSelectionRules, std::string()); - registry->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, false); registry->RegisterBooleanPref(prefs::kEnableMediaRouter, true); printing::PolicySettings::RegisterProfilePrefs(registry.get()); printing::PrintPreviewStickySettings::RegisterProfilePrefs(registry.get()); @@ -319,6 +319,7 @@ std::unique_ptr CreatePrefService(Profile* profile, // Based on browser_prefs::RegisterProfilePrefs. registry->RegisterBooleanPref(prefs::kAccessibilityPdfOcrAlwaysActive, false); + registry->RegisterBooleanPref(prefs::kBlockTruncatedCookies, true); // Spell checking preferences. // Modify defaults from SpellcheckServiceFactory::RegisterProfilePrefs. diff --git a/libcef/browser/prefs/renderer_prefs.cc b/libcef/browser/prefs/renderer_prefs.cc index 314394507..e5ca9cc56 100644 --- a/libcef/browser/prefs/renderer_prefs.cc +++ b/libcef/browser/prefs/renderer_prefs.cc @@ -103,7 +103,7 @@ void SetChromePrefs(Profile* profile, blink::web_pref::WebPreferences& web) { web.allow_running_insecure_content = prefs->GetBoolean(prefs::kWebKitAllowRunningInsecureContent); - web.password_echo_enabled = browser_defaults::kPasswordEchoEnabled; + web.password_echo_enabled = false; web.text_areas_are_resizable = prefs->GetBoolean(prefs::kWebKitTextAreasAreResizable); diff --git a/libcef/browser/printing/print_dialog_linux.cc b/libcef/browser/printing/print_dialog_linux.cc index 262391db6..3bf12e699 100644 --- a/libcef/browser/printing/print_dialog_linux.cc +++ b/libcef/browser/printing/print_dialog_linux.cc @@ -229,6 +229,14 @@ void CefPrintDialogLinux::UpdateSettings( UpdateSettings(std::move(settings), false); } +#if BUILDFLAG(ENABLE_OOP_PRINTING_NO_OOP_BASIC_PRINT_DIALOG) +void CefPrintDialogLinux::LoadPrintSettings( + const printing::PrintSettings& settings) { + // TODO(linux): Need to read data from |settings.system_print_dialog_data()|? + UseDefaultSettings(); +} +#endif + void CefPrintDialogLinux::ShowDialog( gfx::NativeView parent_view, bool has_selection, diff --git a/libcef/browser/printing/print_dialog_linux.h b/libcef/browser/printing/print_dialog_linux.h index dd7be26e8..5cf71edc3 100644 --- a/libcef/browser/printing/print_dialog_linux.h +++ b/libcef/browser/printing/print_dialog_linux.h @@ -13,6 +13,7 @@ #include "base/memory/ref_counted.h" #include "base/task/sequenced_task_runner_helpers.h" #include "content/public/browser/browser_thread.h" +#include "printing/buildflags/buildflags.h" #include "printing/print_dialog_linux_interface.h" #include "ui/linux/linux_ui.h" @@ -56,6 +57,9 @@ class CefPrintDialogLinux : public printing::PrintDialogLinuxInterface, void UseDefaultSettings() override; void UpdateSettings( std::unique_ptr settings) override; +#if BUILDFLAG(ENABLE_OOP_PRINTING_NO_OOP_BASIC_PRINT_DIALOG) + void LoadPrintSettings(const printing::PrintSettings& settings) override; +#endif void ShowDialog( gfx::NativeView parent_view, bool has_selection, diff --git a/libcef/browser/views/browser_view_impl.cc b/libcef/browser/views/browser_view_impl.cc index 847bb77a2..d90a14cfe 100644 --- a/libcef/browser/views/browser_view_impl.cc +++ b/libcef/browser/views/browser_view_impl.cc @@ -12,7 +12,7 @@ #include "libcef/browser/thread_util.h" #include "libcef/browser/views/window_impl.h" -#include "content/public/browser/native_web_keyboard_event.h" +#include "content/public/common/input/native_web_keyboard_event.h" #include "third_party/abseil-cpp/absl/types/optional.h" #include "ui/content_accelerators/accelerator_util.h" diff --git a/libcef/browser/views/ns_window.mm b/libcef/browser/views/ns_window.mm index b7d42ba0f..5327db157 100644 --- a/libcef/browser/views/ns_window.mm +++ b/libcef/browser/views/ns_window.mm @@ -33,13 +33,14 @@ if (!in_full_screen_) { bool override_titlebar_height = false; float titlebar_height = 0; - auto* window = base::mac::ObjCCast([self window]); + auto* window = base::apple::ObjCCast([self window]); if (auto* bridge = [window bridge]) { bridge->host()->GetWindowFrameTitlebarHeight(&override_titlebar_height, &titlebar_height); - if (override_titlebar_height) + if (override_titlebar_height) { return titlebar_height; + } } } @@ -47,7 +48,7 @@ } - (BOOL)_shouldCenterTrafficLights { - auto* window = base::mac::ObjCCast([self window]); + auto* window = base::apple::ObjCCast([self window]); return [window shouldCenterTrafficLights]; } diff --git a/libcef/common/crash_reporting.cc b/libcef/common/crash_reporting.cc index 61310ef54..927505804 100644 --- a/libcef/common/crash_reporting.cc +++ b/libcef/common/crash_reporting.cc @@ -21,7 +21,7 @@ #include "content/public/common/content_switches.h" #if BUILDFLAG(IS_MAC) -#include "base/mac/foundation_util.h" +#include "base/apple/foundation_util.h" #include "components/crash/core/common/crash_keys.h" #include "content/public/common/content_paths.h" #endif @@ -103,18 +103,18 @@ void InitCrashReporter(const base::CommandLine& command_line, // framework dylib is even loaded, to catch potential early crashes. crash_reporter::InitializeCrashpad(process_type.empty(), process_type); - if (base::mac::AmIBundled()) { + if (base::apple::AmIBundled()) { // Mac Chrome is packaged with a main app bundle and a helper app bundle. // The main app bundle should only be used for the browser process, so it // should never see a --type switch (switches::kProcessType). Likewise, // the helper should always have a --type switch. // // This check is done this late so there is already a call to - // base::mac::IsBackgroundOnlyProcess(), so there is no change in + // base::apple::IsBackgroundOnlyProcess(), so there is no change in // startup/initialization order. // The helper's Info.plist marks it as a background only app. - if (base::mac::IsBackgroundOnlyProcess()) { + if (base::apple::IsBackgroundOnlyProcess()) { CHECK(command_line.HasSwitch(switches::kProcessType) && !process_type.empty()) << "Helper application requires --type."; diff --git a/libcef/common/resource_util.cc b/libcef/common/resource_util.cc index c525ec336..b0bf7fa95 100644 --- a/libcef/common/resource_util.cc +++ b/libcef/common/resource_util.cc @@ -22,7 +22,7 @@ #include "ui/base/layout.h" #if BUILDFLAG(IS_MAC) -#include "base/mac/foundation_util.h" +#include "base/apple/foundation_util.h" #include "libcef/common/util_mac.h" #endif @@ -166,7 +166,7 @@ base::FilePath GetResourcesDir() { // of the running executable. base::FilePath GetDefaultLogFilePath() { std::string exe_name = util_mac::GetMainProcessPath().BaseName().value(); - return base::mac::GetUserLibraryPath() + return base::apple::GetUserLibraryPath() .Append(FILE_PATH_LITERAL("Logs")) .Append(FILE_PATH_LITERAL(exe_name + "_debug.log")); } diff --git a/libcef/common/util_mac.mm b/libcef/common/util_mac.mm index 6d328cb25..d6c8d1d35 100644 --- a/libcef/common/util_mac.mm +++ b/libcef/common/util_mac.mm @@ -7,10 +7,10 @@ #include "libcef/common/cef_switches.h" #include "base/apple/bundle_locations.h" +#include "base/apple/foundation_util.h" #include "base/base_paths.h" #include "base/command_line.h" #include "base/logging.h" -#include "base/mac/foundation_util.h" #include "base/path_service.h" #include "base/strings/sys_string_conversions.h" #include "content/public/common/content_paths.h" @@ -49,7 +49,7 @@ void OverrideBaseBundleID() { std::string bundle_id = GetMainBundleID(); DCHECK(!bundle_id.empty()); - base::mac::SetBaseBundleID(bundle_id.c_str()); + base::apple::SetBaseBundleID(bundle_id.c_str()); } base::FilePath GetNormalChildProcessPath() { @@ -84,7 +84,7 @@ void OverrideChildProcessPath() { } // namespace bool GetLocalLibraryDirectory(base::FilePath* result) { - return base::mac::GetLocalDirectory(NSLibraryDirectory, result); + return base::apple::GetLocalDirectory(NSLibraryDirectory, result); } base::FilePath::StringType GetFrameworkName() { @@ -132,7 +132,7 @@ base::FilePath GetMainBundlePath() { return main_bundle_path; } - return base::mac::GetAppBundlePath(GetMainProcessPath()); + return base::apple::GetAppBundlePath(GetMainProcessPath()); } std::string GetMainBundleID() { diff --git a/libcef/renderer/alloy/alloy_content_renderer_client.cc b/libcef/renderer/alloy/alloy_content_renderer_client.cc index b6d306a05..30ba04c93 100644 --- a/libcef/renderer/alloy/alloy_content_renderer_client.cc +++ b/libcef/renderer/alloy/alloy_content_renderer_client.cc @@ -216,9 +216,9 @@ void AlloyContentRendererClient::RenderThreadStarted() { #if BUILDFLAG(IS_MAC) { - base::ScopedCFTypeRef key( + base::apple::ScopedCFTypeRef key( base::SysUTF8ToCFStringRef("NSScrollViewRubberbanding")); - base::ScopedCFTypeRef value; + base::apple::ScopedCFTypeRef value; // If the command-line switch is specified then set the value that will be // checked in RenderThreadImpl::Init(). Otherwise, remove the application- diff --git a/patch/patches/base_sandbox_2743.patch b/patch/patches/base_sandbox_2743.patch index f4bc3b42b..d30aaa441 100644 --- a/patch/patches/base_sandbox_2743.patch +++ b/patch/patches/base_sandbox_2743.patch @@ -1,5 +1,5 @@ diff --git base/BUILD.gn base/BUILD.gn -index 6e6f24e479cce..2e1632ce35865 100644 +index 82cb596dcbb36..16c057933e1f8 100644 --- base/BUILD.gn +++ base/BUILD.gn @@ -40,6 +40,7 @@ import("//build/config/ui.gni") @@ -10,7 +10,7 @@ index 6e6f24e479cce..2e1632ce35865 100644 import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") -@@ -1500,7 +1501,11 @@ component("base") { +@@ -1502,7 +1503,11 @@ component("base") { "hash/md5_constexpr_internal.h", "hash/sha1.h", ] @@ -23,7 +23,7 @@ index 6e6f24e479cce..2e1632ce35865 100644 sources += [ "hash/md5_nacl.cc", "hash/md5_nacl.h", -@@ -1907,6 +1912,12 @@ component("base") { +@@ -1911,6 +1916,12 @@ component("base") { defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ] } diff --git a/patch/patches/base_sandbox_3519.patch b/patch/patches/base_sandbox_3519.patch index 3d4bb243c..cfe073af8 100644 --- a/patch/patches/base_sandbox_3519.patch +++ b/patch/patches/base_sandbox_3519.patch @@ -33,10 +33,10 @@ index 641bbaf2c7576..afdd641e38452 100644 // Generic container overload. template diff --git base/win/registry.cc base/win/registry.cc -index 9e67b3596356e..0ba2136d91e36 100644 +index c33cda7211238..063be1886c544 100644 --- base/win/registry.cc +++ base/win/registry.cc -@@ -13,6 +13,14 @@ +@@ -14,6 +14,14 @@ #include #include diff --git a/patch/patches/base_test_4396276.patch b/patch/patches/base_test_4396276.patch index b6f9c3f81..42dc3c6c3 100644 --- a/patch/patches/base_test_4396276.patch +++ b/patch/patches/base_test_4396276.patch @@ -1,8 +1,8 @@ diff --git base/test/BUILD.gn base/test/BUILD.gn -index e89151a223001..d268f2efcfab4 100644 +index c6add87d77744..80d34d031e14b 100644 --- base/test/BUILD.gn +++ base/test/BUILD.gn -@@ -181,11 +181,6 @@ static_library("test_support") { +@@ -185,11 +185,6 @@ static_library("test_support") { if (enable_base_tracing) { public_deps += [ "//third_party/perfetto:perfetto_test_support" ] @@ -11,10 +11,10 @@ index e89151a223001..d268f2efcfab4 100644 - "test_trace_processor.cc", - "test_trace_processor.h", - ] + deps += [ ":gen_cc_chrome_track_event_descriptor" ] if (is_ios) { deps += [ - ":test_trace_processor+bundle", -@@ -524,7 +519,7 @@ if (enable_base_tracing) { +@@ -534,7 +529,7 @@ if (enable_base_tracing) { # processor depends on dev_sqlite. The two share the same symbols but have # different implementations, so we need to hide dev_sqlite in this shared # library even in non-component builds to prevent duplicate symbols. @@ -23,7 +23,7 @@ index e89151a223001..d268f2efcfab4 100644 if (is_ios) { _target_type = "ios_framework_bundle" } -@@ -533,6 +528,8 @@ if (enable_base_tracing) { +@@ -543,6 +538,8 @@ if (enable_base_tracing) { defines = [ "TEST_TRACE_PROCESSOR_IMPL" ] testonly = true sources = [ @@ -32,7 +32,7 @@ index e89151a223001..d268f2efcfab4 100644 "test_trace_processor_export.h", "test_trace_processor_impl.cc", "test_trace_processor_impl.h", -@@ -550,33 +547,6 @@ if (enable_base_tracing) { +@@ -560,33 +557,6 @@ if (enable_base_tracing) { output_name = "TestTraceProcessor" bundle_deps_filter = [ "//third_party/icu:icudata" ] } @@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644 + #endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_ diff --git content/shell/BUILD.gn content/shell/BUILD.gn -index 903bbb1a8b5ab..d8169dafa81c4 100644 +index f770bd917f92f..0607e2eedaaca 100644 --- content/shell/BUILD.gn +++ content/shell/BUILD.gn -@@ -838,7 +838,6 @@ if (is_mac) { +@@ -841,7 +841,6 @@ if (is_mac) { # Specify a sensible install_name for static builds. The library is # dlopen()ed so this is not used to resolve the module. ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ] diff --git a/patch/patches/browser_security_policy_1081397.patch b/patch/patches/browser_security_policy_1081397.patch index 7e1353eb3..8ed3b68cf 100644 --- a/patch/patches/browser_security_policy_1081397.patch +++ b/patch/patches/browser_security_policy_1081397.patch @@ -20,10 +20,10 @@ index ccc2e7da62b79..f3b31e1196988 100644 // Make an exception to allow most visited tiles to commit in diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc -index da87a4f823d6f..d244a7c11537e 100644 +index e91fb6b203b55..fdf1de970fe18 100644 --- content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc -@@ -7325,10 +7325,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( +@@ -7414,10 +7414,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( bool use_opaque_origin = (sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) == network::mojom::WebSandboxFlags::kOrigin; @@ -47,7 +47,7 @@ index da87a4f823d6f..d244a7c11537e 100644 } return origin_and_debug_info; -@@ -7434,6 +7446,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { +@@ -7523,6 +7535,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { DetermineInitiatorRelationship(initiator_rfh, frame_tree_node_->current_frame_host())); diff --git a/patch/patches/build.patch b/patch/patches/build.patch index 7e4ef7783..74e31c285 100644 --- a/patch/patches/build.patch +++ b/patch/patches/build.patch @@ -1,8 +1,8 @@ diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn -index 46a1fcea63c6f..2dec894abe729 100644 +index 06812fb9c2188..3daa061efcd8f 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn -@@ -2062,8 +2062,6 @@ config("thin_archive") { +@@ -2080,8 +2080,6 @@ config("thin_archive") { # confuses lldb. if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) { arflags = [ "-T" ] diff --git a/patch/patches/chrome_browser.patch b/patch/patches/chrome_browser.patch index 09ddf1b58..cf4405135 100644 --- a/patch/patches/chrome_browser.patch +++ b/patch/patches/chrome_browser.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn -index d2207552c449f..1acd7fda6147d 100644 +index 1a9bff4a3efb7..883534be3c975 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn @@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") @@ -10,7 +10,7 @@ index d2207552c449f..1acd7fda6147d 100644 import("//chrome/browser/buildflags.gni") import("//chrome/browser/downgrade/buildflags.gni") import("//chrome/common/features.gni") -@@ -1978,6 +1979,7 @@ static_library("browser") { +@@ -2001,6 +2002,7 @@ static_library("browser") { "//build/config/chromebox_for_meetings:buildflags", "//build/config/compiler:compiler_buildflags", "//cc", @@ -18,7 +18,7 @@ index d2207552c449f..1acd7fda6147d 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -2595,6 +2597,10 @@ static_library("browser") { +@@ -2630,6 +2632,10 @@ static_library("browser") { ] } diff --git a/patch/patches/chrome_browser_background_mode_1100085.patch b/patch/patches/chrome_browser_background_mode_1100085.patch index eeaba6064..f9e4b6745 100644 --- a/patch/patches/chrome_browser_background_mode_1100085.patch +++ b/patch/patches/chrome_browser_background_mode_1100085.patch @@ -14,10 +14,10 @@ index 25a82353eace8..bf3c1cc675688 100644 std::unique_ptr manager) = 0; #endif diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc -index 9e6860e20ed98..130e74f099c83 100644 +index 080614c2c660d..8a01a0cf10dfa 100644 --- chrome/browser/browser_process_impl.cc +++ chrome/browser/browser_process_impl.cc -@@ -1054,18 +1054,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { +@@ -1053,18 +1053,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { return download_request_limiter_.get(); } @@ -38,7 +38,7 @@ index 9e6860e20ed98..130e74f099c83 100644 std::unique_ptr manager) { background_mode_manager_ = std::move(manager); diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h -index 43d7af86dbd67..cf7bcafbaa129 100644 +index 7cc361a82a623..041225f160f89 100644 --- chrome/browser/browser_process_impl.h +++ chrome/browser/browser_process_impl.h @@ -185,8 +185,8 @@ class BrowserProcessImpl : public BrowserProcess, diff --git a/patch/patches/chrome_browser_browser.patch b/patch/patches/chrome_browser_browser.patch index 6b7a4b214..0600d2cdf 100644 --- a/patch/patches/chrome_browser_browser.patch +++ b/patch/patches/chrome_browser_browser.patch @@ -13,7 +13,7 @@ index 2480282a19d12..dbd1fbf8a15b5 100644 return false; } diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn -index cc4fbda7ddfa8..c7278ef3d7ff7 100644 +index a521886e9eb44..4ba68bf125c94 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn @@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni") @@ -24,7 +24,7 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") import("//chromeos/ash/components/assistant/assistant.gni") -@@ -380,6 +381,10 @@ static_library("ui") { +@@ -382,6 +383,10 @@ static_library("ui") { "//build/config/compiler:wexit_time_destructors", ] @@ -35,7 +35,7 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 # Since browser and browser_ui actually depend on each other, # we must omit the dependency from browser_ui to browser. # However, this means browser_ui and browser should more or less -@@ -404,6 +409,7 @@ static_library("ui") { +@@ -407,6 +412,7 @@ static_library("ui") { "//build:chromeos_buildflags", "//build/config/chromebox_for_meetings:buildflags", "//cc/paint", @@ -43,7 +43,7 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 "//chrome:resources", "//chrome:strings", "//chrome/app:chrome_dll_resources", -@@ -2683,6 +2689,8 @@ static_library("ui") { +@@ -2710,6 +2716,8 @@ static_library("ui") { "views/apps/app_dialog/app_block_dialog_view.h", "views/apps/app_dialog/app_pause_dialog_view.cc", "views/apps/app_dialog/app_pause_dialog_view.h", @@ -52,7 +52,7 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 "views/apps/app_info_dialog/arc_app_info_links_panel.cc", "views/apps/app_info_dialog/arc_app_info_links_panel.h", "views/apps/chrome_app_window_client_views_chromeos.cc", -@@ -4573,8 +4581,6 @@ static_library("ui") { +@@ -4619,8 +4627,6 @@ static_library("ui") { "views/accessibility/theme_tracking_non_accessible_image_view.h", "views/apps/app_dialog/app_dialog_view.cc", "views/apps/app_dialog/app_dialog_view.h", @@ -61,7 +61,7 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 "views/apps/app_info_dialog/app_info_dialog_container.cc", "views/apps/app_info_dialog/app_info_dialog_container.h", "views/apps/app_info_dialog/app_info_dialog_views.cc", -@@ -6226,6 +6232,7 @@ static_library("ui") { +@@ -6279,6 +6285,7 @@ static_library("ui") { if (enable_printing) { deps += [ "//components/printing/browser", @@ -70,10 +70,10 @@ index cc4fbda7ddfa8..c7278ef3d7ff7 100644 ] } diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc -index 501783a57a06e..3c0dd26c58465 100644 +index fdb96dee05067..7719f86fd4e0e 100644 --- chrome/browser/ui/browser.cc +++ chrome/browser/ui/browser.cc -@@ -263,6 +263,25 @@ +@@ -265,6 +265,25 @@ #include "components/captive_portal/content/captive_portal_tab_helper.h" #endif @@ -99,7 +99,7 @@ index 501783a57a06e..3c0dd26c58465 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/extensions/extension_browser_window_helper.h" #endif -@@ -454,6 +473,10 @@ Browser::Browser(const CreateParams& params) +@@ -456,6 +475,10 @@ Browser::Browser(const CreateParams& params) type_(params.type), profile_(params.profile), window_(nullptr), @@ -110,7 +110,7 @@ index 501783a57a06e..3c0dd26c58465 100644 tab_strip_model_delegate_( std::make_unique(this)), tab_strip_model_(std::make_unique( -@@ -645,6 +668,12 @@ Browser::~Browser() { +@@ -651,6 +674,12 @@ Browser::~Browser() { // away so they don't try and call back to us. if (select_file_dialog_.get()) select_file_dialog_->ListenerDestroyed(); @@ -123,7 +123,7 @@ index 501783a57a06e..3c0dd26c58465 100644 } /////////////////////////////////////////////////////////////////////////////// -@@ -1380,6 +1409,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent( +@@ -1394,6 +1423,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent( if (exclusive_access_manager_->HandleUserKeyEvent(event)) return content::KeyboardEventProcessingResult::HANDLED; @@ -138,7 +138,7 @@ index 501783a57a06e..3c0dd26c58465 100644 return window()->PreHandleKeyboardEvent(event); } -@@ -1387,8 +1424,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source, +@@ -1401,8 +1438,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source, const NativeWebKeyboardEvent& event) { DevToolsWindow* devtools_window = DevToolsWindow::GetInstanceForInspectedWebContents(source); @@ -159,9 +159,9 @@ index 501783a57a06e..3c0dd26c58465 100644 } bool Browser::TabsNeedBeforeUnloadFired() { -@@ -1592,6 +1639,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source, - return window->OpenURLFromTab(source, params); +@@ -1613,6 +1660,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source, } + #endif // BUILDFLAG(IS_CHROMEOS_ASH) +#if BUILDFLAG(ENABLE_CEF) + if (cef_browser_delegate_) { @@ -174,7 +174,7 @@ index 501783a57a06e..3c0dd26c58465 100644 NavigateParams nav_params(this, params.url, params.transition); nav_params.FillNavigateParamsFromOpenURLParams(params); nav_params.source_contents = source; -@@ -1749,6 +1804,8 @@ void Browser::LoadingStateChanged(WebContents* source, +@@ -1770,6 +1825,8 @@ void Browser::LoadingStateChanged(WebContents* source, bool should_show_loading_ui) { ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD); UpdateWindowForLoadingStateChanged(source, should_show_loading_ui); @@ -183,7 +183,7 @@ index 501783a57a06e..3c0dd26c58465 100644 } void Browser::CloseContents(WebContents* source) { -@@ -1777,6 +1834,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { +@@ -1798,6 +1855,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { } void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { @@ -192,7 +192,7 @@ index 501783a57a06e..3c0dd26c58465 100644 if (!GetStatusBubble()) return; -@@ -1784,6 +1843,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { +@@ -1805,6 +1864,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { GetStatusBubble()->SetURL(url); } @@ -210,7 +210,7 @@ index 501783a57a06e..3c0dd26c58465 100644 void Browser::ContentsMouseEvent(WebContents* source, bool motion, bool exited) { -@@ -1808,6 +1878,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) { +@@ -1829,6 +1899,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) { return false; } @@ -230,7 +230,7 @@ index 501783a57a06e..3c0dd26c58465 100644 void Browser::BeforeUnloadFired(WebContents* web_contents, bool proceed, bool* proceed_to_fire_unload) { -@@ -1900,6 +1983,10 @@ void Browser::WebContentsCreated(WebContents* source_contents, +@@ -1921,6 +2004,10 @@ void Browser::WebContentsCreated(WebContents* source_contents, // Make the tab show up in the task manager. task_manager::WebContentsTags::CreateForTabContents(new_contents); @@ -241,7 +241,7 @@ index 501783a57a06e..3c0dd26c58465 100644 } void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) { -@@ -2017,11 +2104,15 @@ void Browser::EnterFullscreenModeForTab( +@@ -2038,11 +2125,15 @@ void Browser::EnterFullscreenModeForTab( const blink::mojom::FullscreenOptions& options) { exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab( requesting_frame, options.display_id); @@ -257,7 +257,7 @@ index 501783a57a06e..3c0dd26c58465 100644 } bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) { -@@ -2211,6 +2302,15 @@ void Browser::RequestMediaAccessPermission( +@@ -2232,6 +2323,15 @@ void Browser::RequestMediaAccessPermission( content::WebContents* web_contents, const content::MediaStreamRequest& request, content::MediaResponseCallback callback) { @@ -273,7 +273,7 @@ index 501783a57a06e..3c0dd26c58465 100644 const extensions::Extension* extension = GetExtensionForOrigin(profile_, request.security_origin); MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( -@@ -2762,13 +2862,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { +@@ -2783,13 +2883,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { // Browser, Getters for UI (private): StatusBubble* Browser::GetStatusBubble() { @@ -295,7 +295,7 @@ index 501783a57a06e..3c0dd26c58465 100644 return window_ ? window_->GetStatusBubble() : nullptr; } -@@ -2902,6 +3009,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { +@@ -2923,6 +3030,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); web_contents_collection_.StopObserving(web_contents); } @@ -304,7 +304,7 @@ index 501783a57a06e..3c0dd26c58465 100644 } void Browser::TabDetachedAtImpl(content::WebContents* contents, -@@ -3056,6 +3165,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature( +@@ -3077,6 +3186,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature( bool Browser::SupportsWindowFeatureImpl(WindowFeature feature, bool check_can_support) const { @@ -320,7 +320,7 @@ index 501783a57a06e..3c0dd26c58465 100644 case TYPE_NORMAL: return NormalBrowserSupportsWindowFeature(feature, check_can_support); diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h -index 9fceed57deff5..a1a962cf014fa 100644 +index ce9edb90a7ac7..a0f0e6fe0d02f 100644 --- chrome/browser/ui/browser.h +++ chrome/browser/ui/browser.h @@ -22,6 +22,7 @@ @@ -342,7 +342,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 #if BUILDFLAG(IS_ANDROID) #error This file should only be included on desktop. #endif -@@ -322,6 +327,15 @@ class Browser : public TabStripModelObserver, +@@ -327,6 +332,15 @@ class Browser : public TabStripModelObserver, // Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE. absl::optional pip_options; @@ -358,7 +358,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 private: friend class Browser; friend class WindowSizerChromeOSTest; -@@ -403,6 +417,13 @@ class Browser : public TabStripModelObserver, +@@ -408,6 +422,13 @@ class Browser : public TabStripModelObserver, update_ui_immediately_for_testing_ = true; } @@ -372,7 +372,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 // Accessors //////////////////////////////////////////////////////////////// const CreateParams& create_params() const { return create_params_; } -@@ -476,6 +497,12 @@ class Browser : public TabStripModelObserver, +@@ -481,6 +502,12 @@ class Browser : public TabStripModelObserver, base::WeakPtr AsWeakPtr(); @@ -385,7 +385,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 // Get the FindBarController for this browser, creating it if it does not // yet exist. FindBarController* GetFindBarController(); -@@ -869,11 +896,19 @@ class Browser : public TabStripModelObserver, +@@ -872,11 +899,19 @@ class Browser : public TabStripModelObserver, void SetContentsBounds(content::WebContents* source, const gfx::Rect& bounds) override; void UpdateTargetURL(content::WebContents* source, const GURL& url) override; @@ -405,7 +405,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 void BeforeUnloadFired(content::WebContents* source, bool proceed, bool* proceed_to_fire_unload) override; -@@ -1212,6 +1247,10 @@ class Browser : public TabStripModelObserver, +@@ -1215,6 +1250,10 @@ class Browser : public TabStripModelObserver, // This Browser's window. raw_ptr window_; @@ -416,7 +416,7 @@ index 9fceed57deff5..a1a962cf014fa 100644 std::unique_ptr const tab_strip_model_delegate_; std::unique_ptr const tab_strip_model_; -@@ -1281,6 +1320,8 @@ class Browser : public TabStripModelObserver, +@@ -1284,6 +1323,8 @@ class Browser : public TabStripModelObserver, const std::string initial_workspace_; bool initial_visible_on_all_workspaces_state_; @@ -426,10 +426,10 @@ index 9fceed57deff5..a1a962cf014fa 100644 UnloadController unload_controller_; diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc -index 88edd87bcb2d0..03fc4f4ccd95f 100644 +index 3b7f96e505e0b..d44d0369def55 100644 --- chrome/browser/ui/browser_navigator.cc +++ chrome/browser/ui/browser_navigator.cc -@@ -293,6 +293,10 @@ std::pair GetBrowserAndTabForDisposition( +@@ -288,6 +288,10 @@ std::pair GetBrowserAndTabForDisposition( : 1.0; browser_params.pip_options = pip_options; @@ -440,7 +440,7 @@ index 88edd87bcb2d0..03fc4f4ccd95f 100644 const BrowserWindow* const browser_window = params.browser->window(); const gfx::NativeWindow native_window = browser_window ? browser_window->GetNativeWindow() -@@ -556,6 +560,13 @@ std::unique_ptr CreateTargetContents( +@@ -551,6 +555,13 @@ std::unique_ptr CreateTargetContents( std::unique_ptr target_contents = WebContents::Create(create_params); diff --git a/patch/patches/chrome_browser_context_menus.patch b/patch/patches/chrome_browser_context_menus.patch index 54a2c4ff7..cc955b0d6 100644 --- a/patch/patches/chrome_browser_context_menus.patch +++ b/patch/patches/chrome_browser_context_menus.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc -index 6083c04105cf9..a77ebeff46a70 100644 +index 81349bc10ffe9..6fce9815a6c51 100644 --- chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc @@ -341,6 +341,13 @@ base::OnceCallback* GetMenuShownCallback() { @@ -16,7 +16,7 @@ index 6083c04105cf9..a77ebeff46a70 100644 enum class UmaEnumIdLookupType { GeneralEnumId, ContextSpecificEnumId, -@@ -588,6 +595,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { +@@ -590,6 +597,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { if (ContextMenuMatcher::IsExtensionsCustomCommandId(id)) return 1; @@ -27,7 +27,7 @@ index 6083c04105cf9..a77ebeff46a70 100644 id = CollapseCommandsForUMA(id); const auto& map = GetIdcToUmaMap(type); auto it = map.find(id); -@@ -816,6 +827,14 @@ RenderViewContextMenu::RenderViewContextMenu( +@@ -814,6 +825,14 @@ RenderViewContextMenu::RenderViewContextMenu( pdf_ocr_submenu_model_ = std::make_unique(this); #endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) @@ -42,7 +42,7 @@ index 6083c04105cf9..a77ebeff46a70 100644 observers_.AddObserver(&autofill_context_menu_manager_); } -@@ -1254,6 +1273,12 @@ void RenderViewContextMenu::InitMenu() { +@@ -1252,6 +1271,12 @@ void RenderViewContextMenu::InitMenu() { autofill::PopupHidingReason::kContextMenuOpened); } } diff --git a/patch/patches/chrome_browser_dialogs_native.patch b/patch/patches/chrome_browser_dialogs_native.patch index 8eb487eeb..0395d3f20 100644 --- a/patch/patches/chrome_browser_dialogs_native.patch +++ b/patch/patches/chrome_browser_dialogs_native.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc -index a293917068e9e..cf576136f1fc8 100644 +index 961f04a054a1a..b2080237e8deb 100644 --- chrome/browser/file_select_helper.cc +++ chrome/browser/file_select_helper.cc @@ -20,6 +20,7 @@ @@ -10,7 +10,7 @@ index a293917068e9e..cf576136f1fc8 100644 #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/common.h" #include "chrome/browser/platform_util.h" -@@ -252,6 +253,13 @@ void FileSelectHelper::OnListFile( +@@ -253,6 +254,13 @@ void FileSelectHelper::OnListFile( void FileSelectHelper::LaunchConfirmationDialog( const base::FilePath& path, std::vector selected_files) { @@ -24,7 +24,7 @@ index a293917068e9e..cf576136f1fc8 100644 ShowFolderUploadConfirmationDialog( path, base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this), -@@ -336,6 +344,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded( +@@ -337,6 +345,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded( if (AbortIfWebContentsDestroyed()) return; @@ -37,7 +37,7 @@ index a293917068e9e..cf576136f1fc8 100644 #if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) enterprise_connectors::ContentAnalysisDelegate::Data data; if (enterprise_connectors::ContentAnalysisDelegate::IsEnabled( -@@ -464,7 +478,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() { +@@ -467,7 +481,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() { std::unique_ptr FileSelectHelper::GetFileTypesFromAcceptType( @@ -47,7 +47,7 @@ index a293917068e9e..cf576136f1fc8 100644 auto base_file_type = std::make_unique(); if (accept_types.empty()) return base_file_type; -@@ -477,17 +492,24 @@ FileSelectHelper::GetFileTypesFromAcceptType( +@@ -480,17 +495,24 @@ FileSelectHelper::GetFileTypesFromAcceptType( std::vector* extensions = &file_type->extensions.back(); @@ -73,7 +73,7 @@ index a293917068e9e..cf576136f1fc8 100644 } else { if (!base::IsStringASCII(accept_type)) continue; -@@ -498,10 +520,18 @@ FileSelectHelper::GetFileTypesFromAcceptType( +@@ -501,10 +523,18 @@ FileSelectHelper::GetFileTypesFromAcceptType( description_id = IDS_AUDIO_FILES; else if (ascii_type == "video/*") description_id = IDS_VIDEO_FILES; @@ -94,7 +94,7 @@ index a293917068e9e..cf576136f1fc8 100644 if (extensions->size() > old_extension_size) valid_type_count++; } -@@ -526,6 +556,15 @@ FileSelectHelper::GetFileTypesFromAcceptType( +@@ -529,6 +559,15 @@ FileSelectHelper::GetFileTypesFromAcceptType( l10n_util::GetStringUTF16(description_id)); } @@ -110,7 +110,7 @@ index a293917068e9e..cf576136f1fc8 100644 return file_type; } -@@ -533,7 +572,8 @@ FileSelectHelper::GetFileTypesFromAcceptType( +@@ -536,7 +575,8 @@ FileSelectHelper::GetFileTypesFromAcceptType( void FileSelectHelper::RunFileChooser( content::RenderFrameHost* render_frame_host, scoped_refptr listener, @@ -120,7 +120,7 @@ index a293917068e9e..cf576136f1fc8 100644 Profile* profile = Profile::FromBrowserContext( render_frame_host->GetProcess()->GetBrowserContext()); -@@ -552,6 +592,7 @@ void FileSelectHelper::RunFileChooser( +@@ -555,6 +595,7 @@ void FileSelectHelper::RunFileChooser( // message. scoped_refptr file_select_helper( new FileSelectHelper(profile)); @@ -128,7 +128,7 @@ index a293917068e9e..cf576136f1fc8 100644 file_select_helper->RunFileChooser(render_frame_host, std::move(listener), params.Clone()); } -@@ -603,7 +644,8 @@ void FileSelectHelper::RunFileChooser( +@@ -606,7 +647,8 @@ void FileSelectHelper::RunFileChooser( } void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) { @@ -255,7 +255,7 @@ index e2c00b2ec1532..a2e8753766597 100644 return CreateSelectFileDialog(listener, std::move(policy)); } diff --git ui/shell_dialogs/select_file_dialog.h ui/shell_dialogs/select_file_dialog.h -index 780665236e418..9114cae0bd629 100644 +index f4c63672b1a5f..6c756beaba0f3 100644 --- ui/shell_dialogs/select_file_dialog.h +++ ui/shell_dialogs/select_file_dialog.h @@ -114,7 +114,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -290,7 +290,7 @@ index 780665236e418..9114cae0bd629 100644 @@ -236,6 +250,11 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog // The listener to be notified of selection completion. - raw_ptr listener_; + raw_ptr listener_; + std::unique_ptr select_file_policy_; + diff --git a/patch/patches/chrome_browser_dialogs_widget.patch b/patch/patches/chrome_browser_dialogs_widget.patch index 5c5610f43..667321b38 100644 --- a/patch/patches/chrome_browser_dialogs_widget.patch +++ b/patch/patches/chrome_browser_dialogs_widget.patch @@ -12,10 +12,10 @@ index b169371e4d42f..509e4bda85b47 100644 // on the screen, we can't actually attach to it. parent_window = nullptr; diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc -index dc648ad1ae595..70698ed848990 100644 +index 819da6b0bff94..b25a48fb2516b 100644 --- components/constrained_window/constrained_window_views.cc +++ components/constrained_window/constrained_window_views.cc -@@ -101,15 +101,24 @@ void UpdateModalDialogPosition(views::Widget* widget, +@@ -105,15 +105,24 @@ void UpdateModalDialogPosition(views::Widget* widget, if (widget->HasCapture()) return; @@ -41,32 +41,32 @@ index dc648ad1ae595..70698ed848990 100644 return; } -@@ -215,7 +224,8 @@ views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog, +@@ -219,7 +228,8 @@ views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog, - return views::DialogDelegate::CreateDialogWidget( + views::Widget* widget = views::DialogDelegate::CreateDialogWidget( dialog, nullptr, - manager->delegate()->GetWebContentsModalDialogHost()->GetHostView()); + manager->delegate()->GetWebContentsModalDialogHost()->GetHostView(), -+ manager->delegate()->GetWebContentsModalDialogHost()->GetHostWidget()); - } - - views::Widget* CreateBrowserModalDialogViews( -@@ -232,8 +242,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, ++ manager->delegate()->GetWebContentsModalDialogHost()->GetAcceleratedWidget()); + widget->SetNativeWindowProperty( + views::kWidgetIdentifierKey, + const_cast(kConstrainedWindowWidgetIdentifier)); +@@ -241,8 +251,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, gfx::NativeView parent_view = parent ? CurrentClient()->GetDialogHostView(parent) : nullptr; + // Use with CEF windowless rendering. + gfx::AcceleratedWidget parent_widget = + parent ? gfx::kNullAcceleratedWidget : -+ CurrentClient()->GetModalDialogHost(parent)->GetHostWidget(); ++ CurrentClient()->GetModalDialogHost(parent)->GetAcceleratedWidget(); views::Widget* widget = - views::DialogDelegate::CreateDialogWidget(dialog, nullptr, parent_view); + views::DialogDelegate::CreateDialogWidget(dialog, nullptr, parent_view, + parent_widget); - - bool requires_positioning = dialog->use_custom_frame(); - -@@ -246,8 +261,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, + widget->SetNativeWindowProperty( + views::kWidgetIdentifierKey, + const_cast(kConstrainedWindowWidgetIdentifier)); +@@ -258,8 +273,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, if (!requires_positioning) return widget; @@ -114,16 +114,16 @@ index 51ed6bcf6b540..9ae4737e0737e 100644 virtual gfx::NativeView GetHostView() const = 0; + // Returns the widget against which the dialog is positioned and parented. + // Used with CEF windowless rendering. -+ virtual gfx::AcceleratedWidget GetHostWidget() const { ++ virtual gfx::AcceleratedWidget GetAcceleratedWidget() const { + return gfx::kNullAcceleratedWidget; } // Gets the position for the dialog in coordinates relative to the host view. virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0; // Returns whether a dialog currently about to be shown should be activated. diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc -index cd6fa368d3960..3a1f64fd295c7 100644 +index 5a69839dd683d..b217b537eba4c 100644 --- ui/views/window/dialog_delegate.cc +++ ui/views/window/dialog_delegate.cc -@@ -64,10 +64,12 @@ DialogDelegate::DialogDelegate() { +@@ -59,10 +59,12 @@ DialogDelegate::DialogDelegate() { // static Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, gfx::NativeWindow context, @@ -138,7 +138,7 @@ index cd6fa368d3960..3a1f64fd295c7 100644 widget->Init(std::move(params)); return widget; } -@@ -76,17 +78,19 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, +@@ -71,17 +73,19 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, Widget* DialogDelegate::CreateDialogWidget( std::unique_ptr delegate, gfx::NativeWindow context, @@ -162,7 +162,7 @@ index cd6fa368d3960..3a1f64fd295c7 100644 #else return true; #endif -@@ -97,14 +101,15 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( +@@ -92,14 +96,15 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( WidgetDelegate* delegate, gfx::NativeWindow context, gfx::NativeView parent, @@ -180,7 +180,7 @@ index cd6fa368d3960..3a1f64fd295c7 100644 if (!dialog || dialog->use_custom_frame()) { params.opacity = Widget::InitParams::WindowOpacity::kTranslucent; -@@ -117,6 +122,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( +@@ -112,6 +117,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( } params.context = context; params.parent = parent; @@ -189,10 +189,10 @@ index cd6fa368d3960..3a1f64fd295c7 100644 // Web-modal (ui::MODAL_TYPE_CHILD) dialogs with parents are marked as child // widgets to prevent top-level window behavior (independent movement, etc). diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h -index 4d64cf4f40af7..1d77b1c152253 100644 +index 083874eb3f0bc..2ccacfca7d413 100644 --- ui/views/window/dialog_delegate.h +++ ui/views/window/dialog_delegate.h -@@ -97,13 +97,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { +@@ -96,13 +96,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { // your use case. static Widget* CreateDialogWidget(std::unique_ptr delegate, gfx::NativeWindow context, @@ -214,7 +214,7 @@ index 4d64cf4f40af7..1d77b1c152253 100644 // Returns the dialog widget InitParams for a given |context| or |parent|. // If |bounds| is not empty, used to initially place the dialog, otherwise -@@ -111,7 +116,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { +@@ -110,7 +115,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { static Widget::InitParams GetDialogWidgetInitParams(WidgetDelegate* delegate, gfx::NativeWindow context, gfx::NativeView parent, diff --git a/patch/patches/chrome_browser_extensions.patch b/patch/patches/chrome_browser_extensions.patch index 5a62d1dba..5590382ba 100644 --- a/patch/patches/chrome_browser_extensions.patch +++ b/patch/patches/chrome_browser_extensions.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc -index 399d2720023c5..32755b74185cb 100644 +index 4f11c0749d725..d5d6dbbafecb1 100644 --- chrome/browser/extensions/api/chrome_extensions_api_client.cc +++ chrome/browser/extensions/api/chrome_extensions_api_client.cc -@@ -13,6 +13,7 @@ +@@ -14,6 +14,7 @@ #include "base/strings/string_util.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -10,7 +10,7 @@ index 399d2720023c5..32755b74185cb 100644 #include "chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.h" #include "chrome/browser/extensions/api/chrome_device_permissions_prompt.h" #include "chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h" -@@ -84,6 +85,10 @@ +@@ -91,6 +92,10 @@ #include "chrome/browser/extensions/clipboard_extension_helper_chromeos.h" #endif @@ -18,10 +18,10 @@ index 399d2720023c5..32755b74185cb 100644 +#include "cef/libcef/browser/chrome/extensions/chrome_mime_handler_view_guest_delegate_cef.h" +#endif + - #if BUILDFLAG(ENABLE_PDF) - #include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h" - #include "components/pdf/browser/pdf_web_contents_helper.h" -@@ -306,6 +311,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate() const { + #if BUILDFLAG(ENABLE_PRINTING) + #include "chrome/browser/printing/printing_init.h" + #endif +@@ -318,6 +323,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate() const { std::unique_ptr ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( MimeHandlerViewGuest* guest) const { diff --git a/patch/patches/chrome_browser_frame_mac.patch b/patch/patches/chrome_browser_frame_mac.patch index 9982cdf8d..e054e1f75 100644 --- a/patch/patches/chrome_browser_frame_mac.patch +++ b/patch/patches/chrome_browser_frame_mac.patch @@ -33,10 +33,10 @@ index a5ee05ae5f5e9..97fd2e8da450e 100644 ~BrowserFrameMac() override; diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm -index c9a06b1b3404d..02d96a0bb1cd0 100644 +index 65e7e391139ba..88dfa39f4cdcd 100644 --- chrome/browser/ui/views/frame/browser_frame_mac.mm +++ chrome/browser/ui/views/frame/browser_frame_mac.mm -@@ -181,7 +181,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() { +@@ -182,7 +182,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() { void BrowserFrameMac::ValidateUserInterfaceItem( int32_t tag, remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) { @@ -52,7 +52,7 @@ index c9a06b1b3404d..02d96a0bb1cd0 100644 if (!chrome::SupportsCommand(browser, tag)) { result->enable = false; return; -@@ -309,8 +316,16 @@ bool BrowserFrameMac::WillExecuteCommand( +@@ -310,8 +317,16 @@ bool BrowserFrameMac::WillExecuteCommand( int32_t command, WindowOpenDisposition window_open_disposition, bool is_before_first_responder) { @@ -70,7 +70,7 @@ index c9a06b1b3404d..02d96a0bb1cd0 100644 if (is_before_first_responder) { // The specification for this private extensions API is incredibly vague. // For now, we avoid triggering chrome commands prior to giving the -@@ -341,11 +356,20 @@ bool BrowserFrameMac::ExecuteCommand( +@@ -342,11 +357,20 @@ bool BrowserFrameMac::ExecuteCommand( int32_t command, WindowOpenDisposition window_open_disposition, bool is_before_first_responder) { diff --git a/patch/patches/chrome_browser_permission_prompt.patch b/patch/patches/chrome_browser_permission_prompt.patch index 1580a7721..98650574a 100644 --- a/patch/patches/chrome_browser_permission_prompt.patch +++ b/patch/patches/chrome_browser_permission_prompt.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/background_fetch/background_fetch_permission_context.cc chrome/browser/background_fetch/background_fetch_permission_context.cc -index 0a5aef10879ac..1b122c8848c97 100644 +index 429739d7b8dfe..0f4bff365f62b 100644 --- chrome/browser/background_fetch/background_fetch_permission_context.cc +++ chrome/browser/background_fetch/background_fetch_permission_context.cc @@ -4,6 +4,7 @@ @@ -21,7 +21,7 @@ index 0a5aef10879ac..1b122c8848c97 100644 g_browser_process->download_request_limiter(); DCHECK(limiter); diff --git chrome/browser/background_sync/periodic_background_sync_permission_context.cc chrome/browser/background_sync/periodic_background_sync_permission_context.cc -index 16107572d4d0d..409e9ea870482 100644 +index ea1467d09700d..5537a99500e7f 100644 --- chrome/browser/background_sync/periodic_background_sync_permission_context.cc +++ chrome/browser/background_sync/periodic_background_sync_permission_context.cc @@ -6,6 +6,7 @@ @@ -44,7 +44,7 @@ index 16107572d4d0d..409e9ea870482 100644 base::FeatureList::IsEnabled( features::kPeriodicSyncPermissionForDefaultSearchEngine) && diff --git chrome/browser/permissions/chrome_permissions_client.cc chrome/browser/permissions/chrome_permissions_client.cc -index 18e2eec8f64ff..d36b3206aeb63 100644 +index 4d895c857260c..4dbfba9b15cae 100644 --- chrome/browser/permissions/chrome_permissions_client.cc +++ chrome/browser/permissions/chrome_permissions_client.cc @@ -14,6 +14,7 @@ @@ -67,7 +67,7 @@ index 18e2eec8f64ff..d36b3206aeb63 100644 ->GetScore(origin); @@ -338,8 +342,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors( std::make_unique()); - selectors.emplace_back(std::make_unique( + selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); + if (!cef::IsAlloyRuntimeEnabled()) { selectors.emplace_back(std::make_unique( @@ -77,7 +77,7 @@ index 18e2eec8f64ff..d36b3206aeb63 100644 } diff --git chrome/browser/permissions/permission_manager_factory.cc chrome/browser/permissions/permission_manager_factory.cc -index 0a357c35588fb..cb82d52628d64 100644 +index b0374f3adafea..faf9e7102f571 100644 --- chrome/browser/permissions/permission_manager_factory.cc +++ chrome/browser/permissions/permission_manager_factory.cc @@ -6,6 +6,7 @@ @@ -100,7 +100,7 @@ index 0a357c35588fb..cb82d52628d64 100644 delegates.media_stream_device_enumerator = MediaCaptureDevicesDispatcher::GetInstance(); diff --git chrome/browser/storage/durable_storage_permission_context.cc chrome/browser/storage/durable_storage_permission_context.cc -index c96408b160973..8bda825517235 100644 +index 9934727f31a59..765b822241e4d 100644 --- chrome/browser/storage/durable_storage_permission_context.cc +++ chrome/browser/storage/durable_storage_permission_context.cc @@ -8,6 +8,7 @@ @@ -111,17 +111,18 @@ index c96408b160973..8bda825517235 100644 #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/content_settings/cookie_settings_factory.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" -@@ -56,7 +57,9 @@ void DurableStoragePermissionContext::DecidePermission( +@@ -56,7 +57,10 @@ void DurableStoragePermissionContext::DecidePermission( // Durable is only allowed to be granted to the top-level origin. Embedding // origin is the last committed navigation origin to the web contents. -- if (requesting_origin != embedding_origin) { +- if (request_data.requesting_origin != request_data.embedding_origin) { + // Permission depends on PWA and site engagement subsystems which are not + // supported by the Alloy runtime (see issue #3379). -+ if (cef::IsAlloyRuntimeEnabled() || requesting_origin != embedding_origin) { - NotifyPermissionSet(id, requesting_origin, embedding_origin, - std::move(callback), /*persist=*/false, - CONTENT_SETTING_DEFAULT, /*is_one_time=*/false, ++ if (cef::IsAlloyRuntimeEnabled() || ++ request_data.requesting_origin != request_data.embedding_origin) { + NotifyPermissionSet(request_data.id, request_data.requesting_origin, + request_data.embedding_origin, std::move(callback), + /*persist=*/false, CONTENT_SETTING_DEFAULT, diff --git chrome/browser/ui/permission_bubble/permission_prompt.h chrome/browser/ui/permission_bubble/permission_prompt.h index fbce13c16ad10..0512b2f09937e 100644 --- chrome/browser/ui/permission_bubble/permission_prompt.h @@ -141,10 +142,10 @@ index fbce13c16ad10..0512b2f09937e 100644 std::unique_ptr CreatePermissionPrompt( content::WebContents* web_contents, diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc -index 82a50b7e22dfe..c4ba55ec6bd54 100644 +index 162e03560b2ed..8d3c92202e55f 100644 --- chrome/browser/ui/views/permissions/permission_prompt_factory.cc +++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc -@@ -158,11 +158,28 @@ std::unique_ptr CreateQuietPrompt( +@@ -181,11 +181,28 @@ std::unique_ptr CreateQuietPrompt( } } diff --git a/patch/patches/chrome_browser_profile_menu.patch b/patch/patches/chrome_browser_profile_menu.patch index e13d96d27..e107a43e6 100644 --- a/patch/patches/chrome_browser_profile_menu.patch +++ b/patch/patches/chrome_browser_profile_menu.patch @@ -59,15 +59,15 @@ index f5f266328283d..672609d94d1b7 100644 base::RecordAction(base::UserMetricsAction("IncognitoMenu_Show")); diff --git chrome/browser/ui/views/profiles/profile_menu_coordinator.cc chrome/browser/ui/views/profiles/profile_menu_coordinator.cc -index a315cdc513f1d..036236798652c 100644 +index 521991e8e47ff..76f00e99336ee 100644 --- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc +++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc -@@ -45,7 +45,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) { - feature_engagement::kIPHProfileSwitchFeature); +@@ -52,7 +52,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) { + is_incognito &= !browser.profile()->IsGuestSession(); + #endif - std::unique_ptr bubble; -- if (browser.profile()->IsIncognitoProfile()) { -+ if (browser.profile()->IsIncognitoProfile() || +- if (is_incognito) { ++ if (is_incognito || + (browser.profile()->IsOffTheRecord() && + browser.profile()->GetOTRProfileID().IsUniqueForCEF())) { bubble = diff --git a/patch/patches/chrome_browser_profiles.patch b/patch/patches/chrome_browser_profiles.patch index b312eab80..9ed59051b 100644 --- a/patch/patches/chrome_browser_profiles.patch +++ b/patch/patches/chrome_browser_profiles.patch @@ -52,7 +52,7 @@ index 6cffe941b26f9..3e6223ab0d423 100644 Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForDevTools() { return CreateUnique(kDevToolsOTRProfileIDPrefix); diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h -index 946b9cb533714..80815f7feb8f8 100644 +index ee1675aa1ecc9..cb526d1aba30d 100644 --- chrome/browser/profiles/profile.h +++ chrome/browser/profiles/profile.h @@ -104,6 +104,10 @@ class Profile : public content::BrowserContext { @@ -66,7 +66,7 @@ index 946b9cb533714..80815f7feb8f8 100644 // Creates a unique OTR profile id to be used for DevTools browser contexts. static OTRProfileID CreateUniqueForDevTools(); -@@ -529,6 +533,8 @@ class Profile : public content::BrowserContext { +@@ -528,6 +532,8 @@ class Profile : public content::BrowserContext { return instant_service_; } @@ -75,7 +75,7 @@ index 946b9cb533714..80815f7feb8f8 100644 protected: // Creates an OffTheRecordProfile which points to this Profile. static std::unique_ptr CreateOffTheRecordProfile( -@@ -540,7 +546,6 @@ class Profile : public content::BrowserContext { +@@ -539,7 +545,6 @@ class Profile : public content::BrowserContext { static PrefStore* CreateExtensionPrefStore(Profile*, bool incognito_pref_store); @@ -99,10 +99,10 @@ index f3e41082fe306..abdefa172be33 100644 return raw_otr_profile; } diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc -index ad64bc75b7383..f8eb816d6f2cf 100644 +index d403a5b78dfbf..85620c16dbf6e 100644 --- chrome/browser/profiles/profile_manager.cc +++ chrome/browser/profiles/profile_manager.cc -@@ -394,7 +394,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) +@@ -435,7 +435,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) profile_manager_android_ = std::make_unique(this); #endif @@ -134,7 +134,7 @@ index 5f471502c07a8..6a28e9452a359 100644 // Returns the directory where the first created profile is stored, // relative to the user data directory currently in use. diff --git chrome/browser/profiles/renderer_updater.cc chrome/browser/profiles/renderer_updater.cc -index 884e79cd54e0d..4e840df66756d 100644 +index 421a3a60d308a..b89123a708f79 100644 --- chrome/browser/profiles/renderer_updater.cc +++ chrome/browser/profiles/renderer_updater.cc @@ -9,6 +9,7 @@ @@ -161,7 +161,7 @@ index 884e79cd54e0d..4e840df66756d 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) oauth2_login_manager_ = diff --git chrome/browser/profiles/renderer_updater_factory.cc chrome/browser/profiles/renderer_updater_factory.cc -index 711f449323737..b277b4386c16a 100644 +index ed5b366aa47ab..58ebe795e4636 100644 --- chrome/browser/profiles/renderer_updater_factory.cc +++ chrome/browser/profiles/renderer_updater_factory.cc @@ -4,6 +4,7 @@ diff --git a/patch/patches/chrome_browser_safe_browsing.patch b/patch/patches/chrome_browser_safe_browsing.patch index d0de02f58..159925d17 100644 --- a/patch/patches/chrome_browser_safe_browsing.patch +++ b/patch/patches/chrome_browser_safe_browsing.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn -index 2731d7c8912a9..91206a1aaca39 100644 +index 0f823ed1e7066..99bbeb884cdfb 100644 --- chrome/browser/safe_browsing/BUILD.gn +++ chrome/browser/safe_browsing/BUILD.gn @@ -32,6 +32,7 @@ static_library("safe_browsing") { diff --git a/patch/patches/chrome_browser_themes.patch b/patch/patches/chrome_browser_themes.patch index 63bb78268..861758d1f 100644 --- a/patch/patches/chrome_browser_themes.patch +++ b/patch/patches/chrome_browser_themes.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc -index 31dff947be598..14138f1030822 100644 +index 3b1af39b69a60..3f3f15c23a74f 100644 --- chrome/browser/themes/theme_service.cc +++ chrome/browser/themes/theme_service.cc -@@ -30,6 +30,7 @@ +@@ -29,6 +29,7 @@ #include "base/task/thread_pool.h" #include "base/trace_event/trace_event.h" #include "build/build_config.h" @@ -10,7 +10,7 @@ index 31dff947be598..14138f1030822 100644 #include "chrome/browser/browser_features.h" #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/theme_installed_infobar_delegate.h" -@@ -70,6 +71,10 @@ +@@ -69,6 +70,10 @@ #include "ui/color/color_provider_manager.h" #include "ui/native_theme/native_theme.h" @@ -21,7 +21,7 @@ index 31dff947be598..14138f1030822 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "base/scoped_observation.h" #include "extensions/browser/extension_registry_observer.h" -@@ -272,11 +277,19 @@ void ThemeService::Init() { +@@ -270,11 +275,19 @@ void ThemeService::Init() { // OnExtensionServiceReady. Otherwise, the ThemeObserver won't be // constructed in time to observe the corresponding events. #if BUILDFLAG(ENABLE_EXTENSIONS) @@ -42,7 +42,7 @@ index 31dff947be598..14138f1030822 100644 theme_syncable_service_ = std::make_unique(profile_, this); diff --git chrome/browser/themes/theme_service_factory.cc chrome/browser/themes/theme_service_factory.cc -index 783fd6aa20dac..8c4e51b577c5d 100644 +index 879bbeef4037b..e6cc36f388197 100644 --- chrome/browser/themes/theme_service_factory.cc +++ chrome/browser/themes/theme_service_factory.cc @@ -9,6 +9,7 @@ diff --git a/patch/patches/chrome_plugins.patch b/patch/patches/chrome_plugins.patch index fa436f26b..ede24d585 100644 --- a/patch/patches/chrome_plugins.patch +++ b/patch/patches/chrome_plugins.patch @@ -42,10 +42,10 @@ index 438276b719c2f..69635e429be78 100644 const extensions::Extension* extension = registry->enabled_extensions().GetByID(extension_id); diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc -index 8d02ca21674b1..a8984a3f5f10e 100644 +index c573a3908fd43..1077f313f71b8 100644 --- chrome/renderer/chrome_content_renderer_client.cc +++ chrome/renderer/chrome_content_renderer_client.cc -@@ -974,6 +974,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -982,6 +982,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( if ((status == chrome::mojom::PluginStatus::kUnauthorized || status == chrome::mojom::PluginStatus::kBlocked) && @@ -53,7 +53,7 @@ index 8d02ca21674b1..a8984a3f5f10e 100644 content_settings_agent_delegate->IsPluginTemporarilyAllowed( identifier)) { status = chrome::mojom::PluginStatus::kAllowed; -@@ -1136,7 +1137,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1144,7 +1145,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( render_frame->GetRemoteAssociatedInterfaces()->GetInterface( plugin_auth_host.BindNewEndpointAndPassReceiver()); plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier); @@ -63,7 +63,7 @@ index 8d02ca21674b1..a8984a3f5f10e 100644 break; } case chrome::mojom::PluginStatus::kBlocked: { -@@ -1145,7 +1147,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1153,7 +1155,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name)); placeholder->AllowLoading(); RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked")); @@ -73,7 +73,7 @@ index 8d02ca21674b1..a8984a3f5f10e 100644 break; } case chrome::mojom::PluginStatus::kBlockedByPolicy: { -@@ -1155,7 +1158,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1163,7 +1166,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( group_name)); RenderThread::Get()->RecordAction( UserMetricsAction("Plugin_BlockedByPolicy")); @@ -105,18 +105,18 @@ index ad5f1925735fd..a871f4a7792a7 100644 BrowserPluginEmbedder(const BrowserPluginEmbedder&) = delete; BrowserPluginEmbedder& operator=(const BrowserPluginEmbedder&) = delete; diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc -index 2e47c128f4d5c..c27d76a8227f9 100644 +index f94fcfcf562db..066c66f46b7ae 100644 --- content/browser/browser_plugin/browser_plugin_guest.cc +++ content/browser/browser_plugin/browser_plugin_guest.cc -@@ -81,6 +81,8 @@ void BrowserPluginGuest::InitInternal(WebContentsImpl* owner_web_contents) { - GetWebContents()->GetOrCreateWebPreferences(); - prefs.navigate_on_drag_drop = false; - GetWebContents()->SetWebPreferences(prefs); -+ -+ owner_web_contents_ = owner_web_contents; +@@ -49,6 +49,8 @@ std::unique_ptr BrowserPluginGuest::CreateNewGuestWindow( } - BrowserPluginGuest::~BrowserPluginGuest() = default; + void BrowserPluginGuest::InitInternal(WebContentsImpl* owner_web_contents) { ++ owner_web_contents_ = owner_web_contents; ++ + RenderWidgetHostImpl* rwhi = + GetWebContents()->GetPrimaryMainFrame()->GetRenderWidgetHost(); + DCHECK(rwhi); diff --git content/browser/browser_plugin/browser_plugin_guest.h content/browser/browser_plugin/browser_plugin_guest.h index 7f3083029d45e..94a5cbed96a10 100644 --- content/browser/browser_plugin/browser_plugin_guest.h diff --git a/patch/patches/chrome_pref_watcher.patch b/patch/patches/chrome_pref_watcher.patch index 17c3c3a33..e7c4c8e23 100644 --- a/patch/patches/chrome_pref_watcher.patch +++ b/patch/patches/chrome_pref_watcher.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h -index 1027b73890375..4e310087dffce 100644 +index 67365a45be704..840f4e4860571 100644 --- chrome/browser/ui/prefs/pref_watcher.h +++ chrome/browser/ui/prefs/pref_watcher.h @@ -30,10 +30,10 @@ class PrefWatcher : public KeyedService { diff --git a/patch/patches/chrome_renderer.patch b/patch/patches/chrome_renderer.patch index a2e00c433..46f665856 100644 --- a/patch/patches/chrome_renderer.patch +++ b/patch/patches/chrome_renderer.patch @@ -1,5 +1,5 @@ diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn -index 5bf67204d5006..b4a5e6f6f23f1 100644 +index 01c93bf7e64af..858c5eb8e7e27 100644 --- chrome/renderer/BUILD.gn +++ chrome/renderer/BUILD.gn @@ -5,6 +5,7 @@ diff --git a/patch/patches/chrome_runtime.patch b/patch/patches/chrome_runtime.patch index 32b1e716c..840a63244 100644 --- a/patch/patches/chrome_runtime.patch +++ b/patch/patches/chrome_runtime.patch @@ -1,8 +1,8 @@ diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc -index 8f79337633de1..448727560a263 100644 +index 7aacff321a40c..3dbbd8f6d03c5 100644 --- chrome/app/chrome_main_delegate.cc +++ chrome/app/chrome_main_delegate.cc -@@ -40,6 +40,7 @@ +@@ -41,6 +41,7 @@ #include "base/trace_event/trace_event_impl.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -10,7 +10,7 @@ index 8f79337633de1..448727560a263 100644 #include "chrome/browser/buildflags.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_resource_bundle_helper.h" -@@ -518,6 +519,8 @@ struct MainFunction { +@@ -522,6 +523,8 @@ struct MainFunction { // Initializes the user data dir. Must be called before InitializeLocalState(). void InitializeUserDataDir(base::CommandLine* command_line) { @@ -19,7 +19,7 @@ index 8f79337633de1..448727560a263 100644 #if BUILDFLAG(IS_WIN) // Reach out to chrome_elf for the truth on the user data directory. // Note that in tests, this links to chrome_elf_test_stubs. -@@ -668,6 +671,10 @@ ChromeMainDelegate::~ChromeMainDelegate() { +@@ -694,6 +697,10 @@ ChromeMainDelegate::~ChromeMainDelegate() { ChromeMainDelegate::~ChromeMainDelegate() = default; #endif // !BUILDFLAG(IS_ANDROID) @@ -30,7 +30,7 @@ index 8f79337633de1..448727560a263 100644 absl::optional ChromeMainDelegate::PostEarlyInitialization( InvokedIn invoked_in) { DCHECK(base::ThreadPoolInstance::Get()); -@@ -870,7 +877,8 @@ absl::optional ChromeMainDelegate::PostEarlyInitialization( +@@ -896,7 +903,8 @@ absl::optional ChromeMainDelegate::PostEarlyInitialization( if (base::FeatureList::IsEnabled( features::kWriteBasicSystemProfileToPersistentHistogramsFile)) { @@ -40,7 +40,7 @@ index 8f79337633de1..448727560a263 100644 #if BUILDFLAG(IS_ANDROID) record = base::FeatureList::IsEnabled(chrome::android::kUmaBackgroundSessions); -@@ -1305,6 +1313,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1340,6 +1348,7 @@ void ChromeMainDelegate::PreSandboxStartup() { std::string process_type = command_line.GetSwitchValueASCII(switches::kProcessType); @@ -48,7 +48,7 @@ index 8f79337633de1..448727560a263 100644 crash_reporter::InitializeCrashKeys(); #if BUILDFLAG(IS_CHROMEOS_LACROS) -@@ -1332,6 +1341,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1367,6 +1376,7 @@ void ChromeMainDelegate::PreSandboxStartup() { InitMacCrashReporter(command_line, process_type); SetUpInstallerPreferences(command_line); #endif @@ -56,7 +56,7 @@ index 8f79337633de1..448727560a263 100644 #if BUILDFLAG(IS_WIN) child_process_logging::Init(); -@@ -1526,6 +1536,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1561,6 +1571,7 @@ void ChromeMainDelegate::PreSandboxStartup() { CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; } @@ -64,7 +64,7 @@ index 8f79337633de1..448727560a263 100644 #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess) { -@@ -1569,6 +1580,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1604,6 +1615,7 @@ void ChromeMainDelegate::PreSandboxStartup() { // After all the platform Breakpads have been initialized, store the command // line for crash reporting. crash_keys::SetCrashKeysFromCommandLine(command_line); @@ -72,7 +72,7 @@ index 8f79337633de1..448727560a263 100644 #if BUILDFLAG(ENABLE_PDF) MaybePatchGdiGetFontData(); -@@ -1688,6 +1700,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1723,6 +1735,7 @@ void ChromeMainDelegate::ZygoteForked() { SetUpProfilingShutdownHandler(); } @@ -80,7 +80,7 @@ index 8f79337633de1..448727560a263 100644 // Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets // this up for the browser process in a different manner. const base::CommandLine* command_line = -@@ -1710,6 +1723,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1745,6 +1758,7 @@ void ChromeMainDelegate::ZygoteForked() { // Reset the command line for the newly spawned process. crash_keys::SetCrashKeysFromCommandLine(*command_line); @@ -88,7 +88,7 @@ index 8f79337633de1..448727560a263 100644 } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -1807,6 +1821,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { +@@ -1845,6 +1859,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { channel == version_info::Channel::DEV); const bool gwp_asan_boost_sampling = is_canary_dev || is_browser_process; @@ -96,7 +96,7 @@ index 8f79337633de1..448727560a263 100644 memory_system::Initializer() .SetGwpAsanParameters(gwp_asan_boost_sampling, process_type) .SetProfilingClientParameters(channel, -@@ -1816,5 +1831,5 @@ void ChromeMainDelegate::InitializeMemorySystem() { +@@ -1854,5 +1869,5 @@ void ChromeMainDelegate::InitializeMemorySystem() { memory_system::DispatcherParameters:: AllocationTraceRecorderInclusion::kDynamic, process_type) @@ -104,7 +104,7 @@ index 8f79337633de1..448727560a263 100644 + .Initialize(*memory_system_); } diff --git chrome/app/chrome_main_delegate.h chrome/app/chrome_main_delegate.h -index dad9f981d2e01..29baaf84465a0 100644 +index 176b6248f18e8..1360e8c209eba 100644 --- chrome/app/chrome_main_delegate.h +++ chrome/app/chrome_main_delegate.h @@ -49,6 +49,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate { @@ -126,10 +126,10 @@ index dad9f981d2e01..29baaf84465a0 100644 #if BUILDFLAG(IS_CHROMEOS_LACROS) std::unique_ptr lacros_service_; diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc -index 0d6a6dda5d33f..6293ad095f9d9 100644 +index f2613018d0bc3..fab49b0c14657 100644 --- chrome/browser/chrome_browser_main.cc +++ chrome/browser/chrome_browser_main.cc -@@ -51,6 +51,7 @@ +@@ -52,6 +52,7 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "cc/base/switches.h" @@ -137,7 +137,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 #include "chrome/browser/about_flags.h" #include "chrome/browser/active_use_util.h" #include "chrome/browser/after_startup_task_utils.h" -@@ -1552,7 +1553,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1556,7 +1557,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { } #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) @@ -146,7 +146,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 // Handle special early return paths (which couldn't be processed even earlier // as they require the process singleton to be held) first. -@@ -1599,7 +1600,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1603,7 +1604,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { return content::RESULT_CODE_NORMAL_EXIT; #endif // BUILDFLAG(IS_WIN) } @@ -155,7 +155,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 #if BUILDFLAG(IS_WIN) // Check if there is any machine level Chrome installed on the current -@@ -1653,12 +1654,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1657,12 +1658,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { browser_process_->local_state()); } @@ -170,7 +170,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 #if BUILDFLAG(IS_ANDROID) page_info::SetPageInfoClient(new ChromePageInfoClient()); -@@ -1804,6 +1807,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1808,6 +1811,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { } #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -181,7 +181,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 // This step is costly and is already measured in // Startup.StartupBrowserCreator_Start. // See the comment above for an explanation of |process_command_line|. -@@ -1842,11 +1849,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1846,11 +1853,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // Create the RunLoop for MainMessageLoopRun() to use and transfer // ownership of the browser's lifetime to the BrowserProcess. @@ -197,7 +197,7 @@ index 0d6a6dda5d33f..6293ad095f9d9 100644 #endif // !BUILDFLAG(IS_ANDROID) diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm -index c09da3b85e58f..36d0c1a52a44b 100644 +index a85dd48b0c298..11944bf767f9b 100644 --- chrome/browser/chrome_browser_main_mac.mm +++ chrome/browser/chrome_browser_main_mac.mm @@ -17,6 +17,7 @@ @@ -208,7 +208,7 @@ index c09da3b85e58f..36d0c1a52a44b 100644 #import "chrome/browser/app_controller_mac.h" #include "chrome/browser/apps/app_shim/app_shim_listener.h" #include "chrome/browser/browser_process.h" -@@ -114,6 +115,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { +@@ -113,6 +114,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { } #endif // !BUILDFLAG(CHROME_FOR_TESTING) @@ -216,7 +216,7 @@ index c09da3b85e58f..36d0c1a52a44b 100644 // Create the app delegate by requesting the shared AppController. CHECK_EQ(nil, NSApp.delegate); AppController* app_controller = AppController.sharedController; -@@ -122,6 +124,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { +@@ -121,6 +123,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { chrome::BuildMainMenu(NSApp, app_controller, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false); [app_controller mainMenuCreated]; @@ -224,7 +224,7 @@ index c09da3b85e58f..36d0c1a52a44b 100644 ui::WarmScreenCapture(); -@@ -180,5 +183,7 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile, +@@ -179,5 +182,7 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile, } void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() { @@ -233,7 +233,7 @@ index c09da3b85e58f..36d0c1a52a44b 100644 +#endif } diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc -index 974e3c37047e1..ce3f7084e6458 100644 +index 267387e7e079c..48376496d4895 100644 --- chrome/browser/chrome_content_browser_client.cc +++ chrome/browser/chrome_content_browser_client.cc @@ -42,6 +42,7 @@ @@ -244,7 +244,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 #include "chrome/browser/accessibility/accessibility_labels_service.h" #include "chrome/browser/accessibility/accessibility_labels_service_factory.h" #include "chrome/browser/after_startup_task_utils.h" -@@ -1542,6 +1543,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { +@@ -1552,6 +1553,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { } ChromeContentBrowserClient::ChromeContentBrowserClient() { @@ -253,7 +253,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 #if BUILDFLAG(ENABLE_PLUGINS) extra_parts_.push_back( std::make_unique()); -@@ -1574,6 +1577,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { +@@ -1584,6 +1587,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { } } @@ -265,7 +265,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 // static void ChromeContentBrowserClient::RegisterLocalStatePrefs( PrefRegistrySimple* registry) { -@@ -4409,9 +4417,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( +@@ -4431,9 +4439,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( &search::HandleNewTabURLReverseRewrite); #endif // BUILDFLAG(IS_ANDROID) @@ -277,7 +277,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 } base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { -@@ -6450,7 +6460,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( +@@ -6494,7 +6504,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( #endif } @@ -286,7 +286,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -6468,6 +6478,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( +@@ -6512,6 +6522,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = GetApplicationLocale(); } @@ -295,7 +295,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 } std::vector -@@ -7497,10 +7509,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( +@@ -7577,10 +7589,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( const auto now = base::TimeTicks::Now(); const auto timeout = GetKeepaliveTimerTimeout(context); keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); @@ -308,7 +308,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 FROM_HERE, keepalive_deadline_ - now, base::BindOnce( &ChromeContentBrowserClient::OnKeepaliveTimerFired, -@@ -7519,7 +7531,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { +@@ -7599,7 +7611,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { --num_keepalive_requests_; if (num_keepalive_requests_ == 0) { DVLOG(1) << "Stopping the keepalive timer"; @@ -318,7 +318,7 @@ index 974e3c37047e1..ce3f7084e6458 100644 // This deletes the keep alive handle attached to the timer function and // unblock the shutdown sequence. } -@@ -7661,7 +7674,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( +@@ -7741,7 +7754,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( const auto now = base::TimeTicks::Now(); const auto then = keepalive_deadline_; if (now < then) { @@ -328,10 +328,10 @@ index 974e3c37047e1..ce3f7084e6458 100644 base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, weak_factory_.GetWeakPtr(), diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h -index c7bbd6519e0cd..3dfc22b5a548c 100644 +index 28633d6bd4cb9..d17cbef0ae5af 100644 --- chrome/browser/chrome_content_browser_client.h +++ chrome/browser/chrome_content_browser_client.h -@@ -137,6 +137,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -136,6 +136,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { ~ChromeContentBrowserClient() override; @@ -340,7 +340,7 @@ index c7bbd6519e0cd..3dfc22b5a548c 100644 // TODO(https://crbug.com/787567): This file is about calls from content/ out // to chrome/ to get values or notify about events, but both of these // functions are from chrome/ to chrome/ and don't involve content/ at all. -@@ -640,7 +642,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -647,7 +649,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { override; void OnNetworkServiceCreated( network::mojom::NetworkService* network_service) override; @@ -349,7 +349,7 @@ index c7bbd6519e0cd..3dfc22b5a548c 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -1072,7 +1074,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -1081,7 +1083,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { #if !BUILDFLAG(IS_ANDROID) uint64_t num_keepalive_requests_ = 0; @@ -359,10 +359,10 @@ index c7bbd6519e0cd..3dfc22b5a548c 100644 #endif diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc -index 1944adea64d4c..4b590c1a665a3 100644 +index 327282bd86785..a27fb4161b70c 100644 --- chrome/browser/prefs/browser_prefs.cc +++ chrome/browser/prefs/browser_prefs.cc -@@ -13,6 +13,7 @@ +@@ -14,6 +14,7 @@ #include "build/build_config.h" #include "build/chromecast_buildflags.h" #include "build/chromeos_buildflags.h" @@ -370,7 +370,7 @@ index 1944adea64d4c..4b590c1a665a3 100644 #include "chrome/browser/about_flags.h" #include "chrome/browser/accessibility/accessibility_labels_service.h" #include "chrome/browser/accessibility/accessibility_ui.h" -@@ -181,6 +182,10 @@ +@@ -185,6 +186,10 @@ #include "chrome/browser/background/background_mode_manager.h" #endif @@ -381,7 +381,7 @@ index 1944adea64d4c..4b590c1a665a3 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/accessibility/animation_policy_prefs.h" #include "chrome/browser/apps/platform_apps/shortcut_manager.h" -@@ -1636,6 +1641,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1531,6 +1536,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { // This is intentionally last. RegisterLocalStatePrefsForMigration(registry); @@ -393,7 +393,7 @@ index 1944adea64d4c..4b590c1a665a3 100644 } // Register prefs applicable to all profiles. -@@ -2046,6 +2056,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1945,6 +1955,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, const std::string& locale) { RegisterProfilePrefs(registry, locale); diff --git a/patch/patches/chrome_runtime_views.patch b/patch/patches/chrome_runtime_views.patch index 3087a70e7..219c07a34 100644 --- a/patch/patches/chrome_runtime_views.patch +++ b/patch/patches/chrome_runtime_views.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc -index 38fe556ecb2f7..86e38031e026a 100644 +index db31ee0b50746..2f3aebdcb6101 100644 --- chrome/browser/ui/browser_command_controller.cc +++ chrome/browser/ui/browser_command_controller.cc @@ -401,6 +401,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( @@ -41,7 +41,7 @@ index 38fe556ecb2f7..86e38031e026a 100644 bool BrowserCommandController::IsWebAppOrCustomTab() const { diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc -index 499c6aef7b3be..507a95d177980 100644 +index 2f7825a3bdf38..8553f4293c576 100644 --- chrome/browser/ui/toolbar/app_menu_model.cc +++ chrome/browser/ui/toolbar/app_menu_model.cc @@ -590,6 +590,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel( @@ -231,10 +231,10 @@ index 59024587ef6b7..0c30aa71768cf 100644 void FindBarHost::RegisterAccelerators() { diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc -index dad33e7ccfaa8..d1a644672d8e2 100644 +index c3b5d07643806..761cc6306363f 100644 --- chrome/browser/ui/views/frame/browser_frame.cc +++ chrome/browser/ui/views/frame/browser_frame.cc -@@ -91,15 +91,23 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant( +@@ -114,15 +114,23 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant( //////////////////////////////////////////////////////////////////////////////// // BrowserFrame, public: @@ -260,7 +260,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 } BrowserFrame::~BrowserFrame() {} -@@ -194,6 +202,12 @@ void BrowserFrame::LayoutWebAppWindowTitle( +@@ -228,6 +236,12 @@ void BrowserFrame::LayoutWebAppWindowTitle( } int BrowserFrame::GetTopInset() const { @@ -273,7 +273,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 return browser_frame_view_->GetTopInset(false); } -@@ -210,6 +224,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const { +@@ -240,6 +254,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const { } bool BrowserFrame::UseCustomFrame() const { @@ -282,7 +282,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 return native_browser_frame_->UseCustomFrame(); } -@@ -223,20 +239,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { +@@ -253,20 +269,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds, ui::WindowShowState* show_state) const { @@ -313,7 +313,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 browser_frame_view_->OnBrowserViewInitViewsComplete(); } -@@ -316,6 +342,8 @@ ui::ColorProviderKey::ThemeInitializerSupplier* BrowserFrame::GetCustomTheme() +@@ -367,6 +393,8 @@ ui::ColorProviderKey::ThemeInitializerSupplier* BrowserFrame::GetCustomTheme() } void BrowserFrame::OnNativeWidgetWorkspaceChanged() { @@ -322,7 +322,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), IsVisibleOnAllWorkspaces()); -@@ -427,6 +455,8 @@ void BrowserFrame::OnNativeThemeUpdated(ui::NativeTheme* observed_theme) { +@@ -478,6 +506,8 @@ void BrowserFrame::OnNativeThemeUpdated(ui::NativeTheme* observed_theme) { ui::ColorProviderKey BrowserFrame::GetColorProviderKey() const { auto key = Widget::GetColorProviderKey(); @@ -331,7 +331,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 key.app_controller = browser_view_->browser()->app_controller(); -@@ -584,5 +614,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( +@@ -642,5 +672,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( } bool BrowserFrame::IsIncognitoBrowser() const { @@ -341,7 +341,7 @@ index dad33e7ccfaa8..d1a644672d8e2 100644 return browser_view_->browser()->profile()->IsIncognitoProfile(); } diff --git chrome/browser/ui/views/frame/browser_frame.h chrome/browser/ui/views/frame/browser_frame.h -index 77ca1dbf118f9..c60711991d093 100644 +index 0c231b6ac5b01..6b5af98e18e42 100644 --- chrome/browser/ui/views/frame/browser_frame.h +++ chrome/browser/ui/views/frame/browser_frame.h @@ -61,7 +61,9 @@ enum class TabDragKind { @@ -355,10 +355,10 @@ index 77ca1dbf118f9..c60711991d093 100644 BrowserFrame(const BrowserFrame&) = delete; BrowserFrame& operator=(const BrowserFrame&) = delete; diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc -index 261dfb8562dbd..64bb1900483c8 100644 +index 2c4cb9a1e892c..b7336650fc418 100644 --- chrome/browser/ui/views/frame/browser_view.cc +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -336,11 +336,10 @@ using content::NativeWebKeyboardEvent; +@@ -338,11 +338,10 @@ using content::NativeWebKeyboardEvent; using content::WebContents; using web_modal::WebContentsModalDialogHost; @@ -397,7 +397,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 SetShowIcon( ::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay())); -@@ -886,7 +896,6 @@ BrowserView::BrowserView(std::unique_ptr browser) +@@ -888,7 +898,6 @@ BrowserView::BrowserView(std::unique_ptr browser) } browser_->tab_strip_model()->AddObserver(this); @@ -405,7 +405,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 // Top container holds tab strip region and toolbar and lives at the front of // the view hierarchy. -@@ -942,8 +951,15 @@ BrowserView::BrowserView(std::unique_ptr browser) +@@ -944,8 +953,15 @@ BrowserView::BrowserView(std::unique_ptr browser) contents_container->SetLayoutManager(std::make_unique( devtools_web_view_, contents_web_view_)); @@ -423,7 +423,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 contents_separator_ = top_container_->AddChildView(std::make_unique()); -@@ -1129,12 +1145,14 @@ gfx::Size BrowserView::GetWebAppFrameToolbarPreferredSize() const { +@@ -1147,12 +1163,14 @@ gfx::Size BrowserView::GetWebAppFrameToolbarPreferredSize() const { #if BUILDFLAG(IS_MAC) bool BrowserView::UsesImmersiveFullscreenMode() const { @@ -440,7 +440,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 } bool BrowserView::UsesImmersiveFullscreenTabbedMode() const { -@@ -1884,6 +1902,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const { +@@ -1914,6 +1932,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const { if (immersive_mode_controller_->IsEnabled()) return false; @@ -449,7 +449,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 return frame_->GetFrameView()->ShouldHideTopUIForFullscreen(); } -@@ -2887,7 +2907,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() { +@@ -2921,7 +2941,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() { } DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() { @@ -459,7 +459,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 if (auto* download_button = toolbar_button_provider_->GetDownloadButton()) return download_button->bubble_controller(); return nullptr; -@@ -3423,7 +3444,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() { +@@ -3454,7 +3475,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() { if (top_container()->parent() == this) return; @@ -469,7 +469,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 top_container()->DestroyLayer(); AddChildViewAt(top_container(), 0); EnsureFocusOrder(); -@@ -3873,11 +3895,38 @@ void BrowserView::GetAccessiblePanes(std::vector* panes) { +@@ -3904,11 +3926,38 @@ void BrowserView::GetAccessiblePanes(std::vector* panes) { bool BrowserView::ShouldDescendIntoChildForEventHandling( gfx::NativeView child, const gfx::Point& location) { @@ -510,7 +510,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 // Draggable regions are defined relative to the web contents. gfx::Point point_in_contents_web_view_coords(location); views::View::ConvertPointToTarget(GetWidget()->GetRootView(), -@@ -3886,7 +3935,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling( +@@ -3917,7 +3966,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling( // Draggable regions should be ignored for clicks into any browser view's // owned widgets, for example alerts, permission prompts or find bar. @@ -519,7 +519,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 point_in_contents_web_view_coords.x(), point_in_contents_web_view_coords.y()) || WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords); -@@ -3994,8 +4043,10 @@ void BrowserView::Layout() { +@@ -4025,8 +4074,10 @@ void BrowserView::Layout() { // TODO(jamescook): Why was this in the middle of layout code? toolbar_->location_bar()->omnibox_view()->SetFocusBehavior( @@ -532,7 +532,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) // In chromeOS ash we round the bottom two corners of the browser frame by -@@ -4073,6 +4124,11 @@ void BrowserView::AddedToWidget() { +@@ -4104,6 +4155,11 @@ void BrowserView::AddedToWidget() { SetThemeProfileForWindow(GetNativeWindow(), browser_->profile()); #endif @@ -544,7 +544,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 toolbar_->Init(); // TODO(pbos): Investigate whether the side panels should be creatable when -@@ -4120,13 +4176,9 @@ void BrowserView::AddedToWidget() { +@@ -4152,13 +4208,9 @@ void BrowserView::AddedToWidget() { EnsureFocusOrder(); @@ -560,7 +560,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 using_native_frame_ = frame_->ShouldUseNativeFrame(); MaybeInitializeWebUITabStrip(); -@@ -4544,7 +4596,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, +@@ -4571,7 +4623,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, // Undo our anti-jankiness hacks and force a re-layout. in_process_fullscreen_ = false; ToolbarSizeChanged(false); @@ -570,7 +570,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 } bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { -@@ -4915,6 +4968,8 @@ Profile* BrowserView::GetProfile() { +@@ -4942,6 +4995,8 @@ Profile* BrowserView::GetProfile() { } void BrowserView::UpdateUIForTabFullscreen() { @@ -579,7 +579,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 frame()->GetFrameView()->UpdateFullscreenTopUI(); } -@@ -4937,6 +4992,8 @@ void BrowserView::HideDownloadShelf() { +@@ -4964,6 +5019,8 @@ void BrowserView::HideDownloadShelf() { } bool BrowserView::CanUserExitFullscreen() const { @@ -589,7 +589,7 @@ index 261dfb8562dbd..64bb1900483c8 100644 } diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h -index 58f128d2217a0..2d5115f2a568e 100644 +index 8d0b8e65bb269..35cee8880bb31 100644 --- chrome/browser/ui/views/frame/browser_view.h +++ chrome/browser/ui/views/frame/browser_view.h @@ -136,11 +136,16 @@ class BrowserView : public BrowserWindow, @@ -609,9 +609,9 @@ index 58f128d2217a0..2d5115f2a568e 100644 void set_frame(BrowserFrame* frame) { frame_ = frame; paint_as_active_subscription_ = -@@ -810,6 +815,9 @@ class BrowserView : public BrowserWindow, - return web_app_frame_toolbar(); - } +@@ -819,6 +824,9 @@ class BrowserView : public BrowserWindow, + // TopContainerBackground::PaintThemeCustomImage for details. + gfx::Point GetThemeOffsetFromBrowserView() const; + protected: + virtual ToolbarView* OverrideCreateToolbar() { return nullptr; } @@ -620,10 +620,10 @@ index 58f128d2217a0..2d5115f2a568e 100644 // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate // interface to keep these two classes decoupled and testable. diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc -index f6c2991d8c453..459f39740a2de 100644 +index 36831f71eeb95..24e0f9e70781b 100644 --- chrome/browser/ui/views/frame/browser_view_layout.cc +++ chrome/browser/ui/views/frame/browser_view_layout.cc -@@ -47,6 +47,10 @@ +@@ -48,6 +48,10 @@ #include "ui/views/window/client_view.h" #include "ui/views/window/hit_test_utils.h" @@ -634,7 +634,7 @@ index f6c2991d8c453..459f39740a2de 100644 using views::View; using web_modal::ModalDialogHostObserver; using web_modal::WebContentsModalDialogHost; -@@ -566,6 +570,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { +@@ -578,6 +582,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { int BrowserViewLayout::LayoutToolbar(int top) { TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar"); @@ -665,10 +665,10 @@ index 8267a265a8e10..ee08f18e96a34 100644 ContentsWebView::~ContentsWebView() { diff --git chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc -index deb2cbe415610..b19dba22d8cc2 100644 +index f1d303e9b7fd8..8a5935e8f10da 100644 --- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc -@@ -404,6 +404,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView( +@@ -549,6 +549,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView( frame->GetNativeWindow()->SetEventTargeter( std::make_unique()); #endif @@ -680,7 +680,7 @@ index deb2cbe415610..b19dba22d8cc2 100644 } PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() { -@@ -503,17 +508,20 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds( +@@ -644,17 +649,20 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds( int PictureInPictureBrowserFrameView::NonClientHitTest( const gfx::Point& point) { @@ -710,7 +710,7 @@ index deb2cbe415610..b19dba22d8cc2 100644 } // Allow dragging and resizing the window. -@@ -523,6 +531,27 @@ int PictureInPictureBrowserFrameView::NonClientHitTest( +@@ -664,6 +672,27 @@ int PictureInPictureBrowserFrameView::NonClientHitTest( if (window_component != HTNOWHERE) return window_component; @@ -738,7 +738,7 @@ index deb2cbe415610..b19dba22d8cc2 100644 // Allow interacting with the web contents. int frame_component = frame()->client_view()->NonClientHitTest(point); if (frame_component != HTNOWHERE) -@@ -581,7 +610,8 @@ void PictureInPictureBrowserFrameView::Layout() { +@@ -722,7 +751,8 @@ void PictureInPictureBrowserFrameView::Layout() { gfx::Rect content_area = GetLocalBounds(); content_area.Inset(FrameBorderInsets()); gfx::Rect top_bar = content_area; @@ -748,7 +748,7 @@ index deb2cbe415610..b19dba22d8cc2 100644 top_bar_container_view_->SetBoundsRect(top_bar); #if !BUILDFLAG(IS_ANDROID) if (auto_pip_setting_overlay_) { -@@ -982,7 +1012,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { +@@ -1171,7 +1201,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { } int PictureInPictureBrowserFrameView::GetTopAreaHeight() const { @@ -776,7 +776,7 @@ index 723a2840bd988..975152c988917 100644 case PageActionIconType::kPaymentsOfferNotification: add_page_action_icon( diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc -index dc792bea0ab88..e02cdd3214b1d 100644 +index 734c741d1f2fa..739b468cfc0d8 100644 --- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc +++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc @@ -560,29 +560,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup( @@ -822,13 +822,13 @@ index dc792bea0ab88..e02cdd3214b1d 100644 } diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc -index 55c2762426eaa..d2a6f69ad70aa 100644 +index 2ea09fd7e8cc0..d5afd2bcb0e3c 100644 --- chrome/browser/ui/views/toolbar/toolbar_view.cc +++ chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -182,7 +182,7 @@ class TabstripLikeBackground : public views::Background { +@@ -183,7 +183,7 @@ class TabstripLikeBackground : public views::Background { void Paint(gfx::Canvas* canvas, views::View* view) const override { - bool painted = TopContainerBackground::PaintThemeCustomImage( - canvas, view, browser_view_, /*translate_view_coordinates=*/false); + bool painted = TopContainerBackground::PaintThemeCustomImage(canvas, view, + browser_view_); - if (!painted) { + if (!painted && browser_view_->frame()->GetFrameView()) { SkColor frame_color = diff --git a/patch/patches/component_build.patch b/patch/patches/component_build.patch index 860055253..e1e4a2318 100644 --- a/patch/patches/component_build.patch +++ b/patch/patches/component_build.patch @@ -1,5 +1,5 @@ diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h -index e01c49c01b820..8e8634b2f96ba 100644 +index d7bf8b91f83e8..af05c80574ac1 100644 --- content/browser/devtools/devtools_instrumentation.h +++ content/browser/devtools/devtools_instrumentation.h @@ -102,7 +102,7 @@ bool ApplyUserAgentMetadataOverrides( diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 56a63b962..6a7abdbab 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -1,5 +1,5 @@ diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc -index 5634cbee2987c..88e2be9d6b2c1 100644 +index 34cacda8ef225..e0465b8ac1185 100644 --- content/browser/devtools/devtools_http_handler.cc +++ content/browser/devtools/devtools_http_handler.cc @@ -588,7 +588,7 @@ void DevToolsHttpHandler::OnJsonRequest( @@ -12,10 +12,10 @@ index 5634cbee2987c..88e2be9d6b2c1 100644 version.Set("V8-Version", V8_VERSION_STRING); std::string host = info.GetHeaderValue("host"); diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc -index 9add88b4b9900..230bfa11d1a8c 100644 +index 3b58e4f2de295..e0348501c83d8 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc -@@ -772,6 +772,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() { +@@ -774,6 +774,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() { resource_request_->has_user_gesture, initiating_origin, initiator_document_.AsRenderFrameHostIfValid(), &loader_factory); @@ -34,10 +34,10 @@ index 9add88b4b9900..230bfa11d1a8c 100644 factory = base::MakeRefCounted( std::move(loader_factory)); diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc -index af623d96cb4a0..e16569d6b5fcb 100644 +index a0d56a9a24f22..c7cc6c3f6ae3f 100644 --- content/public/browser/content_browser_client.cc +++ content/public/browser/content_browser_client.cc -@@ -1029,7 +1029,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( +@@ -1047,7 +1047,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( void ContentBrowserClient::OnNetworkServiceCreated( network::mojom::NetworkService* network_service) {} @@ -46,7 +46,7 @@ index af623d96cb4a0..e16569d6b5fcb 100644 BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -1038,6 +1038,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( +@@ -1056,6 +1056,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( cert_verifier_creation_params) { network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = "en-us,en"; @@ -55,7 +55,7 @@ index af623d96cb4a0..e16569d6b5fcb 100644 std::vector diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h -index 5fec5acd6fac3..9f80d1f91d0b5 100644 +index a6e922be7e686..e4b4a9150295a 100644 --- content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h @@ -40,6 +40,7 @@ @@ -66,7 +66,7 @@ index 5fec5acd6fac3..9f80d1f91d0b5 100644 #include "content/public/common/alternative_error_page_override_info.mojom-forward.h" #include "content/public/common/page_visibility_state.h" #include "content/public/common/window_container_type.mojom-forward.h" -@@ -1896,7 +1897,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1914,7 +1915,7 @@ class CONTENT_EXPORT ContentBrowserClient { // // If |relative_partition_path| is the empty string, it means this needs to // create the default NetworkContext for the BrowserContext. @@ -75,7 +75,7 @@ index 5fec5acd6fac3..9f80d1f91d0b5 100644 BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -2108,6 +2109,19 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2128,6 +2129,19 @@ class CONTENT_EXPORT ContentBrowserClient { RenderFrameHost* initiator_document, mojo::PendingRemote* out_factory); @@ -95,7 +95,7 @@ index 5fec5acd6fac3..9f80d1f91d0b5 100644 // Creates an OverlayWindow to be used for video or Picture-in-Picture. // This window will house the content shown when in Picture-in-Picture mode. // This will return a new OverlayWindow. -@@ -2164,6 +2178,10 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2184,6 +2198,10 @@ class CONTENT_EXPORT ContentBrowserClient { // Used as part of the user agent string. virtual std::string GetProduct(); @@ -132,10 +132,10 @@ index a4130ad4dc815..b303f6c8768b7 100644 // started. virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc -index d1f8638d39085..e45b9989362ab 100644 +index 328ed025f6b71..3f0e661054c7e 100644 --- content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc -@@ -622,6 +622,8 @@ void RenderThreadImpl::Init() { +@@ -621,6 +621,8 @@ void RenderThreadImpl::Init() { GetContentClient()->renderer()->CreateURLLoaderThrottleProvider( blink::URLLoaderThrottleProviderType::kFrame); @@ -145,10 +145,10 @@ index d1f8638d39085..e45b9989362ab 100644 base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this))); diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc -index 91bf7695e6cc5..fd21906e967b9 100644 +index 3206463a734a8..39cd7e0e2656c 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc -@@ -946,6 +946,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { +@@ -947,6 +947,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { //------------------------------------------------------------------------------ @@ -165,7 +165,7 @@ index 91bf7695e6cc5..fd21906e967b9 100644 RendererBlinkPlatformImpl::CreateWebV8ValueConverter() { return std::make_unique(); diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h -index 587565fa2fd5d..d68eeea7e842e 100644 +index 4813c8ce4525f..be9f6167288a7 100644 --- content/renderer/renderer_blink_platform_impl.h +++ content/renderer/renderer_blink_platform_impl.h @@ -224,6 +224,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -179,7 +179,7 @@ index 587565fa2fd5d..d68eeea7e842e 100644 // plus eTLD+1, such as https://google.com), or to a more specific origin. void SetIsLockedToSite(); diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc -index c49be4358db79..7e08c90887f82 100644 +index c1834434b9e7d..71b9d1034e7d8 100644 --- content/shell/browser/shell_content_browser_client.cc +++ content/shell/browser/shell_content_browser_client.cc @@ -668,7 +668,7 @@ void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess( @@ -213,10 +213,10 @@ index 32966a5dcf3e6..0954d033d0f4b 100644 bool in_memory, const base::FilePath& relative_partition_path, diff --git headless/lib/browser/headless_content_browser_client.cc headless/lib/browser/headless_content_browser_client.cc -index eb4a7fdec40d7..741094edff3cb 100644 +index 8d5fc50c9d528..7692150fb9ce0 100644 --- headless/lib/browser/headless_content_browser_client.cc +++ headless/lib/browser/headless_content_browser_client.cc -@@ -299,7 +299,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed( +@@ -294,7 +294,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed( return true; } @@ -225,7 +225,7 @@ index eb4a7fdec40d7..741094edff3cb 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -309,6 +309,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams( +@@ -304,6 +304,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams( HeadlessBrowserContextImpl::From(context)->ConfigureNetworkContextParams( in_memory, relative_partition_path, network_context_params, cert_verifier_creation_params); @@ -234,7 +234,7 @@ index eb4a7fdec40d7..741094edff3cb 100644 std::string HeadlessContentBrowserClient::GetProduct() { diff --git headless/lib/browser/headless_content_browser_client.h headless/lib/browser/headless_content_browser_client.h -index aee1b9b88171b..e1f05c20027e1 100644 +index dfdef1bdae542..af36779ca0ed6 100644 --- headless/lib/browser/headless_content_browser_client.h +++ headless/lib/browser/headless_content_browser_client.h @@ -80,7 +80,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient { diff --git a/patch/patches/content_main_654986.patch b/patch/patches/content_main_654986.patch index 0c3a35227..566fb6e76 100644 --- a/patch/patches/content_main_654986.patch +++ b/patch/patches/content_main_654986.patch @@ -1,5 +1,5 @@ diff --git content/app/content_main.cc content/app/content_main.cc -index 6c672cdc421bd..048282646af69 100644 +index a3c00c9743117..d596775057fb9 100644 --- content/app/content_main.cc +++ content/app/content_main.cc @@ -173,11 +173,8 @@ ContentMainParams::~ContentMainParams() = default; @@ -21,7 +21,7 @@ index 6c672cdc421bd..048282646af69 100644 #endif int exit_code = -1; -#if BUILDFLAG(IS_MAC) -- std::unique_ptr autorelease_pool; +- std::unique_ptr autorelease_pool; -#endif // A flag to indicate whether Main() has been called before. On Android, we @@ -34,7 +34,7 @@ index 6c672cdc421bd..048282646af69 100644 - // loop, but we don't want to leave them hanging around until the app quits. - // Each "main" needs to flush this pool right before it goes into its main - // event loop to get rid of the cruft. -- autorelease_pool = std::make_unique(); +- autorelease_pool = std::make_unique(); - params.autorelease_pool = autorelease_pool.get(); InitializeMac(); #endif @@ -74,8 +74,8 @@ index 6c672cdc421bd..048282646af69 100644 + // loop, but we don't want to leave them hanging around until the app quits. + // Each "main" needs to flush this pool right before it goes into its main + // event loop to get rid of the cruft. -+ std::unique_ptr autorelease_pool = -+ std::make_unique(); ++ std::unique_ptr autorelease_pool = ++ std::make_unique(); + params.autorelease_pool = autorelease_pool.get(); +#endif + @@ -94,7 +94,7 @@ index 6c672cdc421bd..048282646af69 100644 } diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc -index 6cb42330a794c..f5294cc06ced3 100644 +index 11dcd5eaabaab..ea72a69767e7c 100644 --- content/app/content_main_runner_impl.cc +++ content/app/content_main_runner_impl.cc @@ -46,6 +46,7 @@ @@ -105,7 +105,7 @@ index 6cb42330a794c..f5294cc06ced3 100644 #include "base/time/time.h" #include "base/trace_event/trace_event.h" #include "build/build_config.h" -@@ -1306,6 +1307,11 @@ void ContentMainRunnerImpl::Shutdown() { +@@ -1328,6 +1329,11 @@ void ContentMainRunnerImpl::Shutdown() { is_shutdown_ = true; } @@ -153,7 +153,7 @@ index 283161145d792..9f3f635abdd1c 100644 if (main_argv) setproctitle_init(main_argv); diff --git content/public/app/content_main.h content/public/app/content_main.h -index 9be99b20469c0..7d5095593b5fa 100644 +index 876ee72774be1..2b458ac4dcc7a 100644 --- content/public/app/content_main.h +++ content/public/app/content_main.h @@ -96,6 +96,13 @@ struct CONTENT_EXPORT ContentMainParams { diff --git a/patch/patches/crashpad_1995.patch b/patch/patches/crashpad_1995.patch index fa3e57b6f..384b1c42a 100644 --- a/patch/patches/crashpad_1995.patch +++ b/patch/patches/crashpad_1995.patch @@ -349,13 +349,13 @@ index 99efa6b245b99..008eb397332c2 100644 annotations, arguments, false, false)); } else { diff --git components/crash/core/app/crashpad_mac.mm components/crash/core/app/crashpad_mac.mm -index e6c1805bfd52f..7eeceee06338a 100644 +index eb5bcfe0234c3..8963b26806922 100644 --- components/crash/core/app/crashpad_mac.mm +++ components/crash/core/app/crashpad_mac.mm @@ -17,11 +17,14 @@ + #include "base/apple/foundation_util.h" #include "base/check.h" #include "base/files/file_path.h" - #include "base/mac/foundation_util.h" +#include "base/path_service.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_piece.h" @@ -382,12 +382,12 @@ index e6c1805bfd52f..7eeceee06338a 100644 - process_annotations["prod"] = "Chrome_Mac"; + process_annotations["product"] = "Chrome_Mac"; #else -- NSString* product = base::mac::ObjCCast( +- NSString* product = base::apple::ObjCCast( - [outer_bundle objectForInfoDictionaryKey:base::apple::CFToNSPtrCast( - kCFBundleNameKey)]); - process_annotations["prod"] = - base::SysNSStringToUTF8(product).append("_Mac"); -+ NSString* product = base::mac::ObjCCast( ++ NSString* product = base::apple::ObjCCast( + [outer_bundle objectForInfoDictionaryKey:base::apple::CFToNSPtrCast( + kCFBundleNameKey)]); + process_annotations["product"] = @@ -404,12 +404,12 @@ index e6c1805bfd52f..7eeceee06338a 100644 } - NSString* version = -- base::mac::ObjCCast([base::apple::FrameworkBundle() +- base::apple::ObjCCast([base::apple::FrameworkBundle() - objectForInfoDictionaryKey:@"CFBundleShortVersionString"]); - process_annotations["ver"] = base::SysNSStringToUTF8(version); + if (strlen(product_version) == 0) { + NSString* version = -+ base::mac::ObjCCast([base::apple::FrameworkBundle() ++ base::apple::ObjCCast([base::apple::FrameworkBundle() + objectForInfoDictionaryKey:@"CFBundleShortVersionString"]); + process_annotations["version"] = base::SysNSStringToUTF8(version); + } else { diff --git a/patch/patches/crashpad_tp_1995.patch b/patch/patches/crashpad_tp_1995.patch index 5820e81e3..031e5a659 100644 --- a/patch/patches/crashpad_tp_1995.patch +++ b/patch/patches/crashpad_tp_1995.patch @@ -248,7 +248,7 @@ index 22bb26e31893b..87c80604e5f7a 100644 //! \brief Calls ProcessPendingReports() in response to ReportPending() having //! been called on any thread, as well as periodically on a timer. diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc -index b7ba6b14bb9b3..0567343c99325 100644 +index 7e908c0a305be..e35414a131f07 100644 --- third_party/crashpad/crashpad/handler/handler_main.cc +++ third_party/crashpad/crashpad/handler/handler_main.cc @@ -39,6 +39,7 @@ diff --git a/patch/patches/embedder_product_override.patch b/patch/patches/embedder_product_override.patch index 9ae3b736c..eccfbcce6 100644 --- a/patch/patches/embedder_product_override.patch +++ b/patch/patches/embedder_product_override.patch @@ -1,5 +1,5 @@ diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc -index 2ab34ff2fc8a5..da93f514dd265 100644 +index c957a691efcac..127872ce6c249 100644 --- components/embedder_support/user_agent_utils.cc +++ components/embedder_support/user_agent_utils.cc @@ -18,6 +18,7 @@ @@ -21,9 +21,9 @@ index 2ab34ff2fc8a5..da93f514dd265 100644 namespace embedder_support { namespace { -@@ -339,6 +344,14 @@ blink::UserAgentBrandList GetBrandFullVersionList( +@@ -240,6 +245,14 @@ blink::UserAgentBrandList GetUserAgentBrandFullVersionList( + std::string GetProductAndVersion( - ForceMajorVersionToMinorPosition force_major_to_minor, UserAgentReductionEnterprisePolicyState user_agent_reduction) { +#if BUILDFLAG(ENABLE_CEF) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); @@ -33,6 +33,6 @@ index 2ab34ff2fc8a5..da93f514dd265 100644 + } +#endif + - if (ShouldForceMajorVersionToMinorPosition(force_major_to_minor)) { - // Force major version to 99 and major version to minor version position. - return "Chrome/" + (ShouldReduceUserAgentMinorVersion(user_agent_reduction) + return ShouldReduceUserAgentMinorVersion(user_agent_reduction) + ? version_info::GetProductNameAndVersionForReducedUserAgent( + blink::features::kUserAgentFrozenBuildVersion.Get()) diff --git a/patch/patches/extensions_1947.patch b/patch/patches/extensions_1947.patch index 4e30dd9b5..e695028b1 100644 --- a/patch/patches/extensions_1947.patch +++ b/patch/patches/extensions_1947.patch @@ -60,7 +60,7 @@ index cead7cfa14bae..24142c2e4896f 100644 std::unique_ptr stream_container( new StreamContainer(tab_id, embedded, handler_url, extension_id, diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc -index a1e0b689174b8..87908c22f7189 100644 +index 3d2108f13ea2f..261b0a42bfb21 100644 --- extensions/browser/extension_host.cc +++ extensions/browser/extension_host.cc @@ -62,11 +62,12 @@ ExtensionHost::ExtensionHost(const Extension* extension, @@ -131,10 +131,10 @@ index a1e0b689174b8..87908c22f7189 100644 ExtensionRegistry::Get(browser_context_)->RemoveObserver(this); diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h -index 9754668feabbf..0fe27053dffcd 100644 +index dda0620251895..2b29bdef52444 100644 --- extensions/browser/extension_host.h +++ extensions/browser/extension_host.h -@@ -61,6 +61,12 @@ class ExtensionHost : public DeferredStartRenderHost, +@@ -62,6 +62,12 @@ class ExtensionHost : public DeferredStartRenderHost, content::SiteInstance* site_instance, const GURL& url, mojom::ViewType host_type); @@ -147,16 +147,16 @@ index 9754668feabbf..0fe27053dffcd 100644 ExtensionHost(const ExtensionHost&) = delete; ExtensionHost& operator=(const ExtensionHost&) = delete; -@@ -71,7 +77,7 @@ class ExtensionHost : public DeferredStartRenderHost, +@@ -72,7 +78,7 @@ class ExtensionHost : public DeferredStartRenderHost, const Extension* extension() const { return extension_; } - const std::string& extension_id() const { return extension_id_; } + const ExtensionId& extension_id() const { return extension_id_; } - content::WebContents* host_contents() const { return host_contents_.get(); } + content::WebContents* host_contents() const { return host_contents_; } content::RenderFrameHost* main_frame_host() const { return main_frame_host_; } content::RenderProcessHost* render_process_host() const; bool has_loaded_once() const { return has_loaded_once_; } -@@ -222,7 +228,8 @@ class ExtensionHost : public DeferredStartRenderHost, +@@ -223,7 +229,8 @@ class ExtensionHost : public DeferredStartRenderHost, raw_ptr browser_context_; // The host for our HTML content. @@ -198,7 +198,7 @@ index c3197eb4790fa..1e7ae767b0582 100644 } diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h -index c8b79578252a9..fbfac71f6a861 100644 +index 058367b7ab78d..99a9e901566ce 100644 --- extensions/browser/extensions_browser_client.h +++ extensions/browser/extensions_browser_client.h @@ -32,6 +32,7 @@ @@ -217,7 +217,7 @@ index c8b79578252a9..fbfac71f6a861 100644 class ExtensionHostDelegate; class ExtensionSet; class ExtensionSystem; -@@ -263,6 +265,14 @@ class ExtensionsBrowserClient { +@@ -265,6 +267,14 @@ class ExtensionsBrowserClient { virtual std::unique_ptr CreateExtensionHostDelegate() = 0; @@ -233,10 +233,10 @@ index c8b79578252a9..fbfac71f6a861 100644 // once each time the extensions system is loaded per browser_context. The // implementation may wish to use the BrowserContext to record the current diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc -index c9e90b66d739d..cb3e3345a6f30 100644 +index 580df6d9b0ae7..39b2d5ccc074c 100644 --- extensions/browser/process_manager.cc +++ extensions/browser/process_manager.cc -@@ -379,9 +379,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension, +@@ -380,9 +380,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension, return true; // TODO(kalman): return false here? It might break things... DVLOG(1) << "CreateBackgroundHost " << extension->id(); diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index d71bd9eb3..913fe2377 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -1,8 +1,8 @@ diff --git .gn .gn -index 16bf620b7c2ee..37d7ab18e670b 100644 +index 628071cb9a464..1595a4283e134 100644 --- .gn +++ .gn -@@ -145,6 +145,8 @@ exec_script_whitelist = +@@ -144,6 +144,8 @@ exec_script_whitelist = "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", "//chrome/version.gni", @@ -12,7 +12,7 @@ index 16bf620b7c2ee..37d7ab18e670b 100644 # https://crbug.com/474506. "//clank/java/BUILD.gn", diff --git BUILD.gn BUILD.gn -index dfcf0ad823868..6e041f3f6eb1f 100644 +index e8c8a8450ff83..065f99491a2cb 100644 --- BUILD.gn +++ BUILD.gn @@ -19,6 +19,7 @@ import("//build/config/sanitizers/sanitizers.gni") @@ -23,7 +23,7 @@ index dfcf0ad823868..6e041f3f6eb1f 100644 import("//chrome/browser/buildflags.gni") import("//components/nacl/features.gni") import("//device/vr/buildflags/buildflags.gni") -@@ -282,6 +283,10 @@ group("gn_all") { +@@ -276,6 +277,10 @@ group("gn_all") { deps += root_extra_deps @@ -76,7 +76,7 @@ index 1da479dd5eebc..ff9c7e467997c 100644 - visual_studio_runtime_dirs = [] } diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni -index 98d206b764d92..ae9a84745e761 100644 +index 353fdabb937ca..4e09414bc211f 100644 --- chrome/chrome_paks.gni +++ chrome/chrome_paks.gni @@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni") @@ -99,7 +99,7 @@ index 98d206b764d92..ae9a84745e761 100644 sources += [ "$root_gen_dir/extensions/extensions_browser_resources_${percent}_percent.pak" ] deps += [ "//extensions:extensions_browser_resources" ] diff --git chrome/chrome_repack_locales.gni chrome/chrome_repack_locales.gni -index adc881122cb9c..cafa71386fad6 100644 +index 7aa8989a0f471..7c93cbd96b362 100644 --- chrome/chrome_repack_locales.gni +++ chrome/chrome_repack_locales.gni @@ -6,6 +6,7 @@ import("//build/config/chrome_build.gni") @@ -110,7 +110,7 @@ index adc881122cb9c..cafa71386fad6 100644 import("//extensions/buildflags/buildflags.gni") import("//tools/grit/repack.gni") -@@ -91,6 +92,10 @@ template("chrome_repack_locales") { +@@ -93,6 +94,10 @@ template("chrome_repack_locales") { [ "${root_gen_dir}/chromeos/strings/chromeos_strings_" ] deps += [ "//chromeos/strings" ] } @@ -122,7 +122,7 @@ index adc881122cb9c..cafa71386fad6 100644 source_patterns += [ "${root_gen_dir}/extensions/strings/extensions_strings_" ] diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn -index e9b34c78999b0..a1e06920636f6 100644 +index 71803adcfbe02..80543d0aa58c8 100644 --- chrome/installer/mini_installer/BUILD.gn +++ chrome/installer/mini_installer/BUILD.gn @@ -6,6 +6,7 @@ import("//build/config/compiler/compiler.gni") @@ -132,8 +132,8 @@ index e9b34c78999b0..a1e06920636f6 100644 +import("//cef/libcef/features/features.gni") import("//chrome/process_version_rc_template.gni") import("//components/nacl/features.gni") - import("//third_party/ffmpeg/ffmpeg_options.gni") -@@ -125,11 +126,13 @@ action("mini_installer_archive") { + import("//third_party/dawn/scripts/dawn_features.gni") +@@ -123,11 +124,13 @@ action("mini_installer_archive") { inputs = [ "$root_out_dir/chrome.dll", "$root_out_dir/chrome.exe", diff --git a/patch/patches/gritsettings.patch b/patch/patches/gritsettings.patch index b557c5dae..13898d62a 100644 --- a/patch/patches/gritsettings.patch +++ b/patch/patches/gritsettings.patch @@ -1,8 +1,8 @@ diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec -index a327136986b82..f66880032ec61 100644 +index e65fe348a1b7e..7ef760b495845 100644 --- tools/gritsettings/resource_ids.spec +++ tools/gritsettings/resource_ids.spec -@@ -1200,6 +1200,15 @@ +@@ -1216,6 +1216,15 @@ # END "everything else" section. # Everything but chrome/, components/, content/, and ios/ diff --git a/patch/patches/light_mode_3534.patch b/patch/patches/light_mode_3534.patch index 59bf495a4..a489dd1b7 100644 --- a/patch/patches/light_mode_3534.patch +++ b/patch/patches/light_mode_3534.patch @@ -32,14 +32,13 @@ index 325bc70b6ba97..d4117dbb1d4d8 100644 return (dark_mode_support.allow_dark_mode_for_app || dark_mode_support.set_preferred_app_mode) && diff --git ui/native_theme/native_theme_mac.mm ui/native_theme/native_theme_mac.mm -index 604ef6b4771e3..0011a095f8a66 100644 +index e6078b2a45d88..bf051fb8a02f4 100644 --- ui/native_theme/native_theme_mac.mm +++ ui/native_theme/native_theme_mac.mm -@@ -45,6 +45,14 @@ bool PrefersReducedTransparency() { - bool IsHighContrast() { - return NSWorkspace.sharedWorkspace.accessibilityDisplayShouldIncreaseContrast; +@@ -50,6 +50,13 @@ bool InvertedColors() { + return NSWorkspace.sharedWorkspace.accessibilityDisplayShouldInvertColors; } -+ + +bool IsForcedLightMode() { + static bool kIsForcedLightMode = + base::CommandLine::ForCurrentProcess()->HasSwitch( @@ -50,7 +49,7 @@ index 604ef6b4771e3..0011a095f8a66 100644 } // namespace // Helper object to respond to light mode/dark mode changeovers. -@@ -567,11 +575,15 @@ void NativeThemeMac::PaintSelectedMenuItem( +@@ -577,11 +584,15 @@ void NativeThemeMac::PaintSelectedMenuItem( void NativeThemeMac::InitializeDarkModeStateAndObserver() { __block auto theme = this; @@ -68,7 +67,7 @@ index 604ef6b4771e3..0011a095f8a66 100644 theme->set_preferred_color_scheme(CalculatePreferredColorScheme()); theme->NotifyOnNativeThemeUpdated(); }]; -@@ -580,7 +592,9 @@ void NativeThemeMac::InitializeDarkModeStateAndObserver() { +@@ -590,7 +601,9 @@ void NativeThemeMac::InitializeDarkModeStateAndObserver() { void NativeThemeMac::ConfigureWebInstance() { // NativeThemeAura is used as web instance so we need to initialize its state. NativeTheme* web_instance = NativeTheme::GetInstanceForWeb(); @@ -80,10 +79,10 @@ index 604ef6b4771e3..0011a095f8a66 100644 web_instance->SetPreferredContrast(CalculatePreferredContrast()); web_instance->set_prefers_reduced_transparency(PrefersReducedTransparency()); diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc -index d3f9fcbed28f9..32ab3dc997027 100644 +index faa15be0b3e08..a61974c495507 100644 --- ui/native_theme/native_theme_win.cc +++ ui/native_theme/native_theme_win.cc -@@ -630,14 +630,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const { +@@ -656,14 +656,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const { // Windows high contrast modes are entirely different themes, // so let them take priority over dark mode. // ...unless --force-dark-mode was specified in which case caveat emptor. @@ -103,7 +102,7 @@ index d3f9fcbed28f9..32ab3dc997027 100644 return NativeTheme::CalculatePreferredColorScheme(); // According to the spec, the preferred color scheme for web content is 'dark' -@@ -1590,8 +1593,9 @@ void NativeThemeWin::RegisterThemeRegkeyObserver() { +@@ -1652,8 +1655,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() { } void NativeThemeWin::UpdateDarkModeStatus() { diff --git a/patch/patches/linux_assets_path_1936.patch b/patch/patches/linux_assets_path_1936.patch index a5c2cfe92..f88d61164 100644 --- a/patch/patches/linux_assets_path_1936.patch +++ b/patch/patches/linux_assets_path_1936.patch @@ -1,8 +1,8 @@ diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc -index 31ccdd899b06f..06a432a5a179e 100644 +index ff73345339cca..9f05df0924a9c 100644 --- content/browser/child_process_launcher_helper_linux.cc +++ content/browser/child_process_launcher_helper_linux.cc -@@ -184,7 +184,7 @@ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() { +@@ -187,7 +187,7 @@ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() { base::File OpenFileToShare(const base::FilePath& path, base::MemoryMappedFile::Region* region) { base::FilePath exe_dir; diff --git a/patch/patches/linux_printing_context.patch b/patch/patches/linux_printing_context.patch index f444c0a48..b0d6076a9 100644 --- a/patch/patches/linux_printing_context.patch +++ b/patch/patches/linux_printing_context.patch @@ -1,8 +1,8 @@ diff --git printing/printing_context_linux.cc printing/printing_context_linux.cc -index 4f219a5df0089..31f751068080a 100644 +index bbb0082a2ec07..2be329bc10344 100644 --- printing/printing_context_linux.cc +++ printing/printing_context_linux.cc -@@ -69,11 +69,11 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSettings() { +@@ -73,11 +73,11 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSettings() { ResetSettings(); #if BUILDFLAG(IS_LINUX) @@ -16,7 +16,7 @@ index 4f219a5df0089..31f751068080a 100644 if (print_dialog_) { print_dialog_->UseDefaultSettings(); -@@ -85,8 +85,8 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSettings() { +@@ -89,8 +89,8 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSettings() { gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { #if BUILDFLAG(IS_LINUX) @@ -27,7 +27,7 @@ index 4f219a5df0089..31f751068080a 100644 #endif return gfx::Size(); -@@ -98,11 +98,11 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterSettings( +@@ -102,11 +102,11 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterSettings( DCHECK(!in_print_job_); #if BUILDFLAG(IS_LINUX) diff --git a/patch/patches/mac_keyboard_conversion_1467329.patch b/patch/patches/mac_keyboard_conversion_1467329.patch index 00a1b6dcf..db2260c6b 100644 --- a/patch/patches/mac_keyboard_conversion_1467329.patch +++ b/patch/patches/mac_keyboard_conversion_1467329.patch @@ -1,5 +1,5 @@ diff --git ui/events/keycodes/keyboard_code_conversion_mac.mm ui/events/keycodes/keyboard_code_conversion_mac.mm -index 23a5e234f7030..0bcc9e3fb2eb1 100644 +index 593b5c2ddcd7d..f03d37b12c13d 100644 --- ui/events/keycodes/keyboard_code_conversion_mac.mm +++ ui/events/keycodes/keyboard_code_conversion_mac.mm @@ -935,7 +935,7 @@ DomKey DomKeyFromNSEvent(NSEvent* event) { diff --git a/patch/patches/mac_platform_style_bubble_893292.patch b/patch/patches/mac_platform_style_bubble_893292.patch index d0fffc73d..6dcd9cd75 100644 --- a/patch/patches/mac_platform_style_bubble_893292.patch +++ b/patch/patches/mac_platform_style_bubble_893292.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc -index ff271cd2ae544..f6aa2a185348f 100644 +index 4c6746fd7340e..b93121002c27f 100644 --- chrome/browser/ui/views/profiles/profile_menu_view_base.cc +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc -@@ -1021,8 +1021,8 @@ int ProfileMenuViewBase::GetMaxHeight() const { +@@ -1022,8 +1022,8 @@ int ProfileMenuViewBase::GetMaxHeight() const { ->GetDisplayNearestPoint(anchor_rect.CenterPoint()) .work_area(); int available_space = screen_space.bottom() - anchor_rect.bottom(); @@ -14,7 +14,7 @@ index ff271cd2ae544..f6aa2a185348f 100644 std::max(available_space, anchor_rect.y() - screen_space.y()); #endif diff --git ui/views/style/platform_style_mac.mm ui/views/style/platform_style_mac.mm -index 753e5b22ae10f..2d513bfb2e8e7 100644 +index 5036a02362c6d..54d7c9b6b58fb 100644 --- ui/views/style/platform_style_mac.mm +++ ui/views/style/platform_style_mac.mm @@ -43,7 +43,7 @@ const bool PlatformStyle::kTableViewSupportsKeyboardNavigationByCell = false; diff --git a/patch/patches/message_pump_mac_2495.patch b/patch/patches/message_pump_mac_2495.patch index 341879f08..d79fa6045 100644 --- a/patch/patches/message_pump_mac_2495.patch +++ b/patch/patches/message_pump_mac_2495.patch @@ -1,8 +1,8 @@ -diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm -index 442fceb2a6627..5d48b075bae86 100644 ---- base/message_loop/message_pump_mac.mm -+++ base/message_loop/message_pump_mac.mm -@@ -754,7 +754,8 @@ void MessagePumpUIApplication::Detach() { +diff --git base/message_loop/message_pump_apple.mm base/message_loop/message_pump_apple.mm +index 1ca1926d0f423..ad88913a3f463 100644 +--- base/message_loop/message_pump_apple.mm ++++ base/message_loop/message_pump_apple.mm +@@ -731,7 +731,8 @@ void MessagePumpUIApplication::Detach() { #else ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { @@ -12,7 +12,7 @@ index 442fceb2a6627..5d48b075bae86 100644 DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask()); // Pumping events in private runloop modes is known to interact badly with // app modal windows like NSAlert. -@@ -765,7 +766,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { +@@ -742,7 +743,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { } ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() { diff --git a/patch/patches/mime_handler_view_guest_1565_2727.patch b/patch/patches/mime_handler_view_guest_1565_2727.patch index ae5c95a42..94119afdb 100644 --- a/patch/patches/mime_handler_view_guest_1565_2727.patch +++ b/patch/patches/mime_handler_view_guest_1565_2727.patch @@ -12,7 +12,7 @@ index a3f8485e40bbc..dc8c1aa898f72 100644 virtual ~WebContentsView() = default; diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -index 1e1712fdf38ec..6c80de2ae90e6 100644 +index 0fc4a40faf070..66b40489529e2 100644 --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc @@ -202,6 +202,8 @@ void MimeHandlerViewGuest::CreateWebContents( @@ -35,7 +35,7 @@ index 1e1712fdf38ec..6c80de2ae90e6 100644 DCHECK(stream_->handler_url().SchemeIs(extensions::kExtensionScheme)); GetController().LoadURL(stream_->handler_url(), content::Referrer(), ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()); -@@ -475,6 +481,14 @@ void MimeHandlerViewGuest::DidFinishNavigation( +@@ -474,6 +480,14 @@ void MimeHandlerViewGuest::DidFinishNavigation( } } @@ -51,10 +51,10 @@ index 1e1712fdf38ec..6c80de2ae90e6 100644 mojo::PendingReceiver receiver) { if (!pending_before_unload_control_) diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -index 397bee1fc011b..7ee1e489503aa 100644 +index 2a2f0b6b44293..b5a5e9949138f 100644 --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -@@ -193,10 +193,12 @@ class MimeHandlerViewGuest +@@ -194,10 +194,12 @@ class MimeHandlerViewGuest void ReadyToCommitNavigation( content::NavigationHandle* navigation_handle) final; void DidFinishNavigation(content::NavigationHandle* navigation_handle) final; diff --git a/patch/patches/net_cookie_flags.patch b/patch/patches/net_cookie_flags.patch index 568fb4a57..180ef3051 100644 --- a/patch/patches/net_cookie_flags.patch +++ b/patch/patches/net_cookie_flags.patch @@ -10,10 +10,10 @@ index 4fc3870bcfbc8..24c6d32d4a8d8 100644 +// This load will not send any cookies. For CEF usage. +LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 19) diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc -index d748009dece6f..b88a28c870f8a 100644 +index eac944172789c..313c46b8088ed 100644 --- net/url_request/url_request_http_job.cc +++ net/url_request/url_request_http_job.cc -@@ -1761,7 +1761,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { +@@ -1818,7 +1818,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { // Read cookies whenever allow_credentials() is true, even if the PrivacyMode // is being overridden by NetworkDelegate and will eventually block them, as // blocked cookies still need to be logged in that case. @@ -24,10 +24,10 @@ index d748009dece6f..b88a28c870f8a 100644 bool URLRequestHttpJob::IsPartitionedCookiesEnabled() const { diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc -index d5239af9a83d4..70a2cb7728125 100644 +index 14049395fbc56..f56bfb60e693e 100644 --- services/network/public/cpp/resource_request.cc +++ services/network/public/cpp/resource_request.cc -@@ -310,7 +310,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { +@@ -311,7 +311,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { } bool ResourceRequest::SendsCookies() const { diff --git a/patch/patches/osr_fling_2745.patch b/patch/patches/osr_fling_2745.patch index a55b4c86c..b4998a2ae 100644 --- a/patch/patches/osr_fling_2745.patch +++ b/patch/patches/osr_fling_2745.patch @@ -41,10 +41,10 @@ index afefe3cd83dee..6668463247644 100644 } // namespace content diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc -index 55364bf0f6313..4b233c9f9ade5 100644 +index 9e946e02bca27..220b1ffecf063 100644 --- content/browser/renderer_host/render_widget_host_impl.cc +++ content/browser/renderer_host/render_widget_host_impl.cc -@@ -3244,6 +3244,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() { +@@ -3255,6 +3255,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() { GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE); } @@ -57,10 +57,10 @@ index 55364bf0f6313..4b233c9f9ade5 100644 const WebInputEvent& event) { if ((base::FeatureList::IsEnabled( diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h -index 401123216fccc..b677c24c094e4 100644 +index cd75eee211a8e..0ab051d0d586b 100644 --- content/browser/renderer_host/render_widget_host_impl.h +++ content/browser/renderer_host/render_widget_host_impl.h -@@ -798,6 +798,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -803,6 +803,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl void ProgressFlingIfNeeded(base::TimeTicks current_time); void StopFling(); diff --git a/patch/patches/print_preview_123.patch b/patch/patches/print_preview_123.patch index 6e2b99a60..f9aa4c217 100644 --- a/patch/patches/print_preview_123.patch +++ b/patch/patches/print_preview_123.patch @@ -34,7 +34,7 @@ index 578e66a7e8209..e25eff9c4e6d5 100644 } diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc -index a2f8a47b29a27..5d0da7d766d76 100644 +index 1a6740b36343b..6c1a3fe19cf07 100644 --- chrome/browser/printing/print_preview_dialog_controller.cc +++ chrome/browser/printing/print_preview_dialog_controller.cc @@ -15,6 +15,7 @@ @@ -84,7 +84,7 @@ index d5767fe27db0d..5778847a68208 100644 } diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc -index e487948be00f9..bc77213050069 100644 +index 9e616396c9c97..87803d244eda3 100644 --- chrome/browser/ui/webui/print_preview/print_preview_ui.cc +++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc @@ -24,6 +24,7 @@ @@ -93,9 +93,9 @@ index e487948be00f9..bc77213050069 100644 #include "build/chromeos_buildflags.h" +#include "cef/libcef/features/runtime.h" #include "chrome/browser/browser_process.h" + #include "chrome/browser/enterprise/browser_management/management_service_factory.h" #include "chrome/browser/pdf/pdf_extension_util.h" - #include "chrome/browser/policy/management_utils.h" -@@ -105,6 +106,13 @@ const char16_t kBasicPrintShortcut[] = u"(\u2325\u2318P)"; +@@ -106,6 +107,13 @@ const char16_t kBasicPrintShortcut[] = u"(\u2325\u2318P)"; const char16_t kBasicPrintShortcut[] = u"(Ctrl+Shift+P)"; #endif @@ -108,8 +108,8 @@ index e487948be00f9..bc77213050069 100644 + constexpr char kInvalidArgsForDidStartPreview[] = "Invalid arguments for DidStartPreview"; - constexpr char kInvalidPageNumberForDidPreviewPage[] = -@@ -300,7 +308,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) { + constexpr char kInvalidPageIndexForDidPreviewPage[] = +@@ -303,7 +311,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) { source->AddLocalizedStrings(kLocalizedStrings); #if !BUILDFLAG(IS_CHROMEOS) diff --git a/patch/patches/printing_context_2196.patch b/patch/patches/printing_context_2196.patch index 8e3c2ff7f..9e0dea43d 100644 --- a/patch/patches/printing_context_2196.patch +++ b/patch/patches/printing_context_2196.patch @@ -11,10 +11,10 @@ index 83bce57ef52af..cb14470d16e4a 100644 PrinterQuery::~PrinterQuery() { diff --git printing/printing_context.h printing/printing_context.h -index 2fb3aef0797f2..73248cd2d2039 100644 +index c753f04d8b73a..7607571f78119 100644 --- printing/printing_context.h +++ printing/printing_context.h -@@ -180,6 +180,13 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { +@@ -176,6 +176,13 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { int job_id() const { return job_id_; } @@ -28,7 +28,7 @@ index 2fb3aef0797f2..73248cd2d2039 100644 protected: explicit PrintingContext(Delegate* delegate); -@@ -224,6 +231,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { +@@ -220,6 +227,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { // The job id for the current job. The value is 0 if no jobs are active. int job_id_; diff --git a/patch/patches/renderer_host_1070713.patch b/patch/patches/renderer_host_1070713.patch index 2067f60c7..fab00f780 100644 --- a/patch/patches/renderer_host_1070713.patch +++ b/patch/patches/renderer_host_1070713.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc -index 830307d5113f2..3d6959dfff18e 100644 +index 8a8f88c0beed2..c2c47c2a063fe 100644 --- content/browser/renderer_host/render_view_host_impl.cc +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -707,6 +707,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { +@@ -713,6 +713,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { } void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { diff --git a/patch/patches/rwh_background_color_1984.patch b/patch/patches/rwh_background_color_1984.patch index 8421792bf..ae1c59da2 100644 --- a/patch/patches/rwh_background_color_1984.patch +++ b/patch/patches/rwh_background_color_1984.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc -index 628724f3cc5c9..3a26148fac2a7 100644 +index d8345f942111f..36c1fa6d7f64f 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -6,6 +6,7 @@ @@ -10,7 +10,7 @@ index 628724f3cc5c9..3a26148fac2a7 100644 #include #include -@@ -739,10 +740,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() { +@@ -745,10 +746,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() { void RenderWidgetHostViewAura::UpdateBackgroundColor() { DCHECK(GetBackgroundColor()); @@ -27,7 +27,7 @@ index 628724f3cc5c9..3a26148fac2a7 100644 } #if BUILDFLAG(IS_WIN) -@@ -2355,6 +2358,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { +@@ -2383,6 +2386,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { // This needs to happen only after |window_| has been initialized using // Init(), because it needs to have the layer. window_->SetEmbedFrameSinkId(frame_sink_id_); diff --git a/patch/patches/services_network_2622.patch b/patch/patches/services_network_2622.patch index d48474b70..f63453455 100644 --- a/patch/patches/services_network_2622.patch +++ b/patch/patches/services_network_2622.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc -index 3579ed4022aa7..79942570d3b50 100644 +index 0257b1e7e2ad4..b910f788f5a57 100644 --- chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc +++ chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc @@ -23,6 +23,7 @@ @@ -10,7 +10,7 @@ index 3579ed4022aa7..79942570d3b50 100644 #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/analysis/analysis_settings.h" #include "chrome/browser/enterprise/connectors/analysis/content_analysis_dialog.h" -@@ -248,6 +249,9 @@ bool ContentAnalysisDelegate::IsEnabled(Profile* profile, +@@ -246,6 +247,9 @@ bool ContentAnalysisDelegate::IsEnabled(Profile* profile, GURL url, Data* data, AnalysisConnector connector) { @@ -21,7 +21,7 @@ index 3579ed4022aa7..79942570d3b50 100644 // If the corresponding Connector policy isn't set, don't perform scans. if (!service || !service->IsConnectorEnabled(connector)) diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc -index e45e4487be0a3..1112475211b1c 100644 +index fd92bb9a1f148..4d27c25791033 100644 --- chrome/browser/net/profile_network_context_service.cc +++ chrome/browser/net/profile_network_context_service.cc @@ -22,6 +22,7 @@ @@ -32,7 +32,7 @@ index e45e4487be0a3..1112475211b1c 100644 #include "chrome/browser/browser_features.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/content_settings/cookie_settings_factory.h" -@@ -323,8 +324,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile) +@@ -337,8 +338,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile) base::Unretained(this))); cookie_settings_ = CookieSettingsFactory::GetForProfile(profile); cookie_settings_observation_.Observe(cookie_settings_.get()); @@ -45,7 +45,7 @@ index e45e4487be0a3..1112475211b1c 100644 DisableQuicIfNotAllowed(); -@@ -837,9 +840,26 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -893,9 +896,26 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( network_context_params->cookie_manager_params = CreateCookieManagerParams(profile_, *cookie_settings_); @@ -73,7 +73,7 @@ index e45e4487be0a3..1112475211b1c 100644 PrefService* local_state = g_browser_process->local_state(); // Configure the HTTP cache path and size. base::FilePath base_cache_path; -@@ -848,15 +868,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -904,15 +924,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( local_state->GetFilePath(prefs::kDiskCacheDir); if (!disk_cache_dir.empty()) base_cache_path = disk_cache_dir.Append(base_cache_path.BaseName()); @@ -114,7 +114,7 @@ index 77522f65b7b6e..51cc2d60d4b8d 100644 GetInstance()->GetServiceForBrowserContext(profile, true)); } diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc -index c192d0e171ebe..15266a51e3031 100644 +index 0c3ce2e289b59..7ea3744e33b60 100644 --- net/cookies/cookie_monster.cc +++ net/cookies/cookie_monster.cc @@ -552,6 +552,25 @@ void CookieMonster::SetCookieableSchemes( @@ -173,10 +173,10 @@ index 61fd008fc067e..73909be088278 100644 // reset to null. const CookieAccessDelegate* cookie_access_delegate() const { diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc -index abe47939a03ce..b7e86d0af8a6f 100644 +index 6c804ec1092af..605ff3b32b0b8 100644 --- services/network/cookie_manager.cc +++ services/network/cookie_manager.cc -@@ -292,14 +292,9 @@ void CookieManager::AllowFileSchemeCookies( +@@ -297,14 +297,9 @@ void CookieManager::AllowFileSchemeCookies( AllowFileSchemeCookiesCallback callback) { OnSettingsWillChange(); @@ -195,10 +195,10 @@ index abe47939a03ce..b7e86d0af8a6f 100644 void CookieManager::SetForceKeepSessionState() { diff --git services/network/network_context.cc services/network/network_context.cc -index c5f4244e73195..f9b19d23c0466 100644 +index f076c5dc62ca5..5b53652ef63df 100644 --- services/network/network_context.cc +++ services/network/network_context.cc -@@ -2401,16 +2401,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2444,16 +2444,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( network_service_->network_quality_estimator()); } @@ -227,10 +227,10 @@ index c5f4244e73195..f9b19d23c0466 100644 base::FeatureList::IsEnabled(features::kFledgePst)) { trust_token_store_ = std::make_unique(); diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom -index e1385ffd42940..12f3193bb31d4 100644 +index 039407080ba9b..aa960e5943129 100644 --- services/network/public/mojom/network_context.mojom +++ services/network/public/mojom/network_context.mojom -@@ -371,6 +371,9 @@ struct NetworkContextParams { +@@ -377,6 +377,9 @@ struct NetworkContextParams { // cookies. Otherwise it should be false. bool persist_session_cookies = false; diff --git a/patch/patches/services_network_2718.patch b/patch/patches/services_network_2718.patch index 178ac7b92..2cc952544 100644 --- a/patch/patches/services_network_2718.patch +++ b/patch/patches/services_network_2718.patch @@ -1,8 +1,8 @@ diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc -index 6eb273a7efe22..f5e4079a0a66b 100644 +index 421063895a58f..9d43a6f76a4dd 100644 --- content/browser/storage_partition_impl.cc +++ content/browser/storage_partition_impl.cc -@@ -535,10 +535,6 @@ class LoginHandlerDelegate { +@@ -538,10 +538,6 @@ class LoginHandlerDelegate { } WebContents* web_contents = web_contents_getter_.Run(); @@ -13,7 +13,7 @@ index 6eb273a7efe22..f5e4079a0a66b 100644 // WeakPtr is not strictly necessary here due to OnRequestCancelled. creating_login_delegate_ = true; -@@ -590,12 +586,6 @@ void OnAuthRequiredContinuation( +@@ -593,12 +589,6 @@ void OnAuthRequiredContinuation( mojo::PendingRemote auth_challenge_responder, base::RepeatingCallback web_contents_getter) { @@ -26,7 +26,7 @@ index 6eb273a7efe22..f5e4079a0a66b 100644 new LoginHandlerDelegate( std::move(auth_challenge_responder), std::move(web_contents_getter), auth_info, is_request_for_primary_main_frame, process_id, request_id, url, -@@ -3235,8 +3225,12 @@ void StoragePartitionImpl::GetQuotaSettings( +@@ -3250,8 +3240,12 @@ void StoragePartitionImpl::GetQuotaSettings( return; } @@ -40,7 +40,7 @@ index 6eb273a7efe22..f5e4079a0a66b 100644 storage::GetDefaultDeviceInfoHelper(), std::move(callback)); } -@@ -3246,9 +3240,12 @@ void StoragePartitionImpl::InitNetworkContext() { +@@ -3261,9 +3255,12 @@ void StoragePartitionImpl::InitNetworkContext() { cert_verifier::mojom::CertVerifierCreationParamsPtr cert_verifier_creation_params = cert_verifier::mojom::CertVerifierCreationParams::New(); diff --git a/patch/patches/set_resize_background_color.patch b/patch/patches/set_resize_background_color.patch index 7de2a8d6d..5e3739b1d 100644 --- a/patch/patches/set_resize_background_color.patch +++ b/patch/patches/set_resize_background_color.patch @@ -1,9 +1,9 @@ diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc -index 12f1c58c28a91..07cc49d755630 100644 +index 46833be700bb8..3ffdedd8509ac 100644 --- ui/views/controls/webview/webview.cc +++ ui/views/controls/webview/webview.cc -@@ -144,6 +144,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size, - MaybeEnableAutoResize(web_contents()->GetPrimaryMainFrame()); +@@ -150,6 +150,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size, + } } +void WebView::SetResizeBackgroundColor(SkColor resize_background_color) { @@ -11,13 +11,13 @@ index 12f1c58c28a91..07cc49d755630 100644 +} + void WebView::SetCrashedOverlayView(View* crashed_overlay_view) { - if (crashed_overlay_view_ == crashed_overlay_view) + if (crashed_overlay_view_.view() == crashed_overlay_view) { return; diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h -index 2c69bd3f2b62a..06c9ca5846c77 100644 +index e5bc9be5a44b3..132e374aff1de 100644 --- ui/views/controls/webview/webview.h +++ ui/views/controls/webview/webview.h -@@ -88,6 +88,10 @@ class WEBVIEW_EXPORT WebView : public View, +@@ -89,6 +89,10 @@ class WEBVIEW_EXPORT WebView : public View, void EnableSizingFromWebContents(const gfx::Size& min_size, const gfx::Size& max_size); @@ -27,4 +27,4 @@ index 2c69bd3f2b62a..06c9ca5846c77 100644 + // If provided, this View will be shown in place of the web contents // when the web contents is in a crashed state. This is cleared automatically - // if the web contents is changed. + // if the web contents is changed. The passed-in overlay view must be owned by diff --git a/patch/patches/storage_incognito_2289.patch b/patch/patches/storage_incognito_2289.patch index 4e86a0e83..516680e40 100644 --- a/patch/patches/storage_incognito_2289.patch +++ b/patch/patches/storage_incognito_2289.patch @@ -58,10 +58,10 @@ index 81013d6eb993a..89abfbe7fec6c 100644 // static diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc -index 3ee340ca7e21f..f341d1e25a0ab 100644 +index 2926db89bac41..8710578eee554 100644 --- storage/browser/database/database_tracker.cc +++ storage/browser/database/database_tracker.cc -@@ -568,7 +568,7 @@ bool DatabaseTracker::LazyInit() { +@@ -569,7 +569,7 @@ bool DatabaseTracker::LazyInit() { databases_table_ = std::make_unique(db_.get()); meta_table_ = std::make_unique(); diff --git a/patch/patches/trace_event.patch b/patch/patches/trace_event.patch index ceb08e76c..3cc549595 100644 --- a/patch/patches/trace_event.patch +++ b/patch/patches/trace_event.patch @@ -1,5 +1,5 @@ diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h -index 1ddaeafd2779a..4feee8b931fd4 100644 +index 292e5ce4922b3..b9080fa2b6253 100644 --- base/trace_event/builtin_categories.h +++ base/trace_event/builtin_categories.h @@ -64,6 +64,8 @@ diff --git a/patch/patches/views_1749_2102_3330.patch b/patch/patches/views_1749_2102_3330.patch index 7094696f2..abca98f30 100644 --- a/patch/patches/views_1749_2102_3330.patch +++ b/patch/patches/views_1749_2102_3330.patch @@ -82,7 +82,7 @@ index 794b77e9eca3e..636589ae29c20 100644 } diff --git ui/gfx/render_text.h ui/gfx/render_text.h -index 3c78525361ebf..c922dfe5019a3 100644 +index 678bc9cbf63b4..92322cf339523 100644 --- ui/gfx/render_text.h +++ ui/gfx/render_text.h @@ -347,6 +347,10 @@ class GFX_EXPORT RenderText { @@ -119,10 +119,10 @@ index c1c0631071a11..aa2c01ebce43e 100644 friend class test::InkDropHostTestApi; diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc -index c2a8637c2c1c7..d641d08a1a9fc 100644 +index 6d6c45b7dc519..f09365053469d 100644 --- ui/views/controls/button/label_button.cc +++ ui/views/controls/button/label_button.cc -@@ -561,6 +561,12 @@ void LabelButton::OnThemeChanged() { +@@ -562,6 +562,12 @@ void LabelButton::OnThemeChanged() { SchedulePaint(); } @@ -240,10 +240,10 @@ index 711dc633bffc2..0fa2626150de2 100644 std::unique_ptr selection_controller_; diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc -index 3f81597c41a3e..b281eb2e7ac65 100644 +index b02f25526d9cb..2961ef6ba1185 100644 --- ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc -@@ -564,7 +564,8 @@ void MenuController::Run(Widget* parent, +@@ -565,7 +565,8 @@ void MenuController::Run(Widget* parent, MenuAnchorPosition position, bool context_menu, bool is_nested_drag, @@ -253,7 +253,7 @@ index 3f81597c41a3e..b281eb2e7ac65 100644 exit_type_ = ExitType::kNone; possible_drag_ = false; drag_in_progress_ = false; -@@ -609,6 +610,7 @@ void MenuController::Run(Widget* parent, +@@ -610,6 +611,7 @@ void MenuController::Run(Widget* parent, owner_->AddObserver(this); native_view_for_gestures_ = native_view_for_gestures; @@ -261,7 +261,7 @@ index 3f81597c41a3e..b281eb2e7ac65 100644 // Only create a MenuPreTargetHandler for non-nested menus. Nested menus // will use the existing one. -@@ -2233,6 +2235,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { +@@ -2230,6 +2232,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { params.do_capture = do_capture; params.native_view_for_gestures = native_view_for_gestures_; params.owned_window_anchor = anchor; @@ -269,7 +269,7 @@ index 3f81597c41a3e..b281eb2e7ac65 100644 if (item->GetParentMenuItem()) { params.context = item->GetWidget(); // (crbug.com/1414232) The item to be open is a submenu. Make sure -@@ -2936,8 +2939,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem( +@@ -2915,8 +2918,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem( void MenuController::OpenSubmenuChangeSelectionIfCan() { MenuItemView* item = pending_state_.item; @@ -284,7 +284,7 @@ index 3f81597c41a3e..b281eb2e7ac65 100644 // Show the sub-menu. SetSelection(item, SELECTION_OPEN_SUBMENU | SELECTION_UPDATE_IMMEDIATELY); -@@ -2957,8 +2965,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { +@@ -2936,8 +2944,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { void MenuController::CloseSubmenu() { MenuItemView* item = state_.item; DCHECK(item); @@ -297,7 +297,7 @@ index 3f81597c41a3e..b281eb2e7ac65 100644 SetSelection(item, SELECTION_UPDATE_IMMEDIATELY); else if (item->GetParentMenuItem()->GetParentMenuItem()) diff --git ui/views/controls/menu/menu_controller.h ui/views/controls/menu/menu_controller.h -index 4c3cda2db0400..7383b2c97de2e 100644 +index 97c1f62da483b..2c8a52f562147 100644 --- ui/views/controls/menu/menu_controller.h +++ ui/views/controls/menu/menu_controller.h @@ -138,7 +138,9 @@ class VIEWS_EXPORT MenuController @@ -360,10 +360,10 @@ index b8fa1c116ebcd..015f15ed72385 100644 virtual int GetMaxWidthForMenu(MenuItemView* menu); diff --git ui/views/controls/menu/menu_host.cc ui/views/controls/menu/menu_host.cc -index 8a2eb859afa1f..c5d4532a1ce68 100644 +index 2da9d8fb49d8d..9f344ff8180f1 100644 --- ui/views/controls/menu/menu_host.cc +++ ui/views/controls/menu/menu_host.cc -@@ -143,6 +143,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { +@@ -141,6 +141,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { : gfx::NativeWindow(); params.bounds = init_params.bounds; @@ -372,7 +372,7 @@ index 8a2eb859afa1f..c5d4532a1ce68 100644 #if defined(USE_AURA) // TODO(msisov): remove kMenutype once positioning of anchored windows // finally migrates to a new path. -@@ -154,7 +156,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { +@@ -152,7 +154,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { // If MenuHost has no parent widget, it needs to be marked // Activatable, so that calling Show in ShowMenuHost will // get keyboard focus. @@ -383,10 +383,10 @@ index 8a2eb859afa1f..c5d4532a1ce68 100644 #if BUILDFLAG(IS_WIN) diff --git ui/views/controls/menu/menu_host.h ui/views/controls/menu/menu_host.h -index c048ab2aa5ae4..810f62eed6676 100644 +index 10c4ecd08f76b..062f0c58bb805 100644 --- ui/views/controls/menu/menu_host.h +++ ui/views/controls/menu/menu_host.h -@@ -55,6 +55,8 @@ class MenuHost : public Widget, public WidgetObserver { +@@ -53,6 +53,8 @@ class MenuHost : public Widget, public WidgetObserver { // Additional information that helps to position anchored windows in such // backends as Wayland. ui::OwnedWindowAnchor owned_window_anchor; @@ -396,10 +396,10 @@ index c048ab2aa5ae4..810f62eed6676 100644 explicit MenuHost(SubmenuView* submenu); diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc -index 35419b44bcf81..8e268dd4274e5 100644 +index e509227da023b..c4d85ccd39302 100644 --- ui/views/controls/menu/menu_item_view.cc +++ ui/views/controls/menu/menu_item_view.cc -@@ -1043,6 +1043,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas, +@@ -1045,6 +1045,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas, spilling_rect.set_y(spilling_rect.y() - corner_radius_); spilling_rect.set_height(spilling_rect.height() + corner_radius_); canvas->DrawRoundRect(spilling_rect, corner_radius_, flags); @@ -651,7 +651,7 @@ index 2056016df3098..6c6467f5a719e 100644 void Cancel() override; base::TimeTicks GetClosingEventTime() const override; diff --git ui/views/controls/menu/menu_runner_impl_cocoa.mm ui/views/controls/menu/menu_runner_impl_cocoa.mm -index 9d148ed4bd5f1..6a4c407165190 100644 +index f137d6f86aba7..5b329ae12ada1 100644 --- ui/views/controls/menu/menu_runner_impl_cocoa.mm +++ ui/views/controls/menu/menu_runner_impl_cocoa.mm @@ -190,6 +190,7 @@ void MenuRunnerImplCocoa::RunMenuAt( @@ -676,10 +676,10 @@ index cf696fbcf0714..5c48fd7410b88 100644 // Hides and cancels the menu. diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc -index a80ff0b70cab9..b37fed46d6cbd 100644 +index 6b6df6857209a..75c62afef88b4 100644 --- ui/views/controls/menu/menu_scroll_view_container.cc +++ ui/views/controls/menu/menu_scroll_view_container.cc -@@ -246,6 +246,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) +@@ -250,6 +250,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) scroll_down_button_ = background_view_->AddChildView( std::make_unique(content_view, false)); @@ -716,7 +716,7 @@ index 187e55af5d7be..3a980d26fdaae 100644 #if !BUILDFLAG(IS_CHROMEOS_LACROS) if (root_location != root_current_location && diff --git ui/views/view.h ui/views/view.h -index 6891cfa1f7ce3..5eaa9fb195a3d 100644 +index 80a2b76b266f5..17b85ef182b55 100644 --- ui/views/view.h +++ ui/views/view.h @@ -21,6 +21,7 @@ diff --git a/patch/patches/views_widget.patch b/patch/patches/views_widget.patch index fe0d59d99..fbbf1b869 100644 --- a/patch/patches/views_widget.patch +++ b/patch/patches/views_widget.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc -index c099a8701b7e0..4baf820ea9647 100644 +index 9dd7439e8c1c0..7da7d04fb2d00 100644 --- content/browser/renderer_host/render_widget_host_view_base.cc +++ content/browser/renderer_host/render_widget_host_view_base.cc @@ -648,6 +648,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const { @@ -18,7 +18,7 @@ index c099a8701b7e0..4baf820ea9647 100644 if (!GetMouseWheelPhaseHandler()) return; diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h -index eed8db485e54b..80eeba983a573 100644 +index 3b4461acc2fc6..ed1ef17fb3667 100644 --- content/browser/renderer_host/render_widget_host_view_base.h +++ content/browser/renderer_host/render_widget_host_view_base.h @@ -71,6 +71,7 @@ class CursorManager; @@ -49,7 +49,7 @@ index eed8db485e54b..80eeba983a573 100644 // Called by the TextInputManager to notify the view about being removed from // the list of registered views, i.e., TextInputManager is no longer tracking // TextInputState from this view. The RWHV should reset |text_input_manager_| -@@ -441,6 +448,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -450,6 +457,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { const gfx::Rect& bounds, const gfx::Rect& anchor_rect) = 0; @@ -62,7 +62,7 @@ index eed8db485e54b..80eeba983a573 100644 // Sets the cursor for this view to the one specified. virtual void UpdateCursor(const ui::Cursor& cursor) = 0; -@@ -696,6 +709,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -705,6 +718,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { // to all displays. gfx::Size system_cursor_size_; @@ -73,7 +73,7 @@ index eed8db485e54b..80eeba983a573 100644 private: FRIEND_TEST_ALL_PREFIXES( BrowserSideFlingBrowserTest, -@@ -717,10 +734,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { +@@ -726,10 +743,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView { void SynchronizeVisualProperties(); @@ -85,7 +85,7 @@ index eed8db485e54b..80eeba983a573 100644 // renderer process changes. This method is called before notifying // RenderWidgetHostImpl in order to allow the view to allocate a new diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc -index c611cb3bd15b2..ee6b5407f50cb 100644 +index 36b742a3f2b77..9f9d22b531237 100644 --- content/browser/renderer_host/render_widget_host_view_event_handler.cc +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc @@ -52,6 +52,10 @@ namespace { @@ -243,10 +243,10 @@ index 01d4ffe408a84..fbe41fefbb2bd 100644 base::WeakPtrFactory weak_factory_{this}; }; diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -index 9b36a7639e0ac..06cd2b0fc662f 100644 +index 91bee2b0173c6..c0ccd724d4bcc 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -@@ -285,8 +285,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { +@@ -286,8 +286,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { if (properties.parent_widget) { window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget( properties.parent_widget); @@ -359,7 +359,7 @@ index 2e4bacce52a45..76916c5d21cb9 100644 // the implementation of ::ShowCursor() is based on a counter, so making this // member static ensures that ::ShowCursor() is always called exactly once diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc -index ce7b498ca6bf9..ea7226f91831c 100644 +index 6e1bc593b0082..4c5925f946616 100644 --- ui/views/widget/widget.cc +++ ui/views/widget/widget.cc @@ -368,7 +368,8 @@ void Widget::Init(InitParams params) { @@ -372,7 +372,7 @@ index ce7b498ca6bf9..ea7226f91831c 100644 if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred && params.type != views::Widget::InitParams::TYPE_WINDOW) { -@@ -468,13 +469,21 @@ void Widget::Init(InitParams params) { +@@ -472,13 +473,21 @@ void Widget::Init(InitParams params) { if (show_state == ui::SHOW_STATE_MAXIMIZED) { Maximize(); @@ -395,7 +395,7 @@ index ce7b498ca6bf9..ea7226f91831c 100644 } if (base::FeatureList::IsEnabled(features::kWidgetLayering)) { -@@ -1611,10 +1620,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { +@@ -1615,10 +1624,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { } gfx::Size Widget::GetMinimumSize() const { @@ -413,7 +413,7 @@ index ce7b498ca6bf9..ea7226f91831c 100644 } diff --git ui/views/widget/widget.h ui/views/widget/widget.h -index 745d643b1a878..f20c04ce8683a 100644 +index 6d10ae19965c3..6eba4e7492e81 100644 --- ui/views/widget/widget.h +++ ui/views/widget/widget.h @@ -351,6 +351,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -426,10 +426,10 @@ index 745d643b1a878..f20c04ce8683a 100644 // the NativeWidget may specify a default size. If the parent is specified, // |bounds| is in the parent's coordinate system. If the parent is not diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h -index 6982b27ace7ae..c25a505d62e20 100644 +index 6d87be86ae8b3..02fe7a11958d0 100644 --- ui/views/widget/widget_delegate.h +++ ui/views/widget/widget_delegate.h -@@ -375,6 +375,10 @@ class VIEWS_EXPORT WidgetDelegate +@@ -380,6 +380,10 @@ class VIEWS_EXPORT WidgetDelegate // Returns true if the title text should be centered. bool ShouldCenterWindowTitleText() const; diff --git a/patch/patches/viz_osr_2575.patch b/patch/patches/viz_osr_2575.patch index 8bd4165d8..8c32fe332 100644 --- a/patch/patches/viz_osr_2575.patch +++ b/patch/patches/viz_osr_2575.patch @@ -80,7 +80,7 @@ index 8af69cac78b74..9f74e511c263d 100644 private: const HWND hwnd_; diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn -index ade4e4973a0e9..1846d8a34b9ff 100644 +index 72d9d594a9370..f95511fc9ca89 100644 --- components/viz/service/BUILD.gn +++ components/viz/service/BUILD.gn @@ -228,6 +228,8 @@ viz_component("service") { @@ -150,10 +150,10 @@ index 796ae2688436e..37a3406790210 100644 TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this); diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc -index c86f1e090cb84..22df6791b7139 100644 +index c34c0854efeec..7b51180b6d8ac 100644 --- content/browser/compositor/viz_process_transport_factory.cc +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -395,8 +395,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( +@@ -393,8 +393,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( mojo::AssociatedRemote display_private; root_params->display_private = display_private.BindNewEndpointAndPassReceiver(); diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index 3aaa26dfc..d2cc47cf8 100644 --- a/patch/patches/web_contents_1257_1565.patch +++ b/patch/patches/web_contents_1257_1565.patch @@ -1,8 +1,8 @@ diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc -index 1caf3d1f032c4..d561f8aad9386 100644 +index 6f1581c517bf6..5c4004b963ef6 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc -@@ -3323,6 +3323,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3324,6 +3324,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, params.main_frame_name, GetOpener(), primary_main_frame_policy, base::UnguessableToken::Create()); @@ -15,7 +15,7 @@ index 1caf3d1f032c4..d561f8aad9386 100644 std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3333,6 +3339,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3334,6 +3340,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -23,7 +23,7 @@ index 1caf3d1f032c4..d561f8aad9386 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -3522,6 +3529,9 @@ void WebContentsImpl::RenderWidgetCreated( +@@ -3523,6 +3530,9 @@ void WebContentsImpl::RenderWidgetCreated( OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated", "render_widget_host", render_widget_host); created_widgets_.insert(render_widget_host); @@ -33,7 +33,7 @@ index 1caf3d1f032c4..d561f8aad9386 100644 } void WebContentsImpl::RenderWidgetDeleted( -@@ -4274,6 +4284,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4279,6 +4289,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( create_params.picture_in_picture_options = *(params.pip_options); } @@ -49,10 +49,10 @@ index 1caf3d1f032c4..d561f8aad9386 100644 // Check whether there is an available prerendered page for this navigation if // this is not for guest. If it exists, take WebContents pre-created for // hosting the prerendered page instead of creating new WebContents. -@@ -8231,6 +8250,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, - // frames). - SetFocusedFrameTree(&node->frame_tree()); +@@ -8286,6 +8305,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, } + + CloseListenerManager::DidChangeFocusedFrame(this); + + observers_.NotifyObservers(&WebContentsObserver::OnFrameFocused, + node->current_frame_host()); @@ -60,7 +60,7 @@ index 1caf3d1f032c4..d561f8aad9386 100644 void WebContentsImpl::DidCallFocus() { diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h -index f80a1a82e14a0..19d600603e2a4 100644 +index f02cd75e7ad4c..8a3761e505d2d 100644 --- content/public/browser/web_contents.h +++ content/public/browser/web_contents.h @@ -98,10 +98,12 @@ class BrowserContext; @@ -88,7 +88,7 @@ index f80a1a82e14a0..19d600603e2a4 100644 // the value that'll be returned by GetLastActiveTime(). If this is left // default initialized then the value is not passed on to the WebContents diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h -index 791cd97dd0c45..0b155dd240f57 100644 +index 0fa12e6a5dd2e..6461d84aa3ac9 100644 --- content/public/browser/web_contents_delegate.h +++ content/public/browser/web_contents_delegate.h @@ -59,9 +59,11 @@ class EyeDropperListener; @@ -103,7 +103,7 @@ index 791cd97dd0c45..0b155dd240f57 100644 struct ContextMenuParams; struct DropData; struct MediaPlayerWatchTime; -@@ -343,6 +345,14 @@ class CONTENT_EXPORT WebContentsDelegate { +@@ -344,6 +346,14 @@ class CONTENT_EXPORT WebContentsDelegate { const StoragePartitionConfig& partition_config, SessionStorageNamespace* session_storage_namespace); @@ -119,10 +119,10 @@ index 791cd97dd0c45..0b155dd240f57 100644 // typically happens when popups are created. virtual void WebContentsCreated(WebContents* source_contents, diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h -index 73efe4a951d56..32ed509568c6c 100644 +index c3d701fc68db0..f0be70560e6ea 100644 --- content/public/browser/web_contents_observer.h +++ content/public/browser/web_contents_observer.h -@@ -224,6 +224,9 @@ class CONTENT_EXPORT WebContentsObserver { +@@ -221,6 +221,9 @@ class CONTENT_EXPORT WebContentsObserver { virtual void OnCaptureHandleConfigUpdate( const blink::mojom::CaptureHandleConfig& config) {} @@ -132,7 +132,7 @@ index 73efe4a951d56..32ed509568c6c 100644 // This method is invoked when the `blink::WebView` of the current // RenderViewHost is ready, e.g. because we recreated it after a crash. virtual void RenderViewReady() {} -@@ -828,6 +831,10 @@ class CONTENT_EXPORT WebContentsObserver { +@@ -825,6 +828,10 @@ class CONTENT_EXPORT WebContentsObserver { // WebContents has gained/lost focus. virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {} diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index ac7187530..9b75a348a 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -1,5 +1,5 @@ diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h -index d5190a6875277..7446d5b936c32 100644 +index 132096c44cf32..7828efe4197ee 100644 --- third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h @@ -774,6 +774,11 @@ class BLINK_PLATFORM_EXPORT Platform { diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index a3ab5edc7..cca0460ae 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -11,7 +11,7 @@ index 8a18ecf567cd3..9697d43bbbfb9 100644 // Cancels and hides the current popup (datetime, select...) if any. virtual void CancelPagePopup() = 0; diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc -index f4bd3d4fa8d85..21ee67dbae410 100644 +index 1043f13dd1d47..896d479022df7 100644 --- third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc @@ -249,8 +249,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { @@ -62,7 +62,7 @@ index 6a180620e00c7..09d11bfd3c83f 100644 gfx::Transform device_emulation_transform_; diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc -index 1c03e9e20199a..946f36adcb131 100644 +index 04f2127c5ebe1..0d615cccdfe69 100644 --- third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc @@ -917,7 +917,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { diff --git a/patch/patches/webui_2037.patch b/patch/patches/webui_2037.patch index 28d7f0560..23b4665e8 100644 --- a/patch/patches/webui_2037.patch +++ b/patch/patches/webui_2037.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc -index ce7ee517b04db..0cc6bf2f2d775 100644 +index 70be25ddddf1d..8aa1b6f33d7fb 100644 --- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc @@ -19,10 +19,12 @@ @@ -15,7 +15,7 @@ index ce7ee517b04db..0cc6bf2f2d775 100644 #include "chrome/browser/browser_process.h" #include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h" #include "chrome/browser/google/google_brand.h" -@@ -401,7 +403,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) { +@@ -399,7 +401,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) { response->emplace(kOsVersionTag, os_version); #endif @@ -28,7 +28,7 @@ index ce7ee517b04db..0cc6bf2f2d775 100644 PopulateExtensionInfoLogs(response.get()); PopulatePowerApiLogs(response.get()); #if BUILDFLAG(IS_WIN) -@@ -481,8 +487,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs( +@@ -479,8 +485,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs( if (!profile) return; @@ -41,7 +41,7 @@ index ce7ee517b04db..0cc6bf2f2d775 100644 std::string extensions_list; for (const scoped_refptr& extension : extension_registry->enabled_extensions()) { -@@ -586,6 +596,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime( +@@ -584,6 +594,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime( #if BUILDFLAG(IS_WIN) void ChromeInternalLogSource::PopulateUsbKeyboardDetected( SystemLogsResponse* response) { diff --git a/patch/patches/win_sandbox_3210.patch b/patch/patches/win_sandbox_3210.patch index 35113c55c..ed6e63ba3 100644 --- a/patch/patches/win_sandbox_3210.patch +++ b/patch/patches/win_sandbox_3210.patch @@ -1,8 +1,8 @@ diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc -index 2ee0182088f41..5fdde1ea4f94a 100644 +index 3add6ba6997a3..c6cedeed4da7b 100644 --- sandbox/policy/win/sandbox_win.cc +++ sandbox/policy/win/sandbox_win.cc -@@ -982,6 +982,13 @@ ResultCode SandboxWin::StartSandboxedProcess( +@@ -988,6 +988,13 @@ ResultCode SandboxWin::StartSandboxedProcess( const base::HandlesToInheritVector& handles_to_inherit, SandboxDelegate* delegate, base::Process* process) { diff --git a/patch/patches/win_sandbox_policy.patch b/patch/patches/win_sandbox_policy.patch index 766f45cb3..fa02b41ee 100644 --- a/patch/patches/win_sandbox_policy.patch +++ b/patch/patches/win_sandbox_policy.patch @@ -1,8 +1,8 @@ diff --git sandbox/win/src/sandbox_policy.h sandbox/win/src/sandbox_policy.h -index 8277058c7e7dc..cf7403c4530df 100644 +index daf2af3079a2a..00197897c3c73 100644 --- sandbox/win/src/sandbox_policy.h +++ sandbox/win/src/sandbox_policy.h -@@ -278,7 +278,7 @@ class [[clang::lto_visibility_public]] TargetPolicy { +@@ -281,7 +281,7 @@ class [[clang::lto_visibility_public]] TargetPolicy { // Adds a blob of data that will be made available in the child early in // startup via sandbox::GetDelegateData(). The contents of this data should // not vary between children with the same TargetConfig(). @@ -12,10 +12,10 @@ index 8277058c7e7dc..cf7403c4530df 100644 } // namespace sandbox diff --git sandbox/win/src/sandbox_policy_base.cc sandbox/win/src/sandbox_policy_base.cc -index 7a9bdbc017a8d..84cf8055b9d18 100644 +index 9b4f763a894bd..4ba0a7ab4de60 100644 --- sandbox/win/src/sandbox_policy_base.cc +++ sandbox/win/src/sandbox_policy_base.cc -@@ -157,12 +157,12 @@ PolicyGlobal* ConfigBase::policy() { +@@ -190,12 +190,12 @@ PolicyGlobal* ConfigBase::policy() { return policy_; } @@ -31,7 +31,7 @@ index 7a9bdbc017a8d..84cf8055b9d18 100644 } return absl::nullopt; } -@@ -740,19 +740,19 @@ bool PolicyBase::SetupHandleCloser(TargetProcess& target) { +@@ -783,19 +783,19 @@ bool PolicyBase::SetupHandleCloser(TargetProcess& target) { return handle_closer->InitializeTargetHandles(target); } @@ -55,10 +55,10 @@ index 7a9bdbc017a8d..84cf8055b9d18 100644 } // namespace sandbox diff --git sandbox/win/src/sandbox_policy_base.h sandbox/win/src/sandbox_policy_base.h -index 23208fa570ce9..811def75d24aa 100644 +index 9e6738f676d07..a3525e0cfe283 100644 --- sandbox/win/src/sandbox_policy_base.h +++ sandbox/win/src/sandbox_policy_base.h -@@ -114,7 +114,7 @@ class ConfigBase final : public TargetConfig { +@@ -115,7 +115,7 @@ class ConfigBase final : public TargetConfig { // Should only be called once the object is configured. PolicyGlobal* policy(); @@ -67,7 +67,7 @@ index 23208fa570ce9..811def75d24aa 100644 std::vector& blocklisted_dlls(); AppContainerBase* app_container(); IntegrityLevel integrity_level() { return integrity_level_; } -@@ -172,7 +172,7 @@ class PolicyBase final : public TargetPolicy { +@@ -175,7 +175,7 @@ class PolicyBase final : public TargetPolicy { ResultCode SetStdoutHandle(HANDLE handle) override; ResultCode SetStderrHandle(HANDLE handle) override; void AddHandleToShare(HANDLE handle) override; @@ -76,7 +76,7 @@ index 23208fa570ce9..811def75d24aa 100644 // Creates a Job object with the level specified in a previous call to // SetJobLevel(). -@@ -234,13 +234,13 @@ class PolicyBase final : public TargetPolicy { +@@ -237,13 +237,13 @@ class PolicyBase final : public TargetPolicy { // time. // Returns nullopt if no data has been set, or a view into the data.