diff --git a/patches/build-android-pylib-gtest-gtest_test_instance.py.patch b/patches/build-android-pylib-gtest-gtest_test_instance.py.patch index 837f551d833..1029dddfd2f 100644 --- a/patches/build-android-pylib-gtest-gtest_test_instance.py.patch +++ b/patches/build-android-pylib-gtest-gtest_test_instance.py.patch @@ -1,9 +1,9 @@ diff --git a/build/android/pylib/gtest/gtest_test_instance.py b/build/android/pylib/gtest/gtest_test_instance.py -index c90ea50f284f243bad6defc31d33f674478f257a..85ec6b75b2ecd240987d87eca372a8c98879dc30 100644 +index 97d323b886662e51a6d30104772ee17aab94a5cd..f82e230e268595536db9ccc9c000b10aa7212c04 100644 --- a/build/android/pylib/gtest/gtest_test_instance.py +++ b/build/android/pylib/gtest/gtest_test_instance.py -@@ -706,3 +706,4 @@ class GtestTestInstance(test_instance.TestInstance): - #override - def TearDown(self): - """Do nothing.""" +@@ -721,3 +721,4 @@ class GtestTestInstance(test_instance.TestInstance): + if self._deobfuscator: + self._deobfuscator.Close() + self._deobfuscator = None +from brave_chromium_utils import inline_chromium_src_override; inline_chromium_src_override(globals(), locals()) diff --git a/patches/chrome-android-java-res-layout-radio_button_group_homepage_preference.xml.patch b/patches/chrome-android-java-res-layout-radio_button_group_homepage_preference.xml.patch index 2a45d2e7874..4daf77c9bd8 100644 --- a/patches/chrome-android-java-res-layout-radio_button_group_homepage_preference.xml.patch +++ b/patches/chrome-android-java-res-layout-radio_button_group_homepage_preference.xml.patch @@ -1,11 +1,11 @@ diff --git a/chrome/android/java/res/layout/radio_button_group_homepage_preference.xml b/chrome/android/java/res/layout/radio_button_group_homepage_preference.xml -index 39a8f247be532924f560e73133fe217e1f1ce27e..00464dfedbea501f23669ce4f15831297b10e3ef 100644 +index 763a1c681f813a7cd67fe64532f2763d4583f25b..cb84d2b0a88642fb2dc192683a29c70b7267eaaf 100644 --- a/chrome/android/java/res/layout/radio_button_group_homepage_preference.xml +++ b/chrome/android/java/res/layout/radio_button_group_homepage_preference.xml -@@ -36,6 +36,7 @@ found in the LICENSE file. - android:layout_width="match_parent" +@@ -37,6 +37,7 @@ found in the LICENSE file. android:layout_height="wrap_content" - app:primaryText="@string/options_homepage_chrome_homepage" /> + app:primaryText="@string/options_homepage_chrome_homepage" + app:backgroundStyle="none" /> + RegisterListPref(policy::policy_prefs::kIncognitoModeBlocklist); + registry->RegisterListPref(policy::policy_prefs::kIncognitoModeAllowlist); + brave::RegisterProfilePrefs(registry); } diff --git a/patches/chrome-browser-resources-pdf-manifest.json.patch b/patches/chrome-browser-resources-pdf-manifest.json.patch index 1a0a1061392..2d5f370a559 100644 --- a/patches/chrome-browser-resources-pdf-manifest.json.patch +++ b/patches/chrome-browser-resources-pdf-manifest.json.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/pdf/manifest.json b/chrome/browser/resources/pdf/manifest.json -index 814bec7dfaa7b73377586aec05df7c4707f85513..941a09e2772754502e22fe03a560babf946a40de 100644 +index 04e1e8868ef79c343da291711aab5cfce7aafdd8..598af3db866268c036cfac23c5eced6824ba0f79 100644 --- a/chrome/browser/resources/pdf/manifest.json +++ b/chrome/browser/resources/pdf/manifest.json @@ -8,6 +8,7 @@ @@ -14,8 +14,8 @@ index 814bec7dfaa7b73377586aec05df7c4707f85513..941a09e2772754502e22fe03a560babf "mime_types": [ "application/pdf" ], -- "content_security_policy": "script-src 'self' 'wasm-eval' blob: filesystem: chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:", -+ "content_security_policy": "script-src 'self' 'wasm-eval' blob: filesystem: chrome://brave-resources chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:", +- "content_security_policy": "script-src 'self' blob: filesystem: chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:", ++ "content_security_policy": "script-src 'self' blob: filesystem: chrome://brave-resources chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:", "mime_types_handler": "index.html", "web_accessible_resources": [ "pdf_embedder.css" diff --git a/patches/chrome-browser-resources-settings-clear_browsing_data_dialog-clear_browsing_data_dialog_v2.ts.patch b/patches/chrome-browser-resources-settings-clear_browsing_data_dialog-clear_browsing_data_dialog_v2.ts.patch index 7b7bfdd5f7d..52b2e0fe23a 100644 --- a/patches/chrome-browser-resources-settings-clear_browsing_data_dialog-clear_browsing_data_dialog_v2.ts.patch +++ b/patches/chrome-browser-resources-settings-clear_browsing_data_dialog-clear_browsing_data_dialog_v2.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts -index 8e65f4fbd0b431b8f531e239f5133f49763a6cc5..f32797bc48a8426c7010288c1d47b4e0b0130d60 100644 +index 90cfb385672191664f759a8472495162b6b61f83..ed5a403b1f3fb211f5fa434a7cb27f79bb5298ff 100644 --- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts +++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts @@ -117,6 +117,7 @@ function getDataTypeLabel(datatypes: BrowsingDataType) { @@ -7,14 +7,14 @@ index 8e65f4fbd0b431b8f531e239f5133f49763a6cc5..f32797bc48a8426c7010288c1d47b4e0 case BrowsingDataType.HOSTED_APPS_DATA: return loadTimeData.getString('clearHostedAppData'); + case BrowsingDataType.BRAVE_AI_CHAT: return loadTimeData.getString('clearBraveAIChat'); + default: + assertNotReachedCase(datatypes); } - } - -@@ -136,6 +137,7 @@ export function getDataTypePrefName(datatypes: BrowsingDataType) { +@@ -138,6 +139,7 @@ export function getDataTypePrefName(datatypes: BrowsingDataType) { return 'browser.clear_data.download_history'; case BrowsingDataType.HOSTED_APPS_DATA: return 'browser.clear_data.hosted_apps_data'; + case BrowsingDataType.BRAVE_AI_CHAT: return 'browser.clear_data.brave_leo'; + default: + assertNotReachedCase(datatypes); } - } - diff --git a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch index 2c808010bc3..86f373717dd 100644 --- a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch +++ b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.html.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html -index ad81cf875bbbaea556b2c5a0e7dc3af7d27f7377..edb32c6ef9a07f1298c03cf16a30d26b8642410f 100644 +index d7c4d4ca6f950ba64a09e7cd58086205384be934..7b9661a0b71fc56ff451afc8f6c328331e43b4cf 100644 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html @@ -34,6 +34,7 @@ @@ -10,7 +10,7 @@ index ad81cf875bbbaea556b2c5a0e7dc3af7d27f7377..edb32c6ef9a07f1298c03cf16a30d26b @@ -18,8 +18,8 @@ index ad81cf875bbbaea556b2c5a0e7dc3af7d27f7377..edb32c6ef9a07f1298c03cf16a30d26b + diff --git a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch index e62ec2a5e4f..5fd108f4671 100644 --- a/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch +++ b/patches/chrome-browser-resources-settings-privacy_page-privacy_page.ts.patch @@ -1,11 +1,11 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -index b45a26e61192b28cddb4f9a964f9397e6c332809..81075c6b8c5488e72a02e92693155550e32013dd 100644 +index 90c45d13bd12ec54ab90943662af20cf97200d4f..71324bb5aabc63c7bd5d27bfefd6023b69ff0bcc 100644 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -@@ -24,6 +24,7 @@ import '../settings_shared.css.js'; - import '../site_settings/protected_content_page.js'; - import '../site_settings/settings_category_default_radio_group.js'; - import '../site_settings/smart_card_readers_page.js'; +@@ -16,6 +16,7 @@ import '../icons.html.js'; + import '../privacy_icons.html.js'; + import '../settings_page/settings_section.js'; + import '../settings_shared.css.js'; +import './personalization_options.js'; import './privacy_guide/privacy_guide_dialog.js'; diff --git a/patches/chrome-browser-resources-settings-route.ts.patch b/patches/chrome-browser-resources-settings-route.ts.patch index bec970e2e1a..e1ac56f5301 100644 --- a/patches/chrome-browser-resources-settings-route.ts.patch +++ b/patches/chrome-browser-resources-settings-route.ts.patch @@ -1,5 +1,5 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts -index 41b2a7bf2cb7926893f3369eb0c9fc5c092d5807..b7cf2f842ea80c106a7b26cd92c9bc7a26a26078 100644 +index 5fe5f12ab1f15c62c1bad84c8b94f6ff9e1a38e2..95352cde9d3555dda4e0b78d215e663d03935f24 100644 --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts @@ -9,6 +9,7 @@ import {pageVisibility} from './page_visibility.js'; @@ -10,15 +10,15 @@ index 41b2a7bf2cb7926893f3369eb0c9fc5c092d5807..b7cf2f842ea80c106a7b26cd92c9bc7a /** * Add all of the child routes that originate from the privacy route, * regardless of whether the privacy section under basic or advanced. -@@ -367,6 +368,7 @@ function createRoutes(): SettingsRoutes { - r.PERFORMANCE.hasMigratedToPlugin = true; +@@ -309,6 +310,7 @@ function createRoutes(): SettingsRoutes { + loadTimeData.getString('performancePageTitle')); } + addBraveRoutes(r); return r as unknown as SettingsRoutes; } -@@ -400,7 +402,7 @@ export let routes: SettingsRoutes = Router.getInstance().getRoutes(); +@@ -342,7 +344,7 @@ export let routes: SettingsRoutes = Router.getInstance().getRoutes(); // Returns the "effective" route when at chrome://settings/. export function getTopLevelRoute(): Route { if (!loadTimeData.getBoolean('isGuest')) { diff --git a/patches/chrome-browser-signin-signin_promo_util.cc.patch b/patches/chrome-browser-signin-signin_promo_util.cc.patch index c2eb6bfce2f..5754860d112 100644 --- a/patches/chrome-browser-signin-signin_promo_util.cc.patch +++ b/patches/chrome-browser-signin-signin_promo_util.cc.patch @@ -1,12 +1,12 @@ diff --git a/chrome/browser/signin/signin_promo_util.cc b/chrome/browser/signin/signin_promo_util.cc -index 3ccd46d02de49210f4cdabf24fb4edd60a63017e..b433c61edb7dad65918ede3a2e3060e489da508a 100644 +index d63b9b837fcfe25db97f294b521c1ce0433fa9e4..1d832674f761e5a2da13a37abbbeaf817d30525e 100644 --- a/chrome/browser/signin/signin_promo_util.cc +++ b/chrome/browser/signin/signin_promo_util.cc -@@ -120,6 +120,7 @@ bool ShouldShowPromoBasedOnImpressionOrDismissalCount(Profile& profile, +@@ -122,6 +122,7 @@ bool ShouldShowPromoBasedOnImpressionOrDismissalCount(Profile& profile, // `ShouldShowAddressSignInPromo` and `ShouldShowPasswordSignInPromo`). // `profile` is the profile of the tab the promo would be shown on. bool ShouldShowSignInPromoCommon(Profile& profile, SignInPromoType type) { + SHOULD_SHOW_SIGNIN_PROMO_COMMON - // Don't show the promo if it does not pass the sync base checks. - if (!signin::ShouldShowSyncPromo(profile)) { + if (profile.IsOffTheRecord()) { return false; + } diff --git a/patches/chrome-browser-ui-android-toolbar-java-res-xml-adaptive_toolbar_preference.xml.patch b/patches/chrome-browser-ui-android-toolbar-java-res-xml-adaptive_toolbar_preference.xml.patch index 7da2f484634..3d49352ed9b 100644 --- a/patches/chrome-browser-ui-android-toolbar-java-res-xml-adaptive_toolbar_preference.xml.patch +++ b/patches/chrome-browser-ui-android-toolbar-java-res-xml-adaptive_toolbar_preference.xml.patch @@ -1,10 +1,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/xml/adaptive_toolbar_preference.xml b/chrome/browser/ui/android/toolbar/java/res/xml/adaptive_toolbar_preference.xml -index b9f7ada321d81c935787c4db75e5c2addcdbdd52..9417e14b9fa1dbe578f969aa11351fffe22bface 100644 +index 56ed451cbf7e305a1e49adb2d3e284abc0d89480..7383a6deca6679a7e735b4e736de54c1074c321b 100644 --- a/chrome/browser/ui/android/toolbar/java/res/xml/adaptive_toolbar_preference.xml +++ b/chrome/browser/ui/android/toolbar/java/res/xml/adaptive_toolbar_preference.xml -@@ -17,7 +17,7 @@ found in the LICENSE file. - android:key="toolbar_shortcut_switch" - android:title="@string/toolbar_shortcut" /> +@@ -18,7 +18,7 @@ found in the LICENSE file. + android:title="@string/toolbar_shortcut" + app:backgroundStyle="card" /> - tab_strip_model()->GetWebContentsAt(selected_index)); +@@ -514,6 +514,7 @@ void ReloadInternal(BrowserWindowInterface* browser, + tab_strip_model->GetWebContentsAt(selected_index)); } } + BRAVE_RELOAD_INTERNAL diff --git a/patches/chrome-browser-ui-views-frame-multi_contents_view.cc.patch b/patches/chrome-browser-ui-views-frame-multi_contents_view.cc.patch index afbc4b0e79c..816dcf68ae1 100644 --- a/patches/chrome-browser-ui-views-frame-multi_contents_view.cc.patch +++ b/patches/chrome-browser-ui-views-frame-multi_contents_view.cc.patch @@ -1,22 +1,22 @@ diff --git a/chrome/browser/ui/views/frame/multi_contents_view.cc b/chrome/browser/ui/views/frame/multi_contents_view.cc -index 63faa99a5c9ffd6b7eb56e93480878e369cc9e08..da745a87e75081c8fd091ec1fe1072945ba8729e 100644 +index 1cd64709e0c950dd5b0f9f9d75e7a02a4ae9459c..9a96f40d0d4d4fc3b34e61176c5a1887e28f32be 100644 --- a/chrome/browser/ui/views/frame/multi_contents_view.cc +++ b/chrome/browser/ui/views/frame/multi_contents_view.cc -@@ -60,7 +60,7 @@ MultiContentsView::MultiContentsView( - SetProperty(views::kElementIdentifierKey, kMultiContentsViewElementId); - +@@ -66,7 +66,7 @@ MultiContentsView::MultiContentsView( + AddChildView(std::make_unique(browser_view)); + contents_container_views_.push_back( - AddChildView(std::make_unique(browser_view_))); + AddChildView(std::make_unique(browser_view_))); contents_container_views_[0] ->contents_view() ->set_is_primary_web_contents_for_window(true); -@@ -69,7 +69,7 @@ MultiContentsView::MultiContentsView( +@@ -75,7 +75,7 @@ MultiContentsView::MultiContentsView( resize_area_->SetVisible(false); - + contents_container_views_.push_back( - AddChildView(std::make_unique(browser_view_))); + AddChildView(std::make_unique(browser_view_))); contents_container_views_[1]->SetVisible(false); - + drop_target_view_ = diff --git a/patches/chrome-browser-ui-views-profiles-profile_menu_view.h.patch b/patches/chrome-browser-ui-views-profiles-profile_menu_view.h.patch index 3f8e1c92b1d..eccd92e9976 100644 --- a/patches/chrome-browser-ui-views-profiles-profile_menu_view.h.patch +++ b/patches/chrome-browser-ui-views-profiles-profile_menu_view.h.patch @@ -1,9 +1,9 @@ diff --git a/chrome/browser/ui/views/profiles/profile_menu_view.h b/chrome/browser/ui/views/profiles/profile_menu_view.h -index 4c8c2a1693355c05449c57ac375ad3c204aa601a..3664d34aaee8e812a0767da9bddf3eabfcd1b1dd 100644 +index b56c73e9e934c6d3b702b9d60c207b90b33e9e88..3294758f5a3e2f71ea4ed623b1e7eff62da96a8f 100644 --- a/chrome/browser/ui/views/profiles/profile_menu_view.h +++ b/chrome/browser/ui/views/profiles/profile_menu_view.h -@@ -66,6 +66,7 @@ class ProfileMenuView : public ProfileMenuViewBase { - void BuildMenu() override; +@@ -70,6 +70,7 @@ class ProfileMenuView : public ProfileMenuViewBase { + } private: + BRAVE_PROFILE_MENU_VIEW_H diff --git a/patches/chrome-browser-ui-views-side_panel-side_panel_coordinator.h.patch b/patches/chrome-browser-ui-views-side_panel-side_panel_coordinator.h.patch index d7e889b360f..94be4304c66 100644 --- a/patches/chrome-browser-ui-views-side_panel-side_panel_coordinator.h.patch +++ b/patches/chrome-browser-ui-views-side_panel-side_panel_coordinator.h.patch @@ -1,11 +1,11 @@ diff --git a/chrome/browser/ui/views/side_panel/side_panel_coordinator.h b/chrome/browser/ui/views/side_panel/side_panel_coordinator.h -index 0af2d02581c373571a8407c813d1f8716bf6a90f..48104430cfbd9904e9e073a48a20b99a49300d8c 100644 +index e50a46ae878bc5ea8bdef1c1a7764fa1ef65f4c9..1cb3e6cbf952464f0fea5e18e65d3f21d6c07461 100644 --- a/chrome/browser/ui/views/side_panel/side_panel_coordinator.h +++ b/chrome/browser/ui/views/side_panel/side_panel_coordinator.h -@@ -52,7 +52,7 @@ class View; - // registry's active_entry() then global registry's. These values are reset when - // the side panel is closed and |last_active_global_entry_id_| is used to - // determine what entry is seen when the panel is reopened. +@@ -50,7 +50,7 @@ class View; + // Existence and value of registries' active_entry() determines which entry is + // visible for a given tab where the order of precedence is contextual + // registry's active_entry() then global registry's. -class SidePanelCoordinator final : public SidePanelUIBase, +class SidePanelCoordinator : public SidePanelUIBase, public views::ViewObserver, diff --git a/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch b/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch index 59819a7bbab..6fa7b440237 100644 --- a/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch +++ b/patches/chrome-browser-ui-webui-settings-site_settings_helper.cc.patch @@ -1,16 +1,16 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc -index 582e28a95fcdbc06302a1d969ddd494b04b927b0..0a459086349b3542468ccad550d05c8bc006e4d9 100644 +index 11d7e631b6ef9405488306c713360ecefc2d751f..ca04da884da66e87734ee121e1ea53ce083e81d5 100644 --- a/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc -@@ -259,6 +259,7 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< - // TODO(crbug.com/430494524): Implement the WebUI - {ContentSettingsType::GEOLOCATION_WITH_OPTIONS, nullptr}, +@@ -261,6 +261,7 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< {ContentSettingsType::DEVICE_ATTRIBUTES, nullptr}, + {ContentSettingsType::PERMISSION_ACTIONS_HISTORY, nullptr}, + {ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL, nullptr}, + BRAVE_CONTENT_SETTINGS_TYPE_GROUP_NAMES_LIST }); static_assert( -@@ -533,6 +534,7 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -535,6 +536,7 @@ bool HasRegisteredGroupName(ContentSettingsType type) { } ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { @@ -18,7 +18,7 @@ index 582e28a95fcdbc06302a1d969ddd494b04b927b0..0a459086349b3542468ccad550d05c8b for (const auto& entry : kContentSettingsTypeGroupNames) { // Content setting types that aren't represented in the settings UI // will have `nullptr` as their `name`. However, converting `nullptr` -@@ -547,6 +549,7 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { +@@ -549,6 +551,7 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { } std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { @@ -26,7 +26,7 @@ index 582e28a95fcdbc06302a1d969ddd494b04b927b0..0a459086349b3542468ccad550d05c8b for (const auto& entry : kContentSettingsTypeGroupNames) { if (type == entry.type) { // Content setting types that aren't represented in the settings UI -@@ -719,6 +722,7 @@ std::string SiteSettingSourceToString(const SiteSettingSource source) { +@@ -721,6 +724,7 @@ std::string SiteSettingSourceToString(const SiteSettingSource source) { SiteSettingSource ProviderTypeToSiteSettingsSource( const ProviderType provider_type) { switch (provider_type) { @@ -34,7 +34,7 @@ index 582e28a95fcdbc06302a1d969ddd494b04b927b0..0a459086349b3542468ccad550d05c8b case ProviderType::kWebuiAllowlistProvider: case ProviderType::kComponentExtensionProvider: return SiteSettingSource::kAllowlist; -@@ -746,6 +750,7 @@ SiteSettingSource ProviderTypeToSiteSettingsSource( +@@ -748,6 +752,7 @@ SiteSettingSource ProviderTypeToSiteSettingsSource( std::string ProviderToDefaultSettingSourceString(const ProviderType provider) { switch (provider) { @@ -42,7 +42,7 @@ index 582e28a95fcdbc06302a1d969ddd494b04b927b0..0a459086349b3542468ccad550d05c8b case ProviderType::kPolicyProvider: return "policy"; case ProviderType::kSupervisedProvider: -@@ -872,6 +877,7 @@ base::Value::Dict GetExceptionForPage( +@@ -874,6 +879,7 @@ base::Value::Dict GetExceptionForPage( exception.Set(kSource, SiteSettingSourceToString(source)); exception.Set(kIncognito, incognito); exception.Set(kIsEmbargoed, is_embargoed); diff --git a/patches/chrome-installer-mac-signing-pipeline.py.patch b/patches/chrome-installer-mac-signing-pipeline.py.patch index 1caae41facf..7d2b3041185 100644 --- a/patches/chrome-installer-mac-signing-pipeline.py.patch +++ b/patches/chrome-installer-mac-signing-pipeline.py.patch @@ -1,8 +1,8 @@ diff --git a/chrome/installer/mac/signing/pipeline.py b/chrome/installer/mac/signing/pipeline.py -index ae2a57b11acbaf5077bd09217e20a110fc8a8e75..afd3a4c8d10eee3e432f05825c37b50ecf9e7d33 100644 +index 442930b31ca6d591ce20ffdc2cf99c87d5c771b3..bfc2b75e3e01fe24b08e2ed41e35fe9012ba3e64 100644 --- a/chrome/installer/mac/signing/pipeline.py +++ b/chrome/installer/mac/signing/pipeline.py -@@ -738,6 +738,9 @@ async def sign_all(orig_paths, +@@ -687,6 +687,9 @@ async def sign_all(orig_paths, _package_and_maybe_notarize_distributions( config, distributions, notary_paths), timeout=60 * 60 * 2) @@ -10,9 +10,9 @@ index ae2a57b11acbaf5077bd09217e20a110fc8a8e75..afd3a4c8d10eee3e432f05825c37b50e + # Copy the notarized app to the orig_paths.output dir where the user expects it. + commands.copy_files(dest_dir, orig_paths.output) - _package_installer_tools(orig_paths, config) -@@ -874,3 +877,5 @@ async def _package_and_maybe_notarize_distributions(config, distributions, + async def _sign_and_maybe_notarize_distributions(config, distributions, +@@ -821,3 +824,5 @@ async def _package_and_maybe_notarize_distributions(config, distributions, if config.notarize.should_staple(): for path in staple_paths: notarize.staple(path) diff --git a/patches/chrome-renderer-BUILD.gn.patch b/patches/chrome-renderer-BUILD.gn.patch index 0f9eb38dbaa..524f25ad680 100644 --- a/patches/chrome-renderer-BUILD.gn.patch +++ b/patches/chrome-renderer-BUILD.gn.patch @@ -1,10 +1,10 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn -index 283e1c70773a3403f8ca94cecda63a7018bdedac..58ebcc1b5ba35d35ecfd3337a47865222c819be0 100644 +index 231c1dd482ea165969b0eeff77897ed4ae80edd4..31a3e7e3ab4c4ca03c2ef18ee562d9c72825b33c 100644 --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -237,6 +237,7 @@ static_library("renderer") { - "//v8", - ] +@@ -241,6 +241,7 @@ static_library("renderer") { + deps += [ "//components/webapps/isolated_web_apps:scheme" ] + } + import("//brave/renderer/sources.gni") sources += brave_chrome_renderer_sources deps += brave_chrome_renderer_deps public_deps += brave_chrome_renderer_public_deps data_deps = [ "//tools/v8_context_snapshot" ] diff --git a/patches/components-content_settings-core-browser-content_settings_default_provider.cc.patch b/patches/components-content_settings-core-browser-content_settings_default_provider.cc.patch index 7de182ddcbb..77f6960ee18 100644 --- a/patches/components-content_settings-core-browser-content_settings_default_provider.cc.patch +++ b/patches/components-content_settings-core-browser-content_settings_default_provider.cc.patch @@ -1,12 +1,12 @@ diff --git a/components/content_settings/core/browser/content_settings_default_provider.cc b/components/content_settings/core/browser/content_settings_default_provider.cc -index 2b4bbab440f91f0b61e50a70b5064fd4db486f6f..7bd4188e24a2368b10773ab04b850d0f9ba60d27 100644 +index 6898bffa23e3a9c0e3f9ed263a84fbc09b15cd97..8dcc4de84889890638389997b96538eeaf72ec97 100644 --- a/components/content_settings/core/browser/content_settings_default_provider.cc +++ b/components/content_settings/core/browser/content_settings_default_provider.cc -@@ -399,6 +399,7 @@ void DefaultProvider::DiscardOrMigrateObsoletePreferences() { +@@ -410,6 +410,7 @@ void DefaultProvider::DiscardOrMigrateObsoletePreferences() { // TODO(https://crbug.com/367181093): clean this up. prefs_->ClearPref(kBug364820109AlreadyWorkedAroundPref); #endif // !BUILDFLAG(IS_IOS) +BRAVE_DISCARD_OR_MIGRATE_OBSOLETE_PREFERENCES } - void DefaultProvider::RecordHistogramMetrics() { + void DefaultProvider::MigrateGeolocationDefaultValue() { diff --git a/patches/components-infobars-core-infobar_delegate.h.patch b/patches/components-infobars-core-infobar_delegate.h.patch index 832cd53d5f6..68be9150b53 100644 --- a/patches/components-infobars-core-infobar_delegate.h.patch +++ b/patches/components-infobars-core-infobar_delegate.h.patch @@ -1,11 +1,11 @@ diff --git a/components/infobars/core/infobar_delegate.h b/components/infobars/core/infobar_delegate.h -index 2798c4f5c6bd9fe518824fc75ef5c2a1579f537a..bfe015940579c966639fec8c692550f04efd8752 100644 +index 20a8371d17c74787a7f1307b76d986ecc35fc092..df77f37857aa5c85cea22230ffaa5e85b3408446 100644 --- a/components/infobars/core/infobar_delegate.h +++ b/components/infobars/core/infobar_delegate.h -@@ -193,6 +193,7 @@ class InfoBarDelegate { - COLLABORATION_GROUP_UPDATE_INFOBAR_DELEGATE = 125, - COLLABORATION_OUT_OF_DATE_INFOBAR_DELEGATE = 126, +@@ -195,6 +195,7 @@ class InfoBarDelegate { PIN_INFOBAR_DELEGATE = 127, + SESSION_RESTORE_INFOBAR_DELEGATE = 128, + ROLL_BACK_MODE_B_INFOBAR_DELEGATE = 129, + BRAVE_INFOBAR_DELEGATE_IDENTIFIERS }; // LINT.ThenChange(//tools/metrics/histograms/metadata/browser/enums.xml:InfoBarIdentifier) diff --git a/patches/components-omnibox-browser-BUILD.gn.patch b/patches/components-omnibox-browser-BUILD.gn.patch index 5042cd844a5..a0a3a15eb14 100644 --- a/patches/components-omnibox-browser-BUILD.gn.patch +++ b/patches/components-omnibox-browser-BUILD.gn.patch @@ -1,5 +1,5 @@ diff --git a/components/omnibox/browser/BUILD.gn b/components/omnibox/browser/BUILD.gn -index 7fb1b972c44c880f24e847d64eedbaf05e8eb5d8..283d12552ce96a956ed9cf9909d1816863944258 100644 +index 1813a7b9ed6f8039a7aa959c41a5f0236da98a07..8d92a74dacb6ead21a9341f97ba5cd1f904cacee 100644 --- a/components/omnibox/browser/BUILD.gn +++ b/components/omnibox/browser/BUILD.gn @@ -408,6 +408,7 @@ static_library("browser") { @@ -10,11 +10,11 @@ index 7fb1b972c44c880f24e847d64eedbaf05e8eb5d8..283d12552ce96a956ed9cf9909d18168 configs += [ "//build/config/compiler:wexit_time_destructors" ] -@@ -1041,6 +1042,7 @@ fuzzer_test("search_suggestion_parser_fuzzer") { +@@ -1039,6 +1040,7 @@ fuzzer_test("search_suggestion_parser_fuzzer") { mojom("mojo_bindings") { sources = [ "omnibox.mojom" ] + generate_legacy_js_bindings = true - if (!is_android && !is_ios) { - sources += [ "searchbox.mojom" ] + webui_module_path = "chrome://resources/mojo/components/omnibox/browser" + diff --git a/patches/components-sync-protocol-proto_visitors.h.patch b/patches/components-sync-protocol-proto_visitors.h.patch index ff406ad0003..f502fb41264 100644 --- a/patches/components-sync-protocol-proto_visitors.h.patch +++ b/patches/components-sync-protocol-proto_visitors.h.patch @@ -1,5 +1,5 @@ diff --git a/components/sync/protocol/proto_visitors.h b/components/sync/protocol/proto_visitors.h -index dde604d78e36d36986dc9e774a8f6dce14b85a45..7a6918dbadcfe8c789b1ea32f22510fbdb698cd9 100644 +index ebb5ce778ae3571aec531c6158ccd47e808e6972..e5c26e27d47461116a9f76606754b4526c36e57e 100644 --- a/components/sync/protocol/proto_visitors.h +++ b/components/sync/protocol/proto_visitors.h @@ -641,6 +641,7 @@ VISIT_PROTO_FIELDS(const sync_pb::DeviceInfoSpecifics& proto) { @@ -11,7 +11,7 @@ index dde604d78e36d36986dc9e774a8f6dce14b85a45..7a6918dbadcfe8c789b1ea32f22510fb VISIT(invalidation_fields); VISIT(paask_fields); @@ -663,6 +664,7 @@ VISIT_PROTO_FIELDS(const sync_pb::FeatureSpecificFields& proto) { - VISIT(floating_workspace_last_signin_time_windows_epoch_micros); + VISIT(auto_sign_out_last_signin_timestamp_windows_epoch_micros); } +BRAVE_VISIT_PROTO_FIELDS_BRAVE_SPECIFIC_FIELD diff --git a/patches/content-browser-devtools-protocol_config.json.patch b/patches/content-browser-devtools-protocol_config.json.patch index 39125adcd70..f46bdb8d410 100644 --- a/patches/content-browser-devtools-protocol_config.json.patch +++ b/patches/content-browser-devtools-protocol_config.json.patch @@ -1,10 +1,10 @@ diff --git a/content/browser/devtools/protocol_config.json b/content/browser/devtools/protocol_config.json -index 7c240192b2066b03e040e89df5dcc653395dcb3c..3e77d9d3d1ff845491dd690d2c69ab86b2854089 100644 +index 1f74c6b75fab0bdaa67e89f4cc7d4f6046774526..9a856d189bc0e670766fd60290322178c65079a5 100644 --- a/content/browser/devtools/protocol_config.json +++ b/content/browser/devtools/protocol_config.json -@@ -130,7 +130,7 @@ - "setCookieControls", - "getIPProtectionProxyStatus" +@@ -131,7 +131,7 @@ + "getIPProtectionProxyStatus", + "setIPProtectionProxyBypassEnabled" ], - "include_events": ["requestWillBeSent", "responseReceived", "loadingFinished", "loadingFailed", "requestIntercepted", "signedExchangeReceived", "requestWillBeSentExtraInfo", "responseReceivedExtraInfo", "responseReceivedEarlyHints", "trustTokenOperationDone", "subresourceWebBundleMetadataReceived", "subresourceWebBundleMetadataError", "subresourceWebBundleInnerResponseParsed", "subresourceWebBundleInnerResponseError", "policyUpdated", "reportingApiReportAdded", "reportingApiReportUpdated", "reportingApiEndpointsChangedForOrigin"], + "include_events": ["requestAdblockInfoReceived", "requestWillBeSent", "responseReceived", "loadingFinished", "loadingFailed", "requestIntercepted", "signedExchangeReceived", "requestWillBeSentExtraInfo", "responseReceivedExtraInfo", "responseReceivedEarlyHints", "trustTokenOperationDone", "subresourceWebBundleMetadataReceived", "subresourceWebBundleMetadataError", "subresourceWebBundleInnerResponseParsed", "subresourceWebBundleInnerResponseError", "policyUpdated", "reportingApiReportAdded", "reportingApiReportUpdated", "reportingApiEndpointsChangedForOrigin"], diff --git a/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch b/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch index 68b8f7153ec..c658cf78ce6 100644 --- a/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch +++ b/patches/ios-chrome-browser-shared-model-prefs-browser_prefs.mm.patch @@ -1,19 +1,19 @@ diff --git a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm -index 307d4ddd0e384fc0fc1e609eb7f23799c83ccd9f..fef38e7ad5f1f4f450786409be25a0e0340201fe 100644 +index 84d6fad79064a3e8892037a62688a918c78582e7..0f4d307e14234fd36d82485e90ba0b4c2b12b54f 100644 --- a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm +++ b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm -@@ -696,6 +696,7 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { - prefs::kNTPHomeCustomizationNewBadgeImpressionCount, 0); +@@ -673,6 +673,7 @@ void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { - registry->RegisterBooleanPref(prefs::kWidgetsForMultiProfile, false); + // Deprecated 09/2025. + registry->RegisterBooleanPref(prefs::kBottomOmnibox, false); + BRAVE_REGISTER_LOCAL_STATE_PREFS } void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { -@@ -1148,6 +1149,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { - registry->RegisterBooleanPref(kParcelTrackingDisabled, false); - registry->RegisterBooleanPref( - kHomeCustomizationMagicStackParcelTrackingEnabled, false); +@@ -1106,6 +1107,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { + registry->RegisterInt64Pref(kNtpShownBookmarksFolder, 0); + registry->RegisterStringPref(kGaiaCookieLastListAccountsData, std::string()); + registry->RegisterStringPref(kFRESourceTrial, std::string()); + BRAVE_REGISTER_BROWSER_STATE_PREFS } diff --git a/patches/ios-chrome-browser-sync-model-sync_service_factory.mm.patch b/patches/ios-chrome-browser-sync-model-sync_service_factory.mm.patch index ddf6b7f31e1..ddcc2ae0f66 100644 --- a/patches/ios-chrome-browser-sync-model-sync_service_factory.mm.patch +++ b/patches/ios-chrome-browser-sync-model-sync_service_factory.mm.patch @@ -1,13 +1,13 @@ diff --git a/ios/chrome/browser/sync/model/sync_service_factory.mm b/ios/chrome/browser/sync/model/sync_service_factory.mm -index 9c95b06d0a4b6f2e7e1a83dd26bb3bb3ab610819..0ad8963b21d94ee6f951208ca0ff2481c35417d5 100644 +index fc65042c0c6b6fb9391772c76dc73844cbab6904..eb8da75841725399a96669ba5c002462ef51293c 100644 --- a/ios/chrome/browser/sync/model/sync_service_factory.mm +++ b/ios/chrome/browser/sync/model/sync_service_factory.mm -@@ -211,7 +211,7 @@ std::unique_ptr BuildSyncService(web::BrowserState* context) { - init_params.debug_identifier = profile->GetProfileName(); - +@@ -197,7 +197,7 @@ std::unique_ptr BuildSyncService(ProfileIOS* profile) { + init_params.os_crypt_async = GetApplicationContext()->GetOSCryptAsync(); + } auto sync_service = - std::make_unique(std::move(init_params)); + BRAVE_BUILD_SERVICE_INSTANCE_FOR sync_service->Initialize(CreateControllers(profile, sync_service.get())); - // TODO(crbug.com/40250371): Remove the workaround below once + password_manager::PasswordReceiverService* password_receiver_service = diff --git a/patches/net-dns-host_resolver_manager_job.cc.patch b/patches/net-dns-host_resolver_manager_job.cc.patch index 8d78678206d..6a847367878 100644 --- a/patches/net-dns-host_resolver_manager_job.cc.patch +++ b/patches/net-dns-host_resolver_manager_job.cc.patch @@ -1,12 +1,12 @@ diff --git a/net/dns/host_resolver_manager_job.cc b/net/dns/host_resolver_manager_job.cc -index 49c5081a884ca943e32a478fc8acc7e5e637e67c..3d06a413f0f550c5c9c6c8bd7c9347584f8fd026 100644 +index 06fd2075938073335395518bf0c76985f8d6b4cd..7b311f25e3927b007c89f256cc8fc80c403ad5b8 100644 --- a/net/dns/host_resolver_manager_job.cc +++ b/net/dns/host_resolver_manager_job.cc -@@ -1084,6 +1084,7 @@ void HostResolverManager::Job::CompleteRequests( +@@ -1096,6 +1096,7 @@ void HostResolverManager::Job::CompleteRequests( } RecordJobHistograms(results, task_type); + BRAVE_RECORD_DNS_COUNTS - - // Complete all of the requests that were attached to the job and - // detach them. + if (results.error() == OK && had_non_speculative_request_ && + key_.source == HostResolverSource::ANY) { + RecordJobHttpsHistograms(); diff --git a/patches/third_party-rust-serde-v1-BUILD.gn.patch b/patches/third_party-rust-serde-v1-BUILD.gn.patch index 679e646a36b..358013ee521 100644 --- a/patches/third_party-rust-serde-v1-BUILD.gn.patch +++ b/patches/third_party-rust-serde-v1-BUILD.gn.patch @@ -1,8 +1,8 @@ diff --git a/third_party/rust/serde/v1/BUILD.gn b/third_party/rust/serde/v1/BUILD.gn -index 930cd001640c11192e86542487a7ea253bded82e..17865d28b58cb0a926aa24dd96ef8c61b850bb43 100644 +index 901adcc5d31bd511dc0db8eeaf8f536f9c973d34..79e7ce2e8f6fe849928ec090c6b561ec7c5de324 100644 --- a/third_party/rust/serde/v1/BUILD.gn +++ b/third_party/rust/serde/v1/BUILD.gn -@@ -55,7 +55,7 @@ cargo_crate("lib") { +@@ -44,7 +44,7 @@ cargo_crate("lib") { "serde_derive", "std", ] @@ -10,4 +10,4 @@ index 930cd001640c11192e86542487a7ea253bded82e..17865d28b58cb0a926aa24dd96ef8c61 + features += [ "alloc", "rc" ] build_sources = [ "//third_party/rust/chromium_crates_io/vendor/serde-v1/build.rs" ] - + build_script_outputs = [ "private.rs" ] diff --git a/patches/third_party/search_engines_data/resources/definitions-prepopulated_engines.json.patch b/patches/third_party/search_engines_data/resources/definitions-prepopulated_engines.json.patch index e2e1610cc14..77e768680a5 100644 --- a/patches/third_party/search_engines_data/resources/definitions-prepopulated_engines.json.patch +++ b/patches/third_party/search_engines_data/resources/definitions-prepopulated_engines.json.patch @@ -1,8 +1,8 @@ diff --git a/definitions/prepopulated_engines.json b/definitions/prepopulated_engines.json -index c7a8cb293345ab6161323f5e822e923ef2a31849..4e49a5342af7c78b963e94089167af5040427e72 100644 +index 5c4f4d27ea15ea2037b2cf2930a3de101194c80e..1e0bcfb4ab935c8bffdaf85aef7e2bcaf2ca8858 100644 --- a/definitions/prepopulated_engines.json +++ b/definitions/prepopulated_engines.json -@@ -115,24 +115,6 @@ +@@ -117,25 +117,6 @@ "id": 68 }, @@ -11,6 +11,7 @@ index c7a8cb293345ab6161323f5e822e923ef2a31849..4e49a5342af7c78b963e94089167af50 - "keyword": "duckduckgo.com", - "favicon_url": "https://duckduckgo.com/favicon.ico", - "base_builtin_resource_id": "SEARCH_ENGINE_DUCKDUCKGO", +- "logo_url": "https://staticcdn.duckduckgo.com/serp-fe/www/logos/dynamic/DuckDuckGoLogo.png", - "search_url": "https://duckduckgo.com/?q={searchTerms}", - "suggest_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list", - "new_tab_url": "https://duckduckgo.com/chrome_newtab", @@ -27,7 +28,7 @@ index c7a8cb293345ab6161323f5e822e923ef2a31849..4e49a5342af7c78b963e94089167af50 "ecosia": { "name": "Ecosia", "keyword": "ecosia.org", -@@ -348,30 +330,6 @@ +@@ -351,30 +332,6 @@ "id": 108 }, diff --git a/patches/ui-native_theme-native_theme_win.cc.patch b/patches/ui-native_theme-native_theme_win.cc.patch index 87794e95646..80d38ce639c 100644 --- a/patches/ui-native_theme-native_theme_win.cc.patch +++ b/patches/ui-native_theme-native_theme_win.cc.patch @@ -1,12 +1,12 @@ diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc -index 0ca923fb1b402ce7a5b112600b86e79b02d96168..ffaf11a489e2449192eb4ff6c2316fde979fde9b 100644 +index 7468404c730c68bc8ba7565bf613aa69f13e3095..544b547ef365ad2eb8dc8c40e943bbaa3ad696ba 100644 --- a/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc -@@ -1671,6 +1671,7 @@ void NativeThemeWin::UpdateDarkModeStatus() { +@@ -1669,6 +1669,7 @@ void NativeThemeWin::UpdateDarkModeStatus() { &apps_use_light_theme); - dark_mode_enabled = (apps_use_light_theme == 0); + in_dark_mode_ = (apps_use_light_theme == 0); } + BRAVE_NATIVETHEMEWIN_UPDATEDARKMODESTATUS - set_use_dark_colors(dark_mode_enabled); set_preferred_color_scheme(CalculatePreferredColorScheme()); CloseHandlesInternal(); + NotifyOnNativeThemeUpdated(); diff --git a/patches/ui-native_theme-native_theme_win.h.patch b/patches/ui-native_theme-native_theme_win.h.patch index 65fd7418f2a..87d7689642f 100644 --- a/patches/ui-native_theme-native_theme_win.h.patch +++ b/patches/ui-native_theme-native_theme_win.h.patch @@ -1,12 +1,12 @@ diff --git a/ui/native_theme/native_theme_win.h b/ui/native_theme/native_theme_win.h -index b080dfe519d00770ae6f6be93d06b1817f93ae0a..612a6bbdb8ad47955ef6714b84603cf5c1b08db4 100644 +index f65cbaf56c29c1348ff8df457c92399c246b01bf..5baefa1621653cf4152dab2eb6cf2a6275a96d66 100644 --- a/ui/native_theme/native_theme_win.h +++ b/ui/native_theme/native_theme_win.h -@@ -86,6 +86,7 @@ class COMPONENT_EXPORT(NATIVE_THEME) NativeThemeWin : public NativeTheme { - - PreferredContrast CalculatePreferredContrast() const override; +@@ -27,6 +27,7 @@ class COMPONENT_EXPORT(NATIVE_THEME) NativeThemeWin : public NativeTheme { + State state, + const ExtraParams& extra_params) const override; + BRAVE_UI_NATIVE_THEME_NATIVE_THEME_WIN_H_ protected: - friend class NativeTheme; - friend class base::NoDestructor; + NativeThemeWin(); + ~NativeThemeWin() override;