diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 094a158c7..743d4a0ee 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,6 +7,6 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/114.0.5735.9', + 'chromium_checkout': 'refs/tags/114.0.5735.45', 'depot_tools_checkout': '7ee8e6c7cb' } diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index 84e7e1803..127cd6339 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -62,6 +62,7 @@ #include "components/spellcheck/browser/pref_names.h" #include "components/sync_preferences/pref_service_syncable.h" #include "components/sync_preferences/pref_service_syncable_factory.h" +#include "components/unified_consent/unified_consent_service.h" #include "components/update_client/update_client.h" #include "content/public/browser/browser_thread.h" #include "extensions/browser/extension_prefs.h" @@ -277,6 +278,7 @@ std::unique_ptr CreatePrefService(Profile* profile, privacy_sandbox::RegisterProfilePrefs(registry.get()); ProfileNetworkContextService::RegisterProfilePrefs(registry.get()); safe_browsing::RegisterProfilePrefs(registry.get()); + unified_consent::UnifiedConsentService::RegisterPrefs(registry.get()); const std::string& locale = command_line->GetSwitchValueASCII(switches::kLang); diff --git a/libcef/browser/ssl_host_state_delegate.cc b/libcef/browser/ssl_host_state_delegate.cc index 15a98cad2..713a1a853 100644 --- a/libcef/browser/ssl_host_state_delegate.cc +++ b/libcef/browser/ssl_host_state_delegate.cc @@ -69,6 +69,21 @@ bool CefSSLHostStateDelegate::IsHttpAllowedForHost( return false; } +void CefSSLHostStateDelegate::SetHttpsEnforcementForHost( + const std::string& host, + bool enforce, + content::StoragePartition* storage_partition) { + // Intentional no-op. +} + +bool CefSSLHostStateDelegate::IsHttpsEnforcedForHost( + const std::string& host, + content::StoragePartition* storage_partition) { + // Intentional no-op. Return value does not matter as HTTPS-First Mode is not + // enabled. + return false; +} + void CefSSLHostStateDelegate::AllowCert( const std::string& host, const net::X509Certificate& cert, diff --git a/libcef/browser/ssl_host_state_delegate.h b/libcef/browser/ssl_host_state_delegate.h index ea140baca..0245a5774 100644 --- a/libcef/browser/ssl_host_state_delegate.h +++ b/libcef/browser/ssl_host_state_delegate.h @@ -73,6 +73,13 @@ class CefSSLHostStateDelegate : public content::SSLHostStateDelegate { bool IsHttpAllowedForHost( const std::string& host, content::StoragePartition* storage_partition) override; + void SetHttpsEnforcementForHost( + const std::string& host, + bool enforce, + content::StoragePartition* storage_partition) override; + bool IsHttpsEnforcedForHost( + const std::string& host, + content::StoragePartition* storage_partition) override; void RevokeUserAllowExceptions(const std::string& host) override; bool HasAllowException(const std::string& host, content::StoragePartition* storage_partition) override; diff --git a/patch/patches/base_sandbox_2743.patch b/patch/patches/base_sandbox_2743.patch index 5b4e164d1..33ef4b231 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 425cb0ab0af16..57cda56dcfc19 100644 +index 8417fcda40d49..b4aae014eded9 100644 --- base/BUILD.gn +++ base/BUILD.gn @@ -40,6 +40,7 @@ import("//build/config/ui.gni") diff --git a/patch/patches/browser_security_policy_1081397.patch b/patch/patches/browser_security_policy_1081397.patch index e45c9e67e..607a18b80 100644 --- a/patch/patches/browser_security_policy_1081397.patch +++ b/patch/patches/browser_security_policy_1081397.patch @@ -20,10 +20,10 @@ index 66008c3abbc49..64d2773724750 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 1bb280cc5c81d..e06315f1d0628 100644 +index a2530d474b606..20f6aded15935 100644 --- content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc -@@ -7321,10 +7321,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( +@@ -7323,10 +7323,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( bool use_opaque_origin = (sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) == network::mojom::WebSandboxFlags::kOrigin; @@ -47,7 +47,7 @@ index 1bb280cc5c81d..e06315f1d0628 100644 } return origin_and_debug_info; -@@ -7354,6 +7366,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { +@@ -7356,6 +7368,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( SandboxFlagsToCommit()); diff --git a/patch/patches/build.patch b/patch/patches/build.patch index 092ae5174..046297fe7 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 53db095c1b1ef..de2e7de4bf231 100644 +index 28c2255ba8090..b77b14ffbe7f1 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn -@@ -1929,8 +1929,6 @@ config("thin_archive") { +@@ -1925,8 +1925,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 29a818fb3..935a62ff5 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 6780e7770a9fe..0eaf2593ce127 100644 +index acf48b7ffd061..9b441db457bee 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn @@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") @@ -29,7 +29,7 @@ index 6780e7770a9fe..0eaf2593ce127 100644 if (is_android) { sources += [ "after_startup_task_utils_android.cc", -@@ -6114,8 +6120,6 @@ static_library("browser") { +@@ -6118,8 +6124,6 @@ static_library("browser") { sources += [ "enterprise/chrome_browser_main_extra_parts_enterprise.cc", "enterprise/chrome_browser_main_extra_parts_enterprise.h", diff --git a/patch/patches/chrome_browser_context_menus.patch b/patch/patches/chrome_browser_context_menus.patch index 4d6f26e67..9113301b9 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 15b3d1c767883..717ff131cadb5 100644 +index 688c112eb8470..9b5aa9052efb2 100644 --- chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc @@ -319,6 +319,13 @@ base::OnceCallback* GetMenuShownCallback() { @@ -27,7 +27,7 @@ index 15b3d1c767883..717ff131cadb5 100644 id = CollapseCommandsForUMA(id); const auto& map = GetIdcToUmaMap(type); auto it = map.find(id); -@@ -785,6 +796,14 @@ RenderViewContextMenu::RenderViewContextMenu( +@@ -786,6 +797,14 @@ RenderViewContextMenu::RenderViewContextMenu( #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) pdf_ocr_submenu_model_ = std::make_unique(this); #endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) @@ -42,7 +42,7 @@ index 15b3d1c767883..717ff131cadb5 100644 } RenderViewContextMenu::~RenderViewContextMenu() = default; -@@ -1202,6 +1221,12 @@ void RenderViewContextMenu::InitMenu() { +@@ -1203,6 +1222,12 @@ void RenderViewContextMenu::InitMenu() { // menu, meaning that each menu item added/removed in this function will cause // it to visibly jump on the screen (see b/173569669). AppendQuickAnswersItems(); @@ -55,7 +55,7 @@ index 15b3d1c767883..717ff131cadb5 100644 } Profile* RenderViewContextMenu::GetProfile() const { -@@ -3164,6 +3189,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting( +@@ -3165,6 +3190,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting( execute_plugin_action_callback_ = std::move(cb); } diff --git a/patch/patches/chrome_browser_permission_prompt.patch b/patch/patches/chrome_browser_permission_prompt.patch index fae8f0b63..f97757021 100644 --- a/patch/patches/chrome_browser_permission_prompt.patch +++ b/patch/patches/chrome_browser_permission_prompt.patch @@ -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 be69eb7fb1d65..0b92de1b0e328 100644 +index dfc443d307d52..4eb3b286b9838 100644 --- chrome/browser/permissions/chrome_permissions_client.cc +++ chrome/browser/permissions/chrome_permissions_client.cc @@ -14,6 +14,7 @@ @@ -55,7 +55,7 @@ index be69eb7fb1d65..0b92de1b0e328 100644 #include "chrome/browser/bluetooth/bluetooth_chooser_context_factory.h" #include "chrome/browser/content_settings/cookie_settings_factory.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" -@@ -174,6 +175,9 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker( +@@ -175,6 +176,9 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker( double ChromePermissionsClient::GetSiteEngagementScore( content::BrowserContext* browser_context, const GURL& origin) { @@ -65,7 +65,7 @@ index be69eb7fb1d65..0b92de1b0e328 100644 return site_engagement::SiteEngagementService::Get( Profile::FromBrowserContext(browser_context)) ->GetScore(origin); -@@ -323,8 +327,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -331,8 +335,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors( std::make_unique()); selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); diff --git a/patch/patches/chrome_browser_themes.patch b/patch/patches/chrome_browser_themes.patch index 04925940c..5e55169e0 100644 --- a/patch/patches/chrome_browser_themes.patch +++ b/patch/patches/chrome_browser_themes.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc -index a23a2830b374c..c6822853a6c3d 100644 +index 67dc4a2e0695e..16f819e133886 100644 --- chrome/browser/themes/theme_service.cc +++ chrome/browser/themes/theme_service.cc @@ -30,6 +30,7 @@ @@ -10,7 +10,7 @@ index a23a2830b374c..c6822853a6c3d 100644 #include "chrome/browser/browser_features.h" #include "chrome/browser/extensions/extension_service.h" #include "chrome/browser/extensions/theme_installed_infobar_delegate.h" -@@ -66,6 +67,10 @@ +@@ -68,6 +69,10 @@ #include "ui/color/color_provider.h" #include "ui/native_theme/native_theme.h" @@ -21,7 +21,7 @@ index a23a2830b374c..c6822853a6c3d 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "base/scoped_observation.h" #include "extensions/browser/extension_registry_observer.h" -@@ -268,11 +273,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) diff --git a/patch/patches/chrome_plugins.patch b/patch/patches/chrome_plugins.patch index 8c5382d6b..39a8694ad 100644 --- a/patch/patches/chrome_plugins.patch +++ b/patch/patches/chrome_plugins.patch @@ -105,10 +105,10 @@ 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 a7501a57c5149..1c148767f67a6 100644 +index 2e47c128f4d5c..c27d76a8227f9 100644 --- content/browser/browser_plugin/browser_plugin_guest.cc +++ content/browser/browser_plugin/browser_plugin_guest.cc -@@ -80,6 +80,8 @@ void BrowserPluginGuest::InitInternal(WebContentsImpl* owner_web_contents) { +@@ -81,6 +81,8 @@ void BrowserPluginGuest::InitInternal(WebContentsImpl* owner_web_contents) { GetWebContents()->GetOrCreateWebPreferences(); prefs.navigate_on_drag_drop = false; GetWebContents()->SetWebPreferences(prefs); @@ -118,7 +118,7 @@ index a7501a57c5149..1c148767f67a6 100644 BrowserPluginGuest::~BrowserPluginGuest() = default; diff --git content/browser/browser_plugin/browser_plugin_guest.h content/browser/browser_plugin/browser_plugin_guest.h -index 17e98b60e8f7e..41f05cdd88d40 100644 +index 7f3083029d45e..94a5cbed96a10 100644 --- content/browser/browser_plugin/browser_plugin_guest.h +++ content/browser/browser_plugin/browser_plugin_guest.h @@ -70,6 +70,8 @@ class BrowserPluginGuest : public WebContentsObserver { @@ -130,10 +130,10 @@ index 17e98b60e8f7e..41f05cdd88d40 100644 private: // BrowserPluginGuest is a WebContentsObserver of |web_contents| and // |web_contents| has to stay valid for the lifetime of BrowserPluginGuest. -@@ -79,6 +81,8 @@ class BrowserPluginGuest : public WebContentsObserver { - void InitInternal(WebContentsImpl* owner_web_contents); +@@ -80,6 +82,8 @@ class BrowserPluginGuest : public WebContentsObserver { - const raw_ptr delegate_; + // May be null during guest destruction. + const base::WeakPtr delegate_; + + raw_ptr owner_web_contents_ = nullptr; }; diff --git a/patch/patches/chrome_runtime.patch b/patch/patches/chrome_runtime.patch index 9c0974e7a..51fb70e49 100644 --- a/patch/patches/chrome_runtime.patch +++ b/patch/patches/chrome_runtime.patch @@ -235,7 +235,7 @@ index d495e1a903fd8..31cf6632e831c 100644 +#endif } diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc -index cbaaff6894e47..db95ce1bc3a0d 100644 +index bb3d32d4f4909..7c05c6064dd6e 100644 --- chrome/browser/chrome_content_browser_client.cc +++ chrome/browser/chrome_content_browser_client.cc @@ -40,6 +40,7 @@ @@ -246,7 +246,7 @@ index cbaaff6894e47..db95ce1bc3a0d 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" -@@ -1557,6 +1558,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { +@@ -1558,6 +1559,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { } ChromeContentBrowserClient::ChromeContentBrowserClient() { @@ -255,7 +255,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 #if BUILDFLAG(ENABLE_PLUGINS) extra_parts_.push_back( std::make_unique()); -@@ -1589,6 +1592,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { +@@ -1590,6 +1593,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { } } @@ -267,7 +267,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 // static void ChromeContentBrowserClient::RegisterLocalStatePrefs( PrefRegistrySimple* registry) { -@@ -4386,9 +4394,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( +@@ -4412,9 +4420,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( &search::HandleNewTabURLReverseRewrite); #endif // BUILDFLAG(IS_ANDROID) @@ -279,7 +279,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 } base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { -@@ -6307,7 +6317,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( +@@ -6333,7 +6343,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( #endif } @@ -288,7 +288,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -6325,6 +6335,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( +@@ -6351,6 +6361,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = GetApplicationLocale(); } @@ -297,7 +297,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 } std::vector -@@ -7314,10 +7326,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( +@@ -7340,10 +7352,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( const auto now = base::TimeTicks::Now(); const auto timeout = GetKeepaliveTimerTimeout(context); keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); @@ -310,7 +310,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 FROM_HERE, keepalive_deadline_ - now, base::BindOnce( &ChromeContentBrowserClient::OnKeepaliveTimerFired, -@@ -7336,7 +7348,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { +@@ -7362,7 +7374,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { --num_keepalive_requests_; if (num_keepalive_requests_ == 0) { DVLOG(1) << "Stopping the keepalive timer"; @@ -320,7 +320,7 @@ index cbaaff6894e47..db95ce1bc3a0d 100644 // This deletes the keep alive handle attached to the timer function and // unblock the shutdown sequence. } -@@ -7472,7 +7485,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( +@@ -7498,7 +7511,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( const auto now = base::TimeTicks::Now(); const auto then = keepalive_deadline_; if (now < then) { diff --git a/patch/patches/chrome_runtime_views.patch b/patch/patches/chrome_runtime_views.patch index 8428b4c81..9cea805c8 100644 --- a/patch/patches/chrome_runtime_views.patch +++ b/patch/patches/chrome_runtime_views.patch @@ -41,11 +41,11 @@ index 2a14f1b7c2f51..e679d7a24783b 100644 bool BrowserCommandController::IsWebAppOrCustomTab() const { diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc -index 3aa4da01852a1..59544aa46dc82 100644 +index e881f0cffc04f..f58fe5aab7685 100644 --- chrome/browser/ui/toolbar/app_menu_model.cc +++ chrome/browser/ui/toolbar/app_menu_model.cc -@@ -169,6 +169,57 @@ absl::optional GetInstallPWAAppMenuItemName(Browser* browser) { - ui::EscapeMenuLabelAmpersands(app_name)); +@@ -176,6 +176,57 @@ bool IsPasswordManagerPage(const GURL& url) { + url.DomainIs(password_manager::kChromeUIPasswordManagerHost); } +#if BUILDFLAG(ENABLE_CEF) @@ -102,7 +102,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 } // namespace //////////////////////////////////////////////////////////////////////////////// -@@ -901,7 +952,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const { +@@ -908,7 +959,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const { return false; } @@ -111,7 +111,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 GlobalError* error = GlobalErrorServiceFactory::GetForProfile(browser_->profile()) ->GetGlobalErrorByMenuItemCommandID(command_id); -@@ -916,7 +967,7 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const { +@@ -923,7 +974,7 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const { } } @@ -120,7 +120,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 switch (command_id) { case IDC_PIN_TO_START_SCREEN: return false; -@@ -939,6 +990,34 @@ bool AppMenuModel::IsCommandIdVisible(int command_id) const { +@@ -946,6 +997,34 @@ bool AppMenuModel::IsCommandIdVisible(int command_id) const { } } @@ -155,7 +155,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 bool AppMenuModel::IsCommandIdAlerted(int command_id) const { if ((command_id == IDC_RECENT_TABS_MENU) || (command_id == AppMenuModel::kMinRecentTabsCommandId)) { -@@ -1085,11 +1164,15 @@ void AppMenuModel::Build() { +@@ -1097,11 +1176,15 @@ void AppMenuModel::Build() { } } @@ -176,7 +176,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 AddItemWithStringId(IDC_PRINT, IDS_PRINT); -@@ -1178,9 +1261,13 @@ void AppMenuModel::Build() { +@@ -1190,9 +1273,13 @@ void AppMenuModel::Build() { kMoreToolsMenuItem); if (!features::IsChromeRefresh2023()) { @@ -193,7 +193,7 @@ index 3aa4da01852a1..59544aa46dc82 100644 } if (!features::IsChromeRefresh2023()) { -@@ -1265,6 +1352,11 @@ void AppMenuModel::Build() { +@@ -1278,6 +1365,11 @@ void AppMenuModel::Build() { set_icon(IDC_EXIT, kExitMenuIcon); } diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 8ce97842b..815b5a2a0 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -12,10 +12,10 @@ index f4f583be8fba9..a2ed253f3724d 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 ddd5d5f136346..51c55f7108ddf 100644 +index dcc79329a078f..fa5e1e45d1698 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc -@@ -733,6 +733,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() { +@@ -738,6 +738,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() { resource_request_->has_user_gesture, initiating_origin, initiator_document_.AsRenderFrameHostIfValid(), &loader_factory); @@ -145,10 +145,10 @@ index a614d8eb1ecd3..51986244b8960 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 f84c233c3b069..a9fe097a3a438 100644 +index 93de85d842315..11c124e4bd06f 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc -@@ -974,6 +974,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { +@@ -975,6 +975,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { //------------------------------------------------------------------------------ @@ -165,12 +165,12 @@ index f84c233c3b069..a9fe097a3a438 100644 RendererBlinkPlatformImpl::CreateWebV8ValueConverter() { return std::make_unique(); diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h -index 9c66a331c615b..822f9492fa50c 100644 +index 0067dcb8b5c6b..524af9093e620 100644 --- content/renderer/renderer_blink_platform_impl.h +++ content/renderer/renderer_blink_platform_impl.h @@ -229,6 +229,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { - base::TimeDelta MinimumIntervalOfUserLevelMemoryPressureSignal() override; - #endif + InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override; + #endif // BUILDFLAG(IS_ANDROID) + void DevToolsAgentAttached() override; + void DevToolsAgentDetached() override; diff --git a/patch/patches/print_preview_123.patch b/patch/patches/print_preview_123.patch index ab60bdd09..d7f072e87 100644 --- a/patch/patches/print_preview_123.patch +++ b/patch/patches/print_preview_123.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc -index 3a236b6752338..620c283a52db9 100644 +index 8c5ab5eb5cff8..ceae0fad1458d 100644 --- chrome/browser/download/download_prefs.cc +++ chrome/browser/download/download_prefs.cc -@@ -24,6 +24,7 @@ +@@ -23,6 +23,7 @@ #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -10,7 +10,7 @@ index 3a236b6752338..620c283a52db9 100644 #include "chrome/browser/download/chrome_download_manager_delegate.h" #include "chrome/browser/download/download_core_service_factory.h" #include "chrome/browser/download/download_core_service_impl.h" -@@ -64,6 +65,10 @@ +@@ -63,6 +64,10 @@ #include "chrome/browser/download/bubble/download_bubble_prefs.h" #endif @@ -21,7 +21,7 @@ index 3a236b6752338..620c283a52db9 100644 using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; -@@ -361,6 +366,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager( +@@ -357,6 +362,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager( // static DownloadPrefs* DownloadPrefs::FromBrowserContext( content::BrowserContext* context) { diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index d282138d0..5bf01f984 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 e4f917be12064..0c8b367f412d1 100644 +index db08fe0124e42..bf314632cac5a 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc -@@ -3207,6 +3207,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3210,6 +3210,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 e4f917be12064..0c8b367f412d1 100644 std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3217,6 +3223,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3220,6 +3226,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, view_ = CreateWebContentsView(this, std::move(delegate), &render_view_host_delegate_view_); } @@ -23,7 +23,7 @@ index e4f917be12064..0c8b367f412d1 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -3397,6 +3404,9 @@ void WebContentsImpl::RenderWidgetCreated( +@@ -3400,6 +3407,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 e4f917be12064..0c8b367f412d1 100644 } void WebContentsImpl::RenderWidgetDeleted( -@@ -4125,6 +4135,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -4128,6 +4138,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( create_params.picture_in_picture_options = *(params.pip_options); } @@ -49,7 +49,7 @@ index e4f917be12064..0c8b367f412d1 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. -@@ -8046,6 +8065,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, +@@ -8049,6 +8068,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, // frames). SetFocusedFrameTree(&node->frame_tree()); } @@ -60,7 +60,7 @@ index e4f917be12064..0c8b367f412d1 100644 void WebContentsImpl::DidCallFocus() { diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h -index 8baf744895c94..305e34f53bf54 100644 +index 0e569ca1377aa..f7957b1204fab 100644 --- content/public/browser/web_contents.h +++ content/public/browser/web_contents.h @@ -96,10 +96,12 @@ class BrowserContext; diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index 93a031320..d36f74fd8 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -1,8 +1,8 @@ diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h -index d7fc9c28b67f0..5a8b5b68654e0 100644 +index 78eb25f4005fd..5e6639ba319a5 100644 --- third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h -@@ -794,6 +794,11 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -792,6 +792,11 @@ class BLINK_PLATFORM_EXPORT Platform { } #endif