diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index cc9623ba..98f97c17 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -255,6 +255,7 @@ import org.chromium.content_public.browser.LoadUrlParams; +@@ -260,6 +260,7 @@ import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.common.ContentSwitches; @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.printing.PrintManagerDelegateImpl; import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingControllerImpl; -@@ -1096,6 +1097,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -1116,6 +1117,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -41,9 +41,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc @@ -196,6 +196,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &feed::kFeedNoViewCache, &feed::kFeedPerformanceStudy, &feed::kFeedRecyclerBinderUnmountOnDetach, - &feed::kFeedShowSignInCommand, + &kAllowUserCertificates, &feed::kFeedSignedOutViewDemotion, &feed::kInterestFeedV2, @@ -51,7 +51,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -166,6 +166,7 @@ public abstract class ChromeFeatureList { +@@ -167,6 +167,7 @@ public abstract class ChromeFeatureList { "AccountForSuppressedKeyboardInsets"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = "AdaptiveButtonInTopToolbarCustomizationV2"; @@ -59,7 +59,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = "AdaptiveButtonInTopToolbarPageSummary"; public static final String ANDROID_ANIMATED_PROGRESS_BAR_IN_BROWSER = -@@ -820,6 +821,8 @@ public abstract class ChromeFeatureList { +@@ -795,6 +796,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn = newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false, true); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); @@ -68,10 +68,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAppSpecificHistoryViewIntent = newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true); public static final CachedFlag sAsyncNotificationManager = -@@ -1136,6 +1139,7 @@ public abstract class ChromeFeatureList { +@@ -1121,6 +1124,7 @@ public abstract class ChromeFeatureList { + // keep-sorted start sAccountForSuppressedKeyboardInsets, sAndroidAnimatedProgressBarInBrowser, - sAndroidAnimatedProgressBarInViz, + sAllowUserCertificates, sAndroidAppIntegrationModule, sAndroidAppIntegrationMultiDataSource, @@ -111,8 +111,8 @@ new file mode 100644 diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java --- a/net/android/java/src/org/chromium/net/X509Util.java +++ b/net/android/java/src/org/chromium/net/X509Util.java -@@ -537,6 +537,8 @@ public class X509Util { - return userRootBytes.toArray(new byte[0][]); +@@ -472,6 +472,8 @@ public class X509Util { + return result; } + public static boolean AllowUserCertificates = false; @@ -120,7 +120,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j public static AndroidCertVerifyResult verifyServerCertificates( byte[][] certChain, String authType, -@@ -639,6 +641,9 @@ public class X509Util { +@@ -649,6 +651,9 @@ public class X509Util { X509Certificate root = verifiedChain.get(verifiedChain.size() - 1); isIssuedByKnownRoot = isKnownRoot(root); } diff --git a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch index 57a99c4f..031a4bc8 100644 --- a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch +++ b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java --- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java -@@ -904,6 +904,12 @@ public class KeyboardShortcuts { +@@ -917,6 +917,12 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_ESCAPE, KeyEvent.META_CTRL_ON); } diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index 47a97c10..33fded68 100644 --- a/build/patches/Add-IsCleartextPermitted-flag.patch +++ b/build/patches/Add-IsCleartextPermitted-flag.patch @@ -44,7 +44,7 @@ new file mode 100644 diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -400,6 +400,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -401,6 +401,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { } } diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index c0faed7e..fe83aca6 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -200,6 +200,10 @@ bool IsReducePPMsEnabled() { +@@ -202,6 +202,10 @@ bool IsReducePPMsEnabled() { return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed); } diff --git a/build/patches/Add-a-flag-to-disable-GamePad-API.patch b/build/patches/Add-a-flag-to-disable-GamePad-API.patch index 65fe200e..c4a534f9 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -5,34 +5,18 @@ Subject: Add a flag to disable GamePad API Adds restrict-gamepad-access flag (default active) to disable GamePad API. License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - chrome/browser/flag-metadata.json | 4 ++-- content/child/runtime_features.cc | 2 ++ .../about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc | 7 +++++++ device/gamepad/public/cpp/gamepad_features.cc | 8 ++++++++ device/gamepad/public/cpp/gamepad_features.h | 2 ++ .../blink/renderer/modules/gamepad/navigator_gamepad.cc | 6 ++++++ - 6 files changed, 27 insertions(+), 2 deletions(-) + 5 files changed, 25 insertions(+) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-a-flag-to-disable-GamePad-API.inc -diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json ---- a/chrome/browser/flag-metadata.json -+++ b/chrome/browser/flag-metadata.json -@@ -9195,9 +9195,9 @@ - "expiry_milestone": 150 - }, - { -- "name": "restrict-gamepad-access", -+ "name": "restrict-gamepad-access", // restrict-gamepad-access" - "owners": [ "//device/gamepad/OWNERS", "jameshollyer@chromium.org" ], -- "expiry_milestone": 96 -+ "expiry_milestone": -1 - }, - { - "name": "rewriter-api-for-gemini-nano", diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -262,6 +262,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -264,6 +264,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)}, {wf::EnablePeriodicBackgroundSync, raw_ref(features::kPeriodicBackgroundSync)}, @@ -99,7 +83,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t #include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom-blink.h" #include "third_party/blink/public/platform/task_type.h" #include "third_party/blink/renderer/bindings/modules/v8/v8_gamepad_mapping_type.h" -@@ -86,6 +87,9 @@ NavigatorGamepad& NavigatorGamepad::From(Navigator& navigator) { +@@ -88,6 +89,9 @@ NavigatorGamepad& NavigatorGamepad::From(Navigator& navigator) { HeapVector> NavigatorGamepad::getGamepads( Navigator& navigator, ExceptionState& exception_state) { @@ -109,7 +93,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t if (!navigator.DomWindow()) { // Using an existing NavigatorGamepad if one exists, but don't create one // for a detached window, as its subclasses depend on a non-null window. -@@ -428,6 +432,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents( +@@ -432,6 +436,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents( void NavigatorGamepad::DispatchGamepadConnectionChangedEvent( const AtomicString& event_name, Gamepad* gamepad) { diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 223ac988..6201a333 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -80,7 +80,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -102,6 +102,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -105,6 +105,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -411,6 +411,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -412,6 +412,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { builtins_to_provide.push_back(chrome::kChromeUISettingsURL16); #endif builtins_to_provide.push_back(chrome::kChromeUIVersionURL16); @@ -102,7 +102,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -239,6 +239,9 @@ +@@ -237,6 +237,9 @@ @@ -199,7 +199,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -212,6 +212,8 @@ +@@ -206,6 +206,8 @@ #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" @@ -208,7 +208,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/extensions/background_mode_manager.h" #endif -@@ -1314,6 +1316,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1355,6 +1357,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -220,7 +220,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc --- a/chrome/browser/prefs/chrome_command_line_pref_store.cc +++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc -@@ -163,7 +163,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() { +@@ -161,7 +161,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() { command_line()->GetSwitchValueASCII(switches::kProxyBypassList); SetValue(proxy_config::prefs::kProxy, base::Value(ProxyConfigDictionary::CreateFixedServers( @@ -663,7 +663,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -158,6 +158,8 @@ static_library("ui") { +@@ -161,6 +161,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -685,7 +685,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -438,7 +441,7 @@ void RegisterChromeWebUIConfigs() { +@@ -439,7 +442,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif @@ -1168,7 +1168,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc --- a/components/proxy_config/pref_proxy_config_tracker_impl.cc +++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc -@@ -550,7 +550,7 @@ PrefProxyConfigTrackerImpl::GetEffectiveProxyConfig( +@@ -525,7 +525,7 @@ PrefProxyConfigTrackerImpl::GetEffectiveProxyConfig( // static void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) { registry->RegisterDictionaryPref(proxy_config::prefs::kProxy, @@ -1177,7 +1177,7 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) registry->RegisterIntegerPref( -@@ -562,7 +562,7 @@ void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -541,7 +541,7 @@ void PrefProxyConfigTrackerImpl::RegisterPrefs(PrefRegistrySimple* registry) { void PrefProxyConfigTrackerImpl::RegisterProfilePrefs( PrefRegistrySimple* registry) { registry->RegisterDictionaryPref(proxy_config::prefs::kProxy, @@ -1185,8 +1185,8 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone + ProxyConfigDictionary::CreateDirect()); registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false); registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules); - #if !BUILDFLAG(IS_CHROMEOS) -@@ -716,6 +716,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +@@ -699,6 +699,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( if (proxy_dict.GetBypassList(&proxy_bypass)) { proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass); } diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index cb391bee..8e39b48e 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../java/res/xml/incognito_preferences.xml | 37 ++++ .../java/res/xml/privacy_preferences.xml | 5 + .../AlwaysIncognitoLinkInterceptor.java | 54 ++++++ - .../chrome/browser/ChromeTabbedActivity.java | 25 ++- + .../chrome/browser/ChromeTabbedActivity.java | 21 ++- .../chrome/browser/app/ChromeActivity.java | 4 + .../AppMenuPropertiesDelegateImpl.java | 7 +- .../ChromeContextMenuPopulator.java | 6 +- @@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../add-an-always-incognito-mode.inc | 1 + .../add-an-always-incognito-mode.inc | 3 + .../add-an-always-incognito-mode.inc | 1 + - 70 files changed, 809 insertions(+), 118 deletions(-) + 70 files changed, 807 insertions(+), 116 deletions(-) create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java @@ -102,7 +102,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -669,6 +669,7 @@ chrome_java_resources = [ +@@ -644,6 +644,7 @@ chrome_java_resources = [ "java/res/xml/main_preferences.xml", "java/res/xml/manage_sync_preferences.xml", "java/res/xml/personalize_google_services_preferences.xml", @@ -121,14 +121,14 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java", "java/src/org/chromium/chrome/browser/ActivityTabProvider.java", "java/src/org/chromium/chrome/browser/ActivityUtils.java", -@@ -949,6 +950,7 @@ chrome_java_sources = [ +@@ -958,6 +959,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/privacy/settings/PasswordEchoSettingHandlerFactory.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java", "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java", + "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/CctHandler.java", - "java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandbox3pcdRollbackMessageController.java", + "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java", diff --git a/chrome/android/java/res/xml/incognito_preferences.xml b/chrome/android/java/res/xml/incognito_preferences.xml new file mode 100644 --- /dev/null @@ -174,7 +174,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -84,6 +84,11 @@ found in the LICENSE file. +@@ -77,6 +77,11 @@ found in the LICENSE file. android:key="secure_dns" android:title="@string/settings_secure_dns_title" android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" /> @@ -248,7 +248,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -71,6 +71,10 @@ import org.chromium.build.annotations.Nullable; +@@ -80,6 +80,10 @@ import org.chromium.build.annotations.Nullable; import org.chromium.build.annotations.UsedByReflection; import org.chromium.cc.input.BrowserControlsState; import org.chromium.chrome.R; @@ -259,26 +259,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.IntentHandler.ExternalAppId; import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.accessibility.settings.CaretBrowsingDialog; -@@ -819,15 +823,20 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -813,12 +817,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt BrowserWindowType.NORMAL, currentTabModel, mMultiInstanceManager); // For saving non-incognito tab closures for Recent Tabs. - mHistoricalTabModelObserver = -- new HistoricalTabModelObserver( -- mTabModelSelector +- new HistoricalTabModelObserver(mTabModelSelector.getTabGroupModelFilter(false)); +- mHistoricalTabModelObserver.addSecondaryTabModelSupplier( +- ArchivedTabModelOrchestrator.getForProfile(currentTabModel.getProfile()) + boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito(); + PrefService prefService = UserPrefs.get(ProfileManager.getLastUsedRegularProfile()); + boolean historyEnabledInIncognito = + prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED); + if ((alwaysIncognito && historyEnabledInIncognito) || !alwaysIncognito) { + mHistoricalTabModelObserver = -+ new HistoricalTabModelObserver( -+ mTabModelSelector - .getTabGroupModelFilterProvider() -- .getTabGroupModelFilter(false)); -- mHistoricalTabModelObserver.addSecondaryTabModelSupplier( -- ArchivedTabModelOrchestrator.getForProfile(currentTabModel.getProfile()) -+ .getTabGroupModelFilter(alwaysIncognito)); ++ new HistoricalTabModelObserver(mTabModelSelector.getTabGroupModelFilter(alwaysIncognito)); + mHistoricalTabModelObserver.addSecondaryTabModelSupplier( + ArchivedTabModelOrchestrator.getForProfile(currentTabModel.getProfile()) ::getTabModel); @@ -287,19 +282,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct // Defer creation of this helper so it triggers after TabGroupModelFilter observers. mUndoRefocusHelper = new UndoRefocusHelper( -@@ -3282,7 +3291,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt - - // We determine SupportedProfileType in onPreCreate(). - // We determine the model as soon as possible so every systems get initialized coherently. +@@ -3306,7 +3315,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt + shouldPersistAcrossReboots() + && persistentState != null + && persistentState.getBoolean(IS_INCOGNITO_SELECTED, false); - boolean startIncognito = + boolean startIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() || (mSupportedProfileType == SupportedProfileType.OFF_THE_RECORD) || (mSupportedProfileType == SupportedProfileType.MIXED - && savedInstanceState != null + && (isIncognitoSelectedInSavedState diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -106,6 +106,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; +@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.chrome.browser.desktop_site.DesktopSiteUtils; import org.chromium.chrome.browser.device.DeviceClassManager; import org.chromium.chrome.browser.devtools.DevToolsWindowAndroid; @@ -307,7 +302,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.dom_distiller.DomDistillerUiUtils; import org.chromium.chrome.browser.dom_distiller.ReaderModeManager; import org.chromium.chrome.browser.download.DownloadManagerService; -@@ -2189,6 +2190,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2210,6 +2211,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -320,7 +315,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -93,6 +93,8 @@ import java.util.Iterator; +@@ -94,6 +94,8 @@ import java.util.Iterator; import java.util.List; import java.util.function.Supplier; @@ -329,7 +324,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App /** * Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu * items based on activity state. -@@ -669,8 +671,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -675,8 +677,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties && !isNativePage && !isFileScheme && !isContentScheme @@ -344,7 +339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java -@@ -43,6 +43,7 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager; +@@ -44,6 +44,7 @@ import org.chromium.base.shared_preferences.SharedPreferencesManager; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -352,7 +347,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item; import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ContextMenuItemType; -@@ -452,6 +453,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -456,6 +457,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { mShowEphemeralTabNewLabel = null; mCustomActionMap.clear(); @@ -362,7 +357,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr List groupedItems = new ArrayList<>(); if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) { -@@ -523,7 +527,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -527,7 +531,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } } if (FirstRunStatus.getFirstRunFlowComplete()) { @@ -423,7 +418,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.bookmarks.BookmarkModel; -@@ -240,6 +241,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -238,6 +239,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat tryAddingReadAloud = false; } @@ -464,7 +459,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java -@@ -39,6 +39,7 @@ import org.chromium.base.Log; +@@ -40,6 +40,7 @@ import org.chromium.build.annotations.Contract; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -472,9 +467,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.app.download.home.DownloadActivityLauncher; -@@ -82,6 +83,10 @@ import org.chromium.url.GURL; - +@@ -84,6 +85,10 @@ import org.chromium.url.GURL; import java.io.File; + import java.util.Locale; +import org.chromium.components.prefs.PrefService; +import org.chromium.components.user_prefs.UserPrefs; @@ -483,7 +478,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo /** A class containing some utility static methods. */ @NullMarked public class DownloadUtils { -@@ -292,7 +297,13 @@ public class DownloadUtils { +@@ -295,7 +300,13 @@ public class DownloadUtils { public static boolean isAllowedToDownloadPage(@Nullable Tab tab) { if (tab == null) return false; @@ -545,7 +540,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java -@@ -61,6 +61,14 @@ import java.util.List; +@@ -63,6 +63,14 @@ import java.util.List; import java.util.function.Function; import java.util.function.Supplier; @@ -560,7 +555,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History /** Combines and manages the different UI components of browsing history. */ @NullMarked public class HistoryManager -@@ -166,7 +174,7 @@ public class HistoryManager +@@ -168,7 +176,7 @@ public class HistoryManager mUmaRecorder.recordOpenHistory(); // If incognito placeholder is shown, we don't need to create History UI elements. @@ -569,7 +564,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History mSelectableListLayout = null; mRootView = getIncognitoHistoryPlaceholderView(); return; -@@ -458,9 +466,22 @@ public class HistoryManager +@@ -460,9 +468,22 @@ public class HistoryManager onBackPressStateChanged(); } @@ -593,7 +588,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History // If Incognito placeholder is shown no need to call any destroy method. return; } -@@ -521,7 +542,7 @@ public class HistoryManager +@@ -523,7 +544,7 @@ public class HistoryManager * @return True if manager handles this event, false if it decides to ignore. */ private boolean onBackPressed() { @@ -638,15 +633,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java -@@ -26,6 +26,7 @@ import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.build.annotations.NullMarked; +@@ -28,6 +28,7 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; + import org.chromium.chrome.browser.RecentlyClosedEntriesManager; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.back_press.BackPressManager; -@@ -425,7 +426,8 @@ public class NativePageFactory { +@@ -457,7 +458,8 @@ public class NativePageFactory { NativePage page; @@ -659,8 +654,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java -@@ -44,6 +44,15 @@ import org.chromium.components.signin.metrics.SigninAccessPoint; - import org.chromium.components.sync.SyncService; +@@ -48,6 +48,15 @@ import org.chromium.ui.base.WindowAndroid; + import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; +import android.content.Intent; @@ -675,17 +670,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM import java.util.HashMap; import java.util.List; import java.util.Map; -@@ -113,7 +122,8 @@ public class RecentTabsManager - Profile profile, - Context context, - Runnable showHistoryManager) { +@@ -120,7 +129,8 @@ public class RecentTabsManager + SnackbarManager snackbarManager, + Runnable showHistoryManager, + RecentlyClosedEntriesManager recentlyClosedEntriesManager) { - mProfile = profile; + mProfile = profile.getOriginalProfile(); + profile = mProfile; mActiveTab = tab; - mTabModelSelector = tabModelSelector; mShowHistoryManager = showHistoryManager; -@@ -302,6 +312,22 @@ public class RecentTabsManager + mForeignSessionHelper = new ForeignSessionHelper(profile); +@@ -310,6 +320,22 @@ public class RecentTabsManager */ public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) { if (mIsDestroyed) return; @@ -899,7 +894,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.components.browser_ui.accessibility.AccessibilitySettings; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.settings.FragmentSettingsNavigation; -@@ -211,6 +212,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -223,6 +224,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl SigninAndHistorySyncActivityLauncherImpl.get(), new SettingsCustomTabLauncherImpl())); } @@ -979,7 +974,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore return; } -@@ -191,14 +193,15 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { +@@ -191,7 +193,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { CollectionUtil.integerCollectionToIntArray(savedStateVersions)); } @@ -988,16 +983,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore RecordHistogram.recordEnumeratedHistogram( "Tabs.RecentlyClosed.HistoricalSaverCloseType", HistoricalSaverCloseType.TAB, - HistoricalSaverCloseType.COUNT); - HistoricalTabSaverImplJni.get() - .createHistoricalTab( -- tab, getWebContentsState(tab).buffer(), getWebContentsState(tab).version()); -+ tab, getWebContentsState(tab).buffer(), getWebContentsState(tab).version(), +@@ -204,7 +206,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { + tab, + index, + getWebContentsState(tab).buffer(), +- getWebContentsState(tab).version()); ++ getWebContentsState(tab).version(), + is_always_incognito); } /** -@@ -206,7 +209,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { +@@ -212,7 +215,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { * internal Chrome scheme, about:blank, or a native page and it cannot be incognito. */ private boolean shouldSave(Tab tab) { @@ -1006,19 +1002,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore // Check the secondary tab model to see if the tab was moved instead of deleted. if (tabIdExistsInSecondaryModel(tab.getId())) return false; -@@ -294,7 +297,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { +@@ -300,7 +303,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver { @NativeMethods interface Natives { -- void createHistoricalTab(Tab tab, ByteBuffer state, int savedStateVersion); -+ void createHistoricalTab(Tab tab, ByteBuffer state, int savedStateVersion, boolean is_always_incognito); +- void createHistoricalTab(Tab tab, int index, ByteBuffer state, int savedStateVersion); ++ void createHistoricalTab(Tab tab, int index, ByteBuffer state, int savedStateVersion, boolean is_always_incognito); void createHistoricalGroup( TabModel model, diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -27,6 +27,7 @@ import org.chromium.base.supplier.OneshotSupplier; +@@ -29,6 +29,7 @@ import org.chromium.build.annotations.Contract; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -1026,7 +1022,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ai.AiAssistantService; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; -@@ -245,7 +246,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -247,7 +248,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // When the feature is enabled, show either "New Incognito tab" in incognito mode // or "New tab" in normal mode. When the feature is disabled, show both. @@ -1039,7 +1035,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -216,6 +216,8 @@ import org.chromium.content_public.common.ContentSwitches; +@@ -219,6 +219,8 @@ import org.chromium.content_public.common.ContentSwitches; import org.chromium.ui.UiUtils; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.DeviceFormFactor; @@ -1048,7 +1044,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.ui.base.IntentRequestTracker; import org.chromium.ui.base.UiAndroidFeatureList; import org.chromium.ui.display.DisplayUtil; -@@ -1309,7 +1311,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1318,7 +1320,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { () -> { mTabCreatorManagerSupplier .get() @@ -1056,12 +1052,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab + .getTabCreator(AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()) .launchUrl( NewTabPageUtils.encodeNtpUrl( - NewTabPageLaunchOrigin.WEB_FEED), + profile, NewTabPageLaunchOrigin.WEB_FEED), diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java -@@ -56,6 +56,10 @@ import org.chromium.url.GURL; - import java.util.Collections; +@@ -54,6 +54,10 @@ import org.chromium.url.GURL; + import java.util.concurrent.CompletableFuture; import java.util.function.Supplier; +import org.chromium.base.ContextUtils; @@ -1071,7 +1067,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome /** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabModelOrderController { /** -@@ -598,7 +602,6 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode +@@ -591,7 +595,6 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode // TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome. public @Nullable Tab launchUrlFromExternalApp( LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) { @@ -1090,7 +1086,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; -@@ -138,6 +139,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod +@@ -139,6 +140,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod ProfileProvider profileProvider = mProfileProviderSupplier.get(); assert profileProvider != null; @@ -1126,7 +1122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java -@@ -53,6 +53,7 @@ import org.chromium.build.annotations.Nullable; +@@ -59,6 +59,7 @@ import org.chromium.build.annotations.Nullable; import org.chromium.cc.input.BrowserControlsState; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; @@ -1192,13 +1188,13 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and +#include "components/prefs/pref_service.h" +#include "historical_tab_saver.h" + - using base::android::JavaParamRef; using base::android::JavaRef; using base::android::ScopedJavaLocalRef; -@@ -89,7 +94,8 @@ std::vector> StringsToUuids( +@@ -89,7 +94,8 @@ std::vector> StringsToUuids( void CreateHistoricalTab( TabAndroid* tab_android, + int index, - WebContentsStateByteBuffer web_contents_state_byte_buffer) { + WebContentsStateByteBuffer web_contents_state_byte_buffer, + bool is_always_incognito) { @@ -1231,25 +1227,26 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and DCHECK_EQ(tab_group_ids.size(), group_titles.size()); DCHECK_EQ(tab_group_ids.size(), group_colors.size()); DCHECK_EQ(tab_group_ids.size(), tab_group_ids.size()); -@@ -280,11 +291,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab( - JNIEnv* env, - const JavaParamRef& jtab_android, - const JavaParamRef& state, +@@ -281,12 +292,13 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab( + const JavaRef& jtab_android, + jint index, + const JavaRef& state, - jint saved_state_version) { + jint saved_state_version, + jboolean is_always_incognito) { - WebContentsStateByteBuffer web_contents_state = WebContentsStateByteBuffer( - ScopedJavaLocalRef(state), (int)saved_state_version); + WebContentsStateByteBuffer web_contents_state = + WebContentsStateByteBuffer(ScopedJavaLocalRef(state), + static_cast(saved_state_version)); CreateHistoricalTab(TabAndroid::GetNativeTab(env, jtab_android), -- std::move(web_contents_state)); -+ std::move(web_contents_state), is_always_incognito); +- static_cast(index), std::move(web_contents_state)); ++ static_cast(index), std::move(web_contents_state), is_always_incognito); } static void JNI_HistoricalTabSaverImpl_CreateHistoricalGroup( diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc -@@ -462,6 +462,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const { +@@ -463,6 +463,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const { return AimEligibilityServiceFactory::GetForProfile(profile_); } @@ -1312,7 +1309,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse #include "chrome/browser/bookmarks/bookmark_model_factory.h" #include "chrome/browser/bookmarks/managed_bookmark_service_factory.h" #include "chrome/browser/commerce/shopping_service_factory.h" -@@ -210,6 +211,12 @@ static ScopedJavaLocalRef JNI_BookmarkBridge_NativeGetForProfile( +@@ -211,6 +212,12 @@ static ScopedJavaLocalRef JNI_BookmarkBridge_NativeGetForProfile( if (!profile) return nullptr; @@ -1376,7 +1373,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -80,6 +80,12 @@ +@@ -93,6 +93,12 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #endif @@ -1389,7 +1386,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE)); using safe_browsing::SafeBrowsingNavigationObserverManager; -@@ -220,6 +226,16 @@ const int kExtensionReferrerUserGestureLimit = 2; +@@ -233,6 +239,16 @@ const int kExtensionReferrerUserGestureLimit = 2; WebstorePrivateApi::Delegate* test_delegate = nullptr; @@ -1406,7 +1403,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api // We allow the web store to set a string containing login information when a // purchase is made, so that when a user logs into sync with a different // account we can recognize the situation. The Get function returns the login if -@@ -426,7 +442,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() { +@@ -454,7 +470,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() { params_ = Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params_); @@ -1415,7 +1412,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api if (!crx_file::id_util::IdIsValid(details().id)) { return RespondNow(BuildResponse(api::webstore_private::Result::kInvalidId, -@@ -948,7 +964,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:: +@@ -976,7 +992,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:: DCHECK(extension); DCHECK(contents); @@ -1424,7 +1421,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api std::string message_from_admin = ExtensionManagementFactory::GetForBrowserContext(profile) -@@ -984,7 +1000,7 @@ WebstorePrivateCompleteInstallFunction::Run() { +@@ -1012,7 +1028,7 @@ WebstorePrivateCompleteInstallFunction::Run() { std::optional params = CompleteInstall::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); @@ -1433,7 +1430,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api if (profile->IsGuestSession() || profile->IsOffTheRecord()) { return RespondNow(Error(kIncognitoError)); } -@@ -1302,7 +1318,7 @@ ExtensionFunction::ResponseValue +@@ -1330,7 +1346,7 @@ ExtensionFunction::ResponseValue WebstorePrivateGetExtensionStatusFunction::BuildResponseWithoutManifest( const ExtensionId& extension_id) { ExtensionInstallStatus status = GetWebstoreExtensionInstallStatus( @@ -1442,7 +1439,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api api::webstore_private::ExtensionInstallStatus api_status = ConvertExtensionInstallStatusForAPI(status); return ArgumentList(GetExtensionStatus::Results::Create(api_status)); -@@ -1316,7 +1332,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed( +@@ -1344,7 +1360,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed( return; } @@ -1464,7 +1461,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo #else #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -@@ -627,6 +630,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { +@@ -640,6 +643,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { history::HistoryService* HistoryTabHelper::GetHistoryService() { Profile* profile = Profile::FromBrowserContext(web_contents()->GetBrowserContext()); @@ -1475,10 +1472,10 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo + } +#endif + - if (profile->IsOffTheRecord()) + if (profile->IsOffTheRecord()) { return nullptr; - -@@ -634,6 +644,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { + } +@@ -648,6 +658,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { profile, ServiceAccessType::IMPLICIT_ACCESS); } @@ -1542,7 +1539,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom // Must come after all headers that specialize FromJniType() / ToJniType(). #include "chrome/android/chrome_jni_headers/OfflinePageBridge_jni.h" -@@ -731,9 +734,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone( +@@ -727,9 +730,15 @@ void OfflinePageBridge::GetPageByOfflineIdDone( } if (offline_page_model_->IsArchiveInInternalDir(offline_page->file_path)) { @@ -1827,7 +1824,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -262,6 +262,7 @@ +@@ -236,6 +236,7 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h" @@ -1835,7 +1832,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #include "chrome/browser/android/ntp/recent_tabs_page_prefs.h" #include "chrome/browser/android/oom_intervention/oom_intervention_decider.h" #include "chrome/browser/android/preferences/browser_prefs_android.h" -@@ -1774,6 +1775,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1813,6 +1814,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); @@ -1843,7 +1840,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse + registry->RegisterBooleanPref(prefs::kAlwaysIncognitoEnabled, + /*default_value=*/false); + HistoryTabHelper::RegisterProfilePrefs(registry); - #else // BUILDFLAG(IS_ANDROID) + #else // BUILDFLAG(IS_ANDROID) bookmarks_webui::RegisterProfilePrefs(registry); browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry); diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/profiles/profile_selections.cc @@ -1999,7 +1996,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -108,6 +108,11 @@ import org.chromium.ui.interpolators.Interpolators; +@@ -110,6 +110,11 @@ import org.chromium.ui.interpolators.Interpolators; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; @@ -2011,7 +2008,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import java.util.ArrayList; import java.util.Collection; import java.util.List; -@@ -528,6 +533,9 @@ class LocationBarMediator +@@ -530,6 +535,9 @@ class LocationBarMediator if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return; Tab tab = mLocationBarDataProvider.getTab(); if (tab == null) return; @@ -2024,7 +2021,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -6990,6 +6990,31 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -7027,6 +7027,31 @@ To change this setting, BEGIN_LINKdelete the Chrome d Cookies, cache, and other site data @@ -2059,7 +2056,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn --- a/chrome/browser/ui/messages/android/BUILD.gn +++ b/chrome/browser/ui/messages/android/BUILD.gn -@@ -27,6 +27,7 @@ android_library("java") { +@@ -25,6 +25,7 @@ android_library("java") { srcjar_deps = [ ":jni_headers" ] sources = [ "java/src/org/chromium/chrome/browser/ui/messages/infobar/SimpleConfirmInfoBarBuilder.java", @@ -2126,7 +2123,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -4153,6 +4153,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = +@@ -4118,6 +4118,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = "net.out_of_process_system_dns_resolution_enabled"; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) @@ -2142,7 +2139,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -129,10 +129,12 @@ void PrefProvider::RegisterProfilePrefs( +@@ -134,10 +134,12 @@ void PrefProvider::RegisterProfilePrefs( PrefProvider::PrefProvider(PrefService* prefs, bool off_the_record, @@ -2155,7 +2152,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov store_last_modified_(store_last_modified), clock_(base::DefaultClock::GetInstance()) { TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider"); -@@ -155,10 +157,12 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -160,10 +162,12 @@ PrefProvider::PrefProvider(PrefService* prefs, WebsiteSettingsRegistry* website_settings = WebsiteSettingsRegistry::GetInstance(); for (const WebsiteSettingsInfo* info : *website_settings) { @@ -2180,7 +2177,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov bool store_last_modified, bool restore_session); -@@ -117,6 +118,7 @@ class PrefProvider : public UserModifiableProvider { +@@ -122,6 +123,7 @@ class PrefProvider : public UserModifiableProvider { raw_ptr prefs_; const bool off_the_record_; @@ -2191,7 +2188,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc -@@ -287,6 +287,7 @@ struct ContentSettingEntry { +@@ -286,6 +286,7 @@ struct ContentSettingEntry { HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, bool is_off_the_record, @@ -2199,7 +2196,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics) -@@ -296,6 +297,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -295,6 +296,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, #endif prefs_(prefs), is_off_the_record_(is_off_the_record), @@ -2207,7 +2204,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. store_last_modified_(store_last_modified), allow_invalid_secondary_pattern_for_testing_(false), clock_(base::DefaultClock::GetInstance()) { -@@ -309,7 +311,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, +@@ -308,7 +310,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, policy_provider->AddObserver(this); auto pref_provider_ptr = std::make_unique( @@ -2239,7 +2236,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc --- a/components/omnibox/browser/autocomplete_provider_client.cc +++ b/components/omnibox/browser/autocomplete_provider_client.cc -@@ -77,3 +77,7 @@ base::WeakPtr +@@ -81,3 +81,7 @@ base::WeakPtr AutocompleteProviderClient::GetWeakPtr() { return nullptr; } @@ -2273,7 +2270,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc --- a/components/omnibox/browser/search_provider.cc +++ b/components/omnibox/browser/search_provider.cc -@@ -948,7 +948,8 @@ std::unique_ptr SearchProvider::CreateSuggestLoader( +@@ -946,7 +946,8 @@ std::unique_ptr SearchProvider::CreateSuggestLoader( // is required. // Request for suggestions in OTR contexts is not allowed; except for the Lens // searchboxes. diff --git a/build/patches/Add-autoplay-site-setting.patch b/build/patches/Add-autoplay-site-setting.patch index de521ad9..e5918e55 100644 --- a/build/patches/Add-autoplay-site-setting.patch +++ b/build/patches/Add-autoplay-site-setting.patch @@ -279,7 +279,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -255,7 +255,7 @@ void ContentSettingsRegistry::Init() { +@@ -254,7 +254,7 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::INHERIT_IN_INCOGNITO, PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 0bf83ec5..0d08afad 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -94,7 +94,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/c diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDelegateFactory.java -@@ -10,6 +10,7 @@ import org.chromium.base.supplier.ObservableSupplier; +@@ -11,6 +11,7 @@ import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.back_press.BackPressManager; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; -@@ -61,7 +62,7 @@ import java.util.function.Supplier; +@@ -63,7 +64,7 @@ import java.util.function.Supplier; */ @NullMarked public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -111,8 +111,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private final Supplier mShareDelegateSupplier; private final Supplier mEphemeralTabCoordinatorSupplier; -@@ -93,7 +94,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { - private final MultiInstanceManager mMultiInstanceManager; +@@ -97,7 +98,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { + private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager; public TabbedModeTabDelegateFactory( - Activity activity, @@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B import android.content.ComponentName; import android.content.Intent; import android.text.TextUtils; -@@ -35,6 +37,9 @@ import org.chromium.components.embedder_support.util.UrlConstants; +@@ -36,6 +38,9 @@ import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; @@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B /** * The activity that displays the bookmark UI on the phone. It keeps a {@link * BookmarkManagerCoordinator} inside of it and creates a snackbar manager. This activity should -@@ -50,6 +55,9 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -51,6 +56,9 @@ public class BookmarkActivity extends SnackbarActivity { private @Nullable BookmarkOpener mBookmarkOpener; private @Nullable OnKeyDownHandler mOnKeyDownHandler; @@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B @Override protected void onProfileAvailable(Profile profile) { super.onProfileAvailable(profile); -@@ -82,6 +90,14 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -84,6 +92,14 @@ public class BookmarkActivity extends SnackbarActivity { mOnKeyDownHandler = BackPressHelper.create( this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator); @@ -167,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B } @Override -@@ -109,6 +125,7 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -111,6 +127,7 @@ public class BookmarkActivity extends SnackbarActivity { @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -175,7 +175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) { assumeNonNull(data); BookmarkId bookmarkId = -@@ -118,6 +135,21 @@ public class BookmarkActivity extends SnackbarActivity { +@@ -120,6 +137,21 @@ public class BookmarkActivity extends SnackbarActivity { } } @@ -200,15 +200,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java --- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java -@@ -26,6 +26,7 @@ import org.chromium.base.supplier.OneshotSupplier; - import org.chromium.build.annotations.NullMarked; +@@ -28,6 +28,7 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; + import org.chromium.chrome.browser.RecentlyClosedEntriesManager; +import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.back_press.BackPressManager; import org.chromium.chrome.browser.bookmarks.BookmarkPage; -@@ -79,7 +80,7 @@ import java.util.function.Supplier; +@@ -83,7 +84,7 @@ import java.util.function.Supplier; */ @NullMarked public class NativePageFactory { @@ -217,8 +217,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final BrowserControlsManager mBrowserControlsManager; private final Supplier<@Nullable Tab> mCurrentTabSupplier; -@@ -104,7 +105,7 @@ public class NativePageFactory { - private final MultiInstanceManager mMultiInstanceManager; +@@ -111,7 +112,7 @@ public class NativePageFactory { + private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager; public NativePageFactory( - Activity activity, @@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat BottomSheetController sheetController, BrowserControlsManager browserControlsManager, Supplier<@Nullable Tab> currentTabSupplier, -@@ -182,7 +183,7 @@ public class NativePageFactory { +@@ -198,7 +199,7 @@ public class NativePageFactory { @VisibleForTesting static class NativePageBuilder { @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat private final BottomSheetController mBottomSheetController; private final Supplier mNewTabPageCreationTracker; private final BrowserControlsManager mBrowserControlsManager; -@@ -299,7 +300,7 @@ public class NativePageFactory { +@@ -326,7 +327,7 @@ public class NativePageFactory { mTabModelSelector, mEdgeToEdgeControllerSupplier), mActivity.getComponentName(), @@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -207,6 +207,8 @@ static_library("browser") { +@@ -208,6 +208,8 @@ static_library("browser") { "bad_message.h", "bookmarks/bookmark_model_factory.cc", "bookmarks/bookmark_model_factory.h", @@ -256,7 +256,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "bookmarks/chrome_bookmark_client.cc", "bookmarks/chrome_bookmark_client.h", "bookmarks/managed_bookmark_service_factory.cc", -@@ -1573,6 +1575,13 @@ static_library("browser") { +@@ -1531,6 +1533,13 @@ static_library("browser") { "webdata_services/web_data_service_factory.cc", ] @@ -270,7 +270,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn configs += [ "//build/config/compiler:wexit_time_destructors", "//build/config:precompiled_headers", -@@ -3733,8 +3742,6 @@ static_library("browser") { +@@ -3702,8 +3711,6 @@ static_library("browser") { "bookmarks/bookmark_expanded_state_tracker.h", "bookmarks/bookmark_expanded_state_tracker_factory.cc", "bookmarks/bookmark_expanded_state_tracker_factory.h", @@ -311,7 +311,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse // Must come after all headers that specialize FromJniType() / ToJniType(). #include "chrome/browser/bookmarks/android/jni_headers/BookmarkBridge_jni.h" -@@ -292,6 +314,10 @@ BookmarkBridge::~BookmarkBridge() { +@@ -293,6 +315,10 @@ BookmarkBridge::~BookmarkBridge() { partner_bookmarks_shim_observation_.Reset(); bookmark_model_observation_.Reset(); profile_observation_.Reset(); @@ -322,7 +322,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse } void BookmarkBridge::Destroy(JNIEnv* env) { -@@ -843,6 +869,173 @@ jint BookmarkBridge::GetTotalBookmarkCount( +@@ -844,6 +870,173 @@ jint BookmarkBridge::GetTotalBookmarkCount( return count; } @@ -499,7 +499,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h -@@ -20,6 +20,7 @@ +@@ -19,6 +19,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/supports_user_data.h" #include "chrome/browser/partnerbookmarks/partner_bookmarks_shim.h" @@ -507,7 +507,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_observer.h" #include "chrome/browser/reading_list/android/reading_list_manager.h" -@@ -37,6 +38,9 @@ +@@ -36,6 +37,9 @@ #include "components/signin/public/identity_manager/identity_manager.h" #include "url/android/gurl_android.h" @@ -517,8 +517,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser class BookmarkBridgeTest; // Values for a bitmask used to refer to a collection of bookmark nodes. -@@ -77,7 +81,8 @@ class BookmarkBridge : public ProfileObserver, - public ReadingListManager::Observer, +@@ -76,7 +80,8 @@ class BookmarkBridge : public ProfileObserver, + public reading_list::ReadingListManager::Observer, public ReadingListModelObserver, public signin::IdentityManager::Observer, - public base::SupportsUserData::Data { @@ -527,7 +527,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser public: // All of the injected pointers must be non-null and must outlive `this`. BookmarkBridge(Profile* profile, -@@ -108,6 +113,11 @@ class BookmarkBridge : public ProfileObserver, +@@ -107,6 +112,11 @@ class BookmarkBridge : public ProfileObserver, bool IsDoingExtensiveChanges(JNIEnv* env); @@ -536,10 +536,10 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser + int index) override; + void FileSelectionCanceled() override; + - jboolean IsEditBookmarksEnabled(JNIEnv* env); + bool IsEditBookmarksEnabled(JNIEnv* env); void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env); -@@ -120,6 +130,17 @@ class BookmarkBridge : public ProfileObserver, +@@ -119,6 +129,17 @@ class BookmarkBridge : public ProfileObserver, jlong id, jint type); @@ -556,8 +556,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser + void GetAllFoldersWithDepths( JNIEnv* env, - const base::android::JavaParamRef& j_folders_obj, -@@ -385,6 +406,8 @@ class BookmarkBridge : public ProfileObserver, + const base::android::JavaRef& j_folders_obj, +@@ -379,6 +400,8 @@ class BookmarkBridge : public ProfileObserver, void CreateOrDestroyAccountReadingListManagerIfNeeded(); const raw_ptr profile_; // weak @@ -566,7 +566,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser base::android::ScopedJavaGlobalRef java_bookmark_model_; const raw_ptr bookmark_model_; // weak const raw_ptr -@@ -399,6 +422,7 @@ class BookmarkBridge : public ProfileObserver, +@@ -393,6 +416,7 @@ class BookmarkBridge : public ProfileObserver, std::unique_ptr grouped_bookmark_actions_; PrefChangeRegistrar pref_change_registrar_; @@ -574,7 +574,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser // Information about the Partner bookmarks (must check for IsLoaded()). // This is owned by profile. -@@ -432,6 +456,10 @@ class BookmarkBridge : public ProfileObserver, +@@ -427,6 +451,10 @@ class BookmarkBridge : public ProfileObserver, base::TimeTicks load_start_time_; bool loading_notification_sent_ = false; @@ -678,7 +678,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerCoordinator.java -@@ -57,6 +57,8 @@ import org.chromium.components.image_fetcher.ImageFetcherConfig; +@@ -60,6 +60,8 @@ import org.chromium.components.image_fetcher.ImageFetcherConfig; import org.chromium.components.image_fetcher.ImageFetcherFactory; import org.chromium.ui.KeyboardVisibilityDelegate; import org.chromium.ui.edge_to_edge.EdgeToEdgePadAdjuster; @@ -687,7 +687,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType; import org.chromium.ui.modelutil.MVCListAdapter.ListItem; -@@ -344,6 +346,13 @@ public class BookmarkManagerCoordinator +@@ -354,6 +356,13 @@ public class BookmarkManagerCoordinator // Public API implementation. @@ -704,8 +704,8 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java -@@ -63,6 +63,8 @@ import org.chromium.components.commerce.core.SubscriptionsObserver; - import org.chromium.components.embedder_support.util.UrlConstants; +@@ -64,6 +64,8 @@ import org.chromium.components.commerce.core.ShoppingService; + import org.chromium.components.commerce.core.SubscriptionsObserver; import org.chromium.components.power_bookmarks.PowerBookmarkMeta; import org.chromium.components.power_bookmarks.PowerBookmarkType; +import org.chromium.ui.base.ActivityWindowAndroid; @@ -713,7 +713,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows import org.chromium.ui.accessibility.AccessibilityState; import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.DeviceInput; -@@ -84,6 +86,47 @@ import java.util.function.BooleanSupplier; +@@ -85,6 +87,47 @@ import java.util.function.BooleanSupplier; import java.util.function.Consumer; import java.util.function.Predicate; @@ -761,7 +761,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** Responsible for BookmarkManager business logic. */ // TODO(crbug.com/40256938): Remove BookmarkDelegate if possible. @NullMarked -@@ -94,6 +137,9 @@ class BookmarkManagerMediator +@@ -95,6 +138,9 @@ class BookmarkManagerMediator private static boolean sPreventLoadingForTesting; @@ -771,7 +771,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** Keeps track of whether drag is enabled / active for bookmark lists. */ private class BookmarkDragStateDelegate implements DragStateDelegate { private BookmarkDelegate mBookmarkDelegate; -@@ -646,6 +692,14 @@ class BookmarkManagerMediator +@@ -647,6 +693,14 @@ class BookmarkManagerMediator mNativePage = nativePage; } @@ -786,7 +786,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** See BookmarkManager(Coordinator)#updateForUrl */ void updateForUrl(String url) { // Bookmark model is null if the manager has been destroyed. -@@ -818,6 +872,235 @@ class BookmarkManagerMediator +@@ -819,6 +873,235 @@ class BookmarkManagerMediator } } @@ -1058,7 +1058,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java -@@ -102,6 +102,17 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -103,6 +103,17 @@ public class BookmarkToolbar extends SelectableListToolbar setOnMenuItemClickListener(dragEnabled ? null : this); } @@ -1076,7 +1076,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows void setEditButtonVisible(boolean visible) { mEditButtonVisible = visible; getMenu().findItem(R.id.edit_menu_id).setVisible(visible); -@@ -178,6 +189,12 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -185,6 +196,12 @@ public class BookmarkToolbar extends SelectableListToolbar void setCurrentFolder(BookmarkId folder) { mCurrentFolder = mBookmarkModel.getBookmarkById(folder); @@ -1089,7 +1089,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows } void setNavigateBackRunnable(Runnable navigateBackRunnable) { -@@ -202,6 +219,13 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -209,6 +226,13 @@ public class BookmarkToolbar extends SelectableListToolbar @Override public boolean onMenuItemClick(MenuItem menuItem) { hideOverflowMenu(); @@ -1103,7 +1103,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows return assumeNonNull(mMenuIdClickedFunction).apply(menuItem.getItemId()); } -@@ -222,6 +246,9 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -229,6 +253,9 @@ public class BookmarkToolbar extends SelectableListToolbar protected void showNormalView() { super.showNormalView(); @@ -1116,7 +1116,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java -@@ -139,6 +139,10 @@ class BookmarkToolbarMediator +@@ -148,6 +148,10 @@ class BookmarkToolbarMediator mBookmarkDelegate = bookmarkDelegate; mModel.set( BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack); @@ -1130,7 +1130,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java -@@ -86,6 +86,10 @@ class BookmarkToolbarProperties { +@@ -88,6 +88,10 @@ class BookmarkToolbarProperties { static final WritableObjectPropertyKey NEXT_FOCUSABLE_VIEW = new WritableObjectPropertyKey<>(); @@ -1141,8 +1141,8 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows static final PropertyKey[] ALL_KEYS = { SELECTION_DELEGATE, -@@ -114,6 +118,8 @@ class BookmarkToolbarProperties { - SELECTION_MODE_SHOW_MOVE, +@@ -117,6 +121,8 @@ class BookmarkToolbarProperties { + SELECTION_MODE_SHOW_COPY_LINK, SELECTION_MODE_SHOW_MARK_READ, SELECTION_MODE_SHOW_MARK_UNREAD, - NEXT_FOCUSABLE_VIEW @@ -1247,18 +1247,18 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -264,6 +264,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kAuxiliarySearchHistoryDonation, +@@ -257,6 +257,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kAvoidDoubleMultiwindowChanges, &kBlockIntentsWhileLocked, &kBookmarkPaneAndroid, + &kBookmarksExportUseSaf, &kBrowserControlsDebugging, &kBrowserControlsEarlyResize, - &kBrowserControlsRenderDrivenShowConstraint, + &kBrowserControlsPersistsOnCvh, diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -713,6 +713,7 @@ public abstract class ChromeFeatureList { +@@ -694,6 +694,7 @@ public abstract class ChromeFeatureList { "UseLibunwindstackNativeUnwinderAndroid"; public static final String VERIFY_QWACS = "VerifyQWACs"; public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService"; @@ -1321,7 +1321,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro /** Whether Chrome is set as the default browser. Default value is false. */ public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser"; -@@ -1125,6 +1127,7 @@ public final class ChromePreferenceKeys { +@@ -1167,6 +1169,7 @@ public final class ChromePreferenceKeys { AUXILIARY_SEARCH_SCHEMA_VERSION, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, @@ -1332,7 +1332,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -264,6 +264,24 @@ CHAR_LIMIT guidelines: +@@ -267,6 +267,24 @@ CHAR_LIMIT guidelines: Sites @@ -1360,7 +1360,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -211,6 +211,13 @@ static_library("utility") { +@@ -212,6 +212,13 @@ static_library("utility") { deps += [ "//chrome/services/pdf:lib" ] } diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 297e5b26..241b6dd2 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -24,7 +24,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../homepage/settings/HomepageSettings.java | 2 +- .../privacy/settings/PrivacySettings.java | 2 +- .../settings/FragmentDependencyProvider.java | 10 +- - .../browser/settings/SettingsActivity.java | 41 ++++- + .../browser/settings/SettingsActivity.java | 39 ++++ .../tracing/settings/DeveloperSettings.java | 5 +- chrome/browser/about_flags.cc | 11 ++ chrome/browser/browser_features.cc | 1 + @@ -106,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html third_party/blink/public/common/features.h | 1 + ui/base/ui_base_features.cc | 1 + ui/base/ui_base_features.h | 1 + - 93 files changed, 846 insertions(+), 32 deletions(-) + 93 files changed, 845 insertions(+), 31 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp @@ -143,7 +143,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -174,6 +174,8 @@ use_epoll = is_linux || is_chromeos || is_android +@@ -183,6 +183,8 @@ generate_allowlist_from_histograms_file("memory_dump_provider_name_variants") { # This does not include test code (test support and anything in the test # directory) which should use source_set as is recommended for GN targets). component("base") { @@ -152,22 +152,22 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1061,7 +1063,7 @@ component("base") { +@@ -1069,7 +1071,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] - deps = [ + deps += [ ":check_version_internal", + ":simdutf_shim", "//base/allocator:buildflags", - "//base/third_party/cityhash", diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc --- a/base/android/feature_map.cc +++ b/base/android/feature_map.cc -@@ -47,6 +47,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava( - static jboolean JNI_FeatureMap_IsEnabled(JNIEnv* env, - jlong jfeature_map, - std::string& feature_name) { +@@ -46,6 +46,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava( + + static bool JNI_FeatureMap_IsEnabled(jlong jfeature_map, + std::string& feature_name) { + if (base::FeatureList::IsCromiteFlag(feature_name)) { + const base::Feature* cromite_feature = + base::FeatureList::GetCromiteFlag(feature_name); @@ -191,7 +191,7 @@ diff --git a/base/android/java/src/org/chromium/base/cached_flags/ValuesReturned diff --git a/base/feature_list.cc b/base/feature_list.cc --- a/base/feature_list.cc +++ b/base/feature_list.cc -@@ -43,6 +43,31 @@ +@@ -39,6 +39,31 @@ namespace base { @@ -223,7 +223,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc namespace { // Pointer to the FeatureList instance singleton that was set via -@@ -472,6 +497,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { +@@ -477,6 +502,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { return g_feature_list_instance->IsFeatureEnabled(feature); } @@ -270,7 +270,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc // static bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) { return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos; -@@ -739,6 +804,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, +@@ -744,6 +809,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, void FeatureList::FinalizeInitialization() { DCHECK(!initialized_); @@ -463,7 +463,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -38,6 +38,10 @@ found in the LICENSE file. +@@ -32,6 +32,10 @@ found in the LICENSE file. android:key="do_not_track" android:title="@string/do_not_track_title" android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" /> @@ -489,7 +489,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -127,7 +127,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -129,7 +129,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } @Override @@ -509,25 +509,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; import org.chromium.build.annotations.NullMarked; -@@ -68,24 +69,31 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl - private final OneshotSupplier mSnackbarManagerSupplier; +@@ -71,6 +72,7 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl private final OneshotSupplier mBottomSheetControllerSupplier; - private final ObservableSupplier<@Nullable ModalDialogManager> mModalDialogManagerSupplier; + private final ObservableSupplier mModalDialogManagerSupplier; + private final Supplier mSearchCoordinator; + private final Supplier mRequireRestartDelegateSupplier; public FragmentDependencyProvider( Context context, - Profile profile, +@@ -78,19 +80,25 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl OneshotSupplier snackbarManagerSupplier, OneshotSupplier bottomSheetControllerSupplier, -- ObservableSupplier<@Nullable ModalDialogManager> modalDialogManagerSupplier) { -+ ObservableSupplier<@Nullable ModalDialogManager> modalDialogManagerSupplier, + ObservableSupplier modalDialogManagerSupplier, +- Supplier searchCoordinator) { ++ Supplier searchCoordinator, + Supplier requireRestartDelegateSupplier) { mContext = context; mProfile = profile; mSnackbarManagerSupplier = snackbarManagerSupplier; mBottomSheetControllerSupplier = bottomSheetControllerSupplier; mModalDialogManagerSupplier = modalDialogManagerSupplier; + mSearchCoordinator = searchCoordinator; + mRequireRestartDelegateSupplier = requireRestartDelegateSupplier; } @@ -553,7 +555,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import android.annotation.SuppressLint; import android.app.ActivityManager; import android.content.Context; -@@ -43,6 +44,7 @@ import org.chromium.base.Log; +@@ -42,6 +43,7 @@ import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; import org.chromium.base.supplier.ObservableSupplier; @@ -561,7 +563,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; -@@ -54,6 +56,7 @@ import org.chromium.chrome.browser.back_press.BackPressHelper.OnKeyDownHandler; +@@ -53,6 +55,7 @@ import org.chromium.chrome.browser.back_press.BackPressHelper.OnKeyDownHandler; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; @@ -569,7 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManagerUtils; -@@ -61,6 +64,7 @@ import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator; +@@ -60,6 +63,7 @@ import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; @@ -577,7 +579,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; -@@ -115,6 +119,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -114,6 +118,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity PreferenceUpdateObserver { private static final String TAG = "SettingsActivity"; @@ -618,20 +620,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; -@@ -205,7 +243,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity - mProfile, +@@ -206,6 +244,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mSnackbarManagerSupplier, mBottomSheetControllerSupplier, -- getModalDialogManagerSupplier()), -+ getModalDialogManagerSupplier(), -+ () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)), + getModalDialogManagerSupplier(), ++ () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this), + () -> mSearchCoordinator), /* recursive= */ true); fragmentManager.registerFragmentLifecycleCallbacks( - new WideDisplayPaddingApplier(), /* recursive= */ true); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -23,8 +23,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils; +@@ -26,8 +26,7 @@ import org.chromium.components.browser_ui.settings.search.SettingsIndexData; /** Settings fragment containing preferences aimed at Chrome and web developers. */ @NullMarked @@ -641,7 +641,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting private static final String UI_PREF_BETA_STABLE_HINT = "beta_stable_hint"; // Non-translated strings: -@@ -55,7 +54,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment +@@ -58,7 +57,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment } @Override @@ -649,11 +649,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting + public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String s) { SettingsUtils.addPreferencesFromResource(this, R.xml.developer_preferences); - if (VersionInfo.isBetaBuild() || VersionInfo.isStableBuild()) { + if (shouldRemoveBetaStableHint()) { diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -389,6 +389,10 @@ using flags_ui::kOsLinux; +@@ -390,6 +390,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -664,7 +664,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -5291,6 +5295,10 @@ const FeatureEntry::Choice kOmniboxAutofocusOnIncognitoNtpChoices[] = { +@@ -5202,6 +5206,10 @@ const FeatureEntry::Choice kOmniboxAutofocusOnIncognitoNtpChoices[] = { }; #endif // !BUILDFLAG(IS_ANDROID) @@ -675,7 +675,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc // RECORDING USER METRICS FOR FLAGS: // ----------------------------------------------------------------------------- // The first line of the entry is the internal name. -@@ -5317,6 +5325,9 @@ const FeatureEntry::Choice kOmniboxAutofocusOnIncognitoNtpChoices[] = { +@@ -5228,6 +5236,9 @@ const FeatureEntry::Choice kOmniboxAutofocusOnIncognitoNtpChoices[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -688,7 +688,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -284,4 +284,5 @@ BASE_FEATURE(kReportPakFileIntegrity, +@@ -262,4 +262,5 @@ BASE_FEATURE(kReportPakFileIntegrity, // show both in Chrome Tabs and Windows. BASE_FEATURE(kRemovalOfIWAsFromTabCapture, base::FEATURE_ENABLED_BY_DEFAULT); @@ -697,7 +697,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features.h --- a/chrome/browser/browser_features.h +++ b/chrome/browser/browser_features.h -@@ -118,6 +118,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); +@@ -113,6 +113,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture); // module, e.g. // //chrome/browser//features.h // @@ -747,7 +747,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -840,6 +840,7 @@ BASE_FEATURE(kXplatSyncedSetup, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -814,6 +814,7 @@ BASE_FEATURE(kXplatSyncedSetup, base::FEATURE_DISABLED_BY_DEFAULT); // clang-format on @@ -769,7 +769,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -20,6 +20,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; +@@ -21,6 +21,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; import org.chromium.components.cached_flags.IntCachedFeatureParam; import org.chromium.components.cached_flags.StringCachedFeatureParam; @@ -780,7 +780,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -1118,7 +1122,7 @@ public abstract class ChromeFeatureList { +@@ -1104,7 +1108,7 @@ public abstract class ChromeFeatureList { newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); // keep-sorted end @@ -789,7 +789,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( // keep-sorted start sAccountForSuppressedKeyboardInsets, -@@ -1282,6 +1286,13 @@ public abstract class ChromeFeatureList { +@@ -1262,6 +1266,13 @@ public abstract class ChromeFeatureList { // keep-sorted end ); @@ -969,16 +969,16 @@ new file mode 100644 diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -788,4 +788,5 @@ BASE_FEATURE(kWhatsNewDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT); - - BASE_FEATURE(kTabGroupsFocusing, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -577,4 +577,5 @@ BASE_FEATURE(kTabGroupsFocusing, base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kUpdaterUI, base::FEATURE_DISABLED_BY_DEFAULT); + #endif +#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc" } // namespace features diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc --- a/chrome/browser/unexpire_flags.cc +++ b/chrome/browser/unexpire_flags.cc -@@ -11,6 +11,7 @@ +@@ -10,6 +10,7 @@ #include "base/containers/flat_map.h" #include "base/feature_list.h" #include "base/no_destructor.h" @@ -986,7 +986,7 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc #include "chrome/browser/expired_flags_list.h" #include "chrome/browser/unexpire_flags_gen.h" #include "chrome/common/chrome_version.h" -@@ -117,7 +118,19 @@ bool IsFlagExpired(const flags_ui::FlagsStorage* storage, +@@ -116,7 +117,19 @@ bool IsFlagExpired(const flags_ui::FlagsStorage* storage, // Otherwise, the flag is expired if its expiration mstone is less than the // mstone of this copy of Chromium. @@ -1010,7 +1010,7 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -1906,5 +1906,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -1912,5 +1912,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); // happen silently without prompting an updating dialog. BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1044,7 +1044,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -30,9 +30,11 @@ import org.chromium.content_public.browser.ContentFeatureList; +@@ -34,9 +34,11 @@ import org.chromium.content_public.browser.ContentFeatureList; import org.chromium.content_public.browser.ContentFeatureMap; import org.chromium.ui.base.UiAndroidFeatureList; @@ -1057,7 +1057,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c implements EmbeddableSettingsPage, Preference.OnPreferenceChangeListener, CustomDividerFragment { -@@ -78,7 +80,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat +@@ -83,7 +85,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat } @Override @@ -1162,7 +1162,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc --- a/components/content_settings/core/common/features.cc +++ b/components/content_settings/core/common/features.cc -@@ -143,5 +143,6 @@ const base::FeatureParam +@@ -137,5 +137,6 @@ const base::FeatureParam BASE_FEATURE(kForceAllowStorageAccess, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1198,7 +1198,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc --- a/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc -@@ -201,4 +201,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction, +@@ -184,4 +184,5 @@ BASE_FEATURE(kReduceRequirementsForPasswordChange, BASE_FEATURE(kUseActionablesForImprovedPasswordChange, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1260,7 +1260,7 @@ diff --git a/components/variations/synthetic_trials_active_group_id_provider.h b diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flags_state.cc --- a/components/webui/flags/flags_state.cc +++ b/components/webui/flags/flags_state.cc -@@ -377,6 +377,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( +@@ -373,6 +373,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); @@ -1282,7 +1282,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag CHECK(entry_it != name_to_switch_map.end()); const SwitchEntry& entry = entry_it->second; -@@ -710,6 +725,27 @@ void FlagsState::GetFlagFeatureEntries( +@@ -706,6 +721,27 @@ void FlagsState::GetFlagFeatureEntries( data.Set("links", std::move(links)); } @@ -1310,7 +1310,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag switch (entry.type) { case FeatureEntry::SINGLE_VALUE: case FeatureEntry::SINGLE_DISABLE_VALUE: -@@ -837,6 +873,16 @@ void FlagsState::AddSwitchesToCommandLine( +@@ -833,6 +869,16 @@ void FlagsState::AddSwitchesToCommandLine( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); if (entry_it == name_to_switch_map.end()) { @@ -1327,7 +1327,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag NOTREACHED(); } -@@ -1093,6 +1139,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( +@@ -1104,6 +1150,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( bool FlagsState::IsSupportedFeature(const FlagsStorage* storage, const std::string& name, int platform_mask) const { @@ -1342,7 +1342,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag for (const auto& entry : feature_entries_) { DCHECK(entry.IsValid()); if (!(entry.supported_platforms & platform_mask)) { -@@ -1131,6 +1185,11 @@ void FlagsState::SetFlags( +@@ -1142,6 +1196,11 @@ void FlagsState::SetFlags( FindFeatureEntryByName(feature_internal_name); // Since this flag is currently enabled, we know for sure that we can find // its feature entry using its internal name. @@ -1639,7 +1639,7 @@ diff --git a/components/webui/version/version_handler_helper.cc b/components/web diff --git a/content/common/features.cc b/content/common/features.cc --- a/content/common/features.cc +++ b/content/common/features.cc -@@ -750,4 +750,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { +@@ -753,4 +753,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument); } @@ -1648,7 +1648,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -1438,4 +1438,5 @@ bool IsPushSubscriptionChangeEventEnabled() { +@@ -1441,4 +1441,5 @@ bool IsPushSubscriptionChangeEventEnabled() { features::kPushSubscriptionChangeEventOnResubscribe); } @@ -1657,7 +1657,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h --- a/content/public/common/content_features.h +++ b/content/public/common/content_features.h -@@ -420,6 +420,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); +@@ -419,6 +419,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled(); @@ -2003,7 +2003,7 @@ new file mode 100755 diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -1750,5 +1750,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1779,5 +1779,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -2013,7 +2013,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc diff --git a/media/base/media_switches.h b/media/base/media_switches.h --- a/media/base/media_switches.h +++ b/media/base/media_switches.h -@@ -556,5 +556,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); +@@ -557,5 +557,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -2023,18 +2023,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -846,4 +846,5 @@ BASE_FEATURE(kAddAutomaticWithDohFallbackMode, - BASE_FEATURE(kUseQuicProxiesWithoutWaitingForConnectResponse, - base::FEATURE_DISABLED_BY_DEFAULT); +@@ -708,4 +708,5 @@ BASE_FEATURE(kUseNSURLDataForGURLConversion, base::FEATURE_ENABLED_BY_DEFAULT); + + BASE_FEATURE(kUseLockFreeX509Verification, base::FEATURE_DISABLED_BY_DEFAULT); +#include "cromite_flags/net_base_features_cc.inc" } // namespace net::features diff --git a/net/base/features.h b/net/base/features.h --- a/net/base/features.h +++ b/net/base/features.h -@@ -911,6 +911,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAddAutomaticWithDohFallbackMode); - NET_EXPORT BASE_DECLARE_FEATURE( - kUseQuicProxiesWithoutWaitingForConnectResponse); +@@ -754,6 +754,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseNSURLDataForGURLConversion); + // lock-free certificate verification mechanism. + NET_EXPORT BASE_DECLARE_FEATURE(kUseLockFreeX509Verification); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -2043,7 +2043,7 @@ diff --git a/net/base/features.h b/net/base/features.h diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -611,4 +611,5 @@ BASE_FEATURE(kNetworkServicePerPriorityTaskQueues, +@@ -616,4 +616,5 @@ BASE_FEATURE(kNetworkServicePerPriorityTaskQueues, BASE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess, base::FEATURE_DISABLED_BY_DEFAULT); @@ -2052,7 +2052,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h -@@ -383,6 +383,7 @@ BASE_DECLARE_FEATURE(kNetworkServicePerPriorityTaskQueues); +@@ -386,6 +386,7 @@ BASE_DECLARE_FEATURE(kNetworkServicePerPriorityTaskQueues); COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) BASE_DECLARE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess); @@ -2063,7 +2063,7 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -2647,4 +2647,5 @@ bool IsXrDevice() { +@@ -2662,4 +2662,5 @@ bool IsXrDevice() { // // DO NOT ADD NEW FEATURES HERE. @@ -2072,7 +2072,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -1960,6 +1960,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); +@@ -1959,6 +1959,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); // // DO NOT ADD NEW FEATURES HERE. @@ -2083,18 +2083,18 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -449,4 +449,5 @@ BASE_FEATURE(kUseSystemDefaultAccentColors, base::FEATURE_ENABLED_BY_DEFAULT); - - BASE_FEATURE(kStringWidthCache, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -446,4 +446,5 @@ BASE_FEATURE(kStringWidthCache, base::FEATURE_ENABLED_BY_DEFAULT); + BASE_FEATURE(kUseClipboardStrictVirtualFileCheck, + base::FEATURE_ENABLED_BY_DEFAULT); +#include "cromite_flags/ui_base_features_cc.inc" } // namespace features diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h --- a/ui/base/ui_base_features.h +++ b/ui/base/ui_base_features.h -@@ -270,6 +270,7 @@ BASE_DECLARE_FEATURE(kUseSystemDefaultAccentColors); +@@ -274,6 +274,7 @@ BASE_DECLARE_FEATURE(kStringWidthCache); COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kStringWidthCache); + BASE_DECLARE_FEATURE(kUseClipboardStrictVirtualFileCheck); +#include "cromite_flags/ui_base_features_h.inc" } // namespace features diff --git a/build/patches/Add-cromite-test-support.patch b/build/patches/Add-cromite-test-support.patch index 097aa2f4..ee8cb478 100644 --- a/build/patches/Add-cromite-test-support.patch +++ b/build/patches/Add-cromite-test-support.patch @@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -35,7 +35,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb +@@ -38,7 +38,7 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb private final ObservableSupplier mPageTitle = new ObservableSupplierImpl<>(MSG_DEVELOPER_OPTIONS_TITLE); @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -190,6 +190,11 @@ source_set("shell_integration") { +@@ -191,6 +191,11 @@ source_set("shell_integration") { # require many files from it. This makes linking more efficient. static_library("browser") { sources = [ @@ -179,7 +179,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b #include "chrome/browser/chrome_browser_interface_binders_webui.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_content_browser_client_parts.h" -@@ -492,6 +493,15 @@ void ChromeContentBrowserClient:: +@@ -497,6 +498,15 @@ void ChromeContentBrowserClient:: render_frame_host); }, &render_frame_host)); @@ -435,7 +435,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn @@ -666,6 +666,7 @@ mojom("mojo_bindings") { - sources = [ + "actor.mojom", "chrome_render_frame.mojom", "google_accounts_private_api_extension.mojom", + "cromite_private_api_extension.mojom", @@ -766,7 +766,7 @@ new file mode 100644 diff --git a/components/component_updater/component_updater_service.h b/components/component_updater/component_updater_service.h --- a/components/component_updater/component_updater_service.h +++ b/components/component_updater/component_updater_service.h -@@ -242,6 +242,7 @@ class OnDemandUpdater { +@@ -243,6 +243,7 @@ class OnDemandUpdater { // the update will be applied. The caller can subscribe to component update // service notifications and provide an optional callback to get the result // of the call. The function does not implement any cooldown interval. @@ -793,7 +793,7 @@ diff --git a/content/browser/devtools/devtools_http_handler.cc b/content/browser #include "content/public/common/content_switches.h" #include "content/public/common/url_constants.h" #include "net/base/io_buffer.h" -@@ -602,9 +604,12 @@ void DevToolsHttpHandler::OnJsonRequest( +@@ -608,9 +610,12 @@ void DevToolsHttpHandler::OnJsonRequest( if (command == "version") { base::Value::Dict version; @@ -801,7 +801,7 @@ diff --git a/content/browser/devtools/devtools_http_handler.cc b/content/browser + if (base::FeatureList::IsEnabled(features::kEnableCromiteTestSupport)) + browser = "Chrome/0.0.0.0"; version.Set("Protocol-Version", DevToolsAgentHost::GetProtocolVersion()); - version.Set("WebKit-Version", embedder_support::GetWebKitVersion()); + version.Set("WebKit-Version", GetWebKitVersion()); - version.Set("Browser", GetContentClient()->browser()->GetProduct()); + version.Set("Browser", browser); version.Set("User-Agent", GetContentClient()->browser()->GetUserAgent()); @@ -851,16 +851,16 @@ diff --git a/content/browser/log_console_message.h b/content/browser/log_console diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -316,6 +316,8 @@ +@@ -318,6 +318,8 @@ #include "url/origin.h" #include "url/url_constants.h" +//#include "chrome/browser/cromite/cromite_private_api_host.h" + #if BUILDFLAG(IS_ANDROID) + #include "base/android/scoped_service_binding_batch.h" #include "content/browser/accessibility/browser_accessibility_manager_android.h" - #include "content/browser/android/content_url_loader_factory.h" -@@ -4786,7 +4788,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4867,7 +4869,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no, updated_source_id, untrusted_stack_trace)) { @@ -870,7 +870,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b } // Pass through log severity only on builtin components pages to limit console -@@ -4803,8 +4806,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4884,8 +4887,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( const bool is_off_the_record = GetSiteInstance()->GetBrowserContext()->IsOffTheRecord(); diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index 14c10c56..424186d2 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -46,6 +46,21 @@ found in the LICENSE file. +@@ -40,6 +40,21 @@ found in the LICENSE file. android:key="cromite_flags" android:title="@string/cromite_flags_title" app:url="@string/cromite_flags_url" /> @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java -@@ -65,6 +65,9 @@ import java.lang.annotation.Retention; +@@ -51,6 +51,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Set; @@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis /** * Dispatches incoming intents to the appropriate activity based on the current configuration and * Intent fired. -@@ -262,6 +265,9 @@ public class LaunchIntentDispatcher { +@@ -137,6 +140,9 @@ public class LaunchIntentDispatcher { */ public static boolean isCustomTabIntent(Intent intent) { if (intent == null) return false; @@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis Log.w( TAG, "CustomTabsIntent#shouldAlwaysUseBrowserUI() = " -@@ -290,6 +296,10 @@ public class LaunchIntentDispatcher { +@@ -163,6 +169,10 @@ public class LaunchIntentDispatcher { // Make sure the result of the CustomTabActivity is forwarded to the client. newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); @@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis // Since configureIntentForResizableCustomTab() might change the componenet/class // associated with the passed intent, it needs to be called after #setClassName(context, // CustomTabActivity.class.getName()); -@@ -486,6 +496,17 @@ public class LaunchIntentDispatcher { +@@ -333,6 +343,17 @@ public class LaunchIntentDispatcher { if (Intent.ACTION_VIEW.equals(newIntent.getAction()) && !IntentHandler.wasIntentSenderChrome(newIntent)) { @@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import android.os.Bundle; import android.text.SpannableString; import android.text.style.ClickableSpan; -@@ -80,6 +81,15 @@ import org.chromium.ui.text.SpanApplier; +@@ -83,6 +84,15 @@ import org.chromium.ui.text.SpanApplier; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -255,7 +255,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import androidx.preference.PreferenceCategory; import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager; import org.chromium.base.shared_preferences.SharedPreferencesManager; -@@ -148,6 +158,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -150,6 +160,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment startTag, endTag, new ChromeClickableSpan(context, onClickCallback)); } @@ -265,7 +265,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); -@@ -376,6 +389,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -391,6 +404,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); -@@ -396,6 +412,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -411,6 +427,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -307,7 +307,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -428,6 +469,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -443,6 +484,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -327,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -713,7 +713,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -696,7 +696,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT); // Enables an experimental feature which forces mayLaunchUrl to use a different // storage partition. This may reduce performance. This should not be enabled by // default. @@ -336,12 +336,12 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse + "MayLaunchUrlUsesSeparateStoragePartition", + base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kMediaIndicatorsAndroid, base::FEATURE_DISABLED_BY_DEFAULT); - BASE_FEATURE(kMiniOriginBar, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kMostVisitedTilesCustomization, base::FEATURE_ENABLED_BY_DEFAULT); + BASE_FEATURE(kMostVisitedTilesReselect, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -989,6 +989,8 @@ public abstract class ChromeFeatureList { +@@ -969,6 +969,8 @@ public abstract class ChromeFeatureList { MOST_VISITED_TILES_CUSTOMIZATION, /* defaultValue= */ true, /* defaultValueInTests= */ true); @@ -349,13 +349,13 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f + newCachedFlag(MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION, false); public static final CachedFlag sMostVisitedTilesReselect = newCachedFlag(MOST_VISITED_TILES_RESELECT, false); - public static final CachedFlag sMultiInstanceApplicationStatusCleanup = -@@ -1236,6 +1238,7 @@ public abstract class ChromeFeatureList { + public static final CachedFlag sMoveToFrontInLaunchIntentDispatcher = +@@ -1217,6 +1219,7 @@ public abstract class ChromeFeatureList { sMaliciousApkDownloadCheck, - sMiniOriginBar, sMostVisitedTilesCustomization, -+ sMayLaunchurlUsesSeparateStoragePartition, sMostVisitedTilesReselect, ++ sMayLaunchurlUsesSeparateStoragePartition, + sMoveToFrontInLaunchIntentDispatcher, sMultiInstanceApplicationStatusCleanup, sMvcUpdateViewWhenModelChanged, diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 1468a606..73b4af6d 100644 --- a/build/patches/Add-exit-menu-item.patch +++ b/build/patches/Add-exit-menu-item.patch @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -363,6 +363,8 @@ import java.util.Set; +@@ -372,6 +372,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct /** * This is the main activity for ChromeMobile when not running in document mode. All the tabs are * accessible via a chrome specific tab switching UI. -@@ -3901,6 +3903,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3878,6 +3880,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt .closeTabs( TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true); RecordUserAction.record("MobileTabClosed"); @@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -68,6 +68,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier; +@@ -71,6 +71,7 @@ import org.chromium.base.supplier.SettableObservableSupplier; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityUtils; @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.ChromeActivitySessionTracker; import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; -@@ -2633,6 +2634,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2652,6 +2653,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return true; } @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -422,6 +422,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -425,6 +425,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm maybeAddDividerLine(modelList, R.id.menu_item_content_filter_divider_line_id); modelList.add(buildContentFilterHelpCenterMenuItem(currentTab)); } @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -4437,6 +4437,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4460,6 +4460,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Dark theme diff --git a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch index 81c19bad..1e679e30 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -18,15 +18,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -23,6 +23,7 @@ +@@ -22,6 +22,7 @@ + #include #include "base/check_op.h" - #include "base/containers/contains.h" +#include "base/command_line.h" #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -553,6 +554,15 @@ AutocompleteController::AutocompleteController( +@@ -552,6 +553,15 @@ AutocompleteController::AutocompleteController( steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION), config_(config) { @@ -66,7 +66,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/ #include "base/functional/callback.h" #include "base/i18n/break_iterator.h" #include "base/i18n/case_conversion.h" -@@ -659,6 +660,9 @@ void SearchProvider::Run(bool query_is_private) { +@@ -657,6 +658,9 @@ void SearchProvider::Run(bool query_is_private) { } void SearchProvider::DoHistoryQuery(bool minimal_changes) { @@ -88,7 +88,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur #include "base/files/file_path.h" #include "base/files/file_util.h" #include "base/i18n/char_iterator.h" -@@ -640,6 +642,8 @@ GURL FixupURLInternal(const std::string& text, +@@ -643,6 +645,8 @@ GURL FixupURLInternal(std::string_view text, FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url); if (chrome_url && !parts.host.is_valid()) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index 267ffcd9..2e674575 100644 --- a/build/patches/Add-flag-to-disable-IPv6-probes.patch +++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch @@ -45,7 +45,7 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1182,6 +1182,7 @@ component("net") { +@@ -1200,6 +1200,7 @@ component("net") { ":net_deps", "//components/network_time/time_tracker", "//components/unexportable_keys", @@ -56,7 +56,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -115,6 +115,7 @@ +@@ -116,6 +116,7 @@ #include "net/log/net_log_event_type.h" #include "net/log/net_log_source.h" #include "net/log/net_log_source_type.h" @@ -64,7 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc #include "net/log/net_log_with_source.h" #include "net/socket/client_socket_factory.h" #include "net/url_request/url_request_context.h" -@@ -1493,6 +1494,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( +@@ -1499,6 +1500,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( return OK; } diff --git a/build/patches/Add-flag-to-disable-external-intent-requests.patch b/build/patches/Add-flag-to-disable-external-intent-requests.patch index 79f5d4a0..53722db4 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -32,7 +32,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -71,7 +71,12 @@ found in the LICENSE file. +@@ -65,7 +65,12 @@ found in the LICENSE file. android:title="@string/settings_incognito_tab_lock_title" android:summary="@string/settings_incognito_tab_lock_summary_android_setting_off" android:persistent="false" /> @@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate; -@@ -155,6 +156,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { +@@ -167,6 +168,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { @Override public boolean shouldDisableAllExternalIntents() { @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java -@@ -26,6 +26,7 @@ import org.chromium.base.ResettersForTesting; +@@ -27,6 +27,7 @@ import org.chromium.base.ResettersForTesting; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.ChromeTabbedActivity2; @@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.document.ChromeLauncherActivity; -@@ -134,7 +135,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat +@@ -135,7 +136,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat @Override public boolean shouldDisableExternalIntentRequestsForUrl( ExternalNavigationParams params, Intent intent) { @@ -141,7 +141,7 @@ new file mode 100644 diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc --- a/components/external_intents/android/external_intents_features.cc +++ b/components/external_intents/android/external_intents_features.cc -@@ -35,7 +35,13 @@ BASE_FEATURE(kExternalNavigationDebugLogs, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -32,7 +32,13 @@ BASE_FEATURE(kExternalNavigationDebugLogs, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kNavigationCaptureRefactorAndroid, base::FEATURE_DISABLED_BY_DEFAULT); @@ -152,7 +152,7 @@ diff --git a/components/external_intents/android/external_intents_features.cc b/ static jlong JNI_ExternalIntentsFeatures_GetFeature(JNIEnv* env, jint ordinal) { + if (ordinal == -1) + return reinterpret_cast(&kIntentBlockExternalFormRedirectsNoGesture); - return reinterpret_cast(kFeaturesExposedToJava[ordinal]); + return reinterpret_cast(UNSAFE_TODO(kFeaturesExposedToJava[ordinal])); } diff --git a/components/external_intents/android/external_intents_features.h b/components/external_intents/android/external_intents_features.h @@ -185,7 +185,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java --- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java +++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java -@@ -1726,6 +1726,12 @@ public class ExternalNavigationHandler { +@@ -1745,6 +1745,12 @@ public class ExternalNavigationHandler { return false; } @@ -198,7 +198,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1811,6 +1817,21 @@ public class ExternalNavigationHandler { +@@ -1832,6 +1838,21 @@ public class ExternalNavigationHandler { return OverrideUrlLoadingResult.forNoOverride(); } diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index e791b8c0..671bd105 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -78,7 +78,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c // Maximum number of entries in a vibration pattern. const unsigned kVibrationPatternLengthMax = 99; -@@ -105,6 +106,8 @@ bool VibrationController::vibrate(Navigator& navigator, +@@ -108,6 +109,8 @@ bool VibrationController::vibrate(Navigator& navigator, // reference to |window| or |navigator| was retained in another window. if (!navigator.DomWindow()) return false; @@ -104,7 +104,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1138,6 +1138,10 @@ +@@ -1142,6 +1142,10 @@ { name: "CompositingDecisionAtAnimationPhaseBoundaries" }, diff --git a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch index 732ce518..8796b19d 100644 --- a/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch +++ b/build/patches/Add-kill-switch-for-unsupported-clangd-flags.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -734,7 +734,7 @@ config("compiler") { +@@ -736,7 +736,7 @@ config("compiler") { # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. # It also causes segfault on Linux s390x: # https://github.com/llvm/llvm-project/issues/149511 @@ -23,7 +23,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags += [ "-Wa,--crel,--allow-experimental-crel" ] } } -@@ -1830,7 +1830,7 @@ config("clang_revision") { +@@ -1833,7 +1833,7 @@ config("clang_revision") { # e.g. by setting in the the project's .gn file. config("clang_warning_suppression") { # Some build configs use older versions of clang that don't support WSMs @@ -32,7 +32,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn from_build_root = rebase_path(clang_warning_suppression_file, root_build_dir) inputs = [ clang_warning_suppression_file ] -@@ -2192,7 +2192,9 @@ config("default_warnings") { +@@ -2196,7 +2196,9 @@ config("default_warnings") { # TODO(crbug.com/432275627): Fix and re-enable. "-Wno-uninitialized-const-pointer", ] @@ -43,7 +43,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn cflags_cc += [ # TODO(crbug.com/328490295): Fix and re-enable for C flags. "-Wenum-compare-conditional", -@@ -2246,6 +2248,15 @@ config("default_warnings") { +@@ -2250,6 +2252,15 @@ config("default_warnings") { ldflags += [ "-Wno-version-check" ] } diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 21b5d297..40993b93 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -194,7 +194,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/browser/permissions/one_time_permissions_tracker.h --- a/chrome/browser/permissions/one_time_permissions_tracker.h +++ b/chrome/browser/permissions/one_time_permissions_tracker.h -@@ -12,6 +12,7 @@ +@@ -13,6 +13,7 @@ #include "base/timer/timer.h" #include "chrome/browser/permissions/one_time_permissions_tracker_observer.h" #include "components/content_settings/core/common/content_settings_pattern.h" @@ -202,7 +202,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/ #include "components/content_settings/core/common/content_settings_types.h" #include "components/keyed_service/core/keyed_service.h" #include "content/public/browser/visibility.h" -@@ -26,7 +27,7 @@ class OneTimePermissionsTracker : public KeyedService { +@@ -27,7 +28,7 @@ class OneTimePermissionsTracker : public KeyedService { void (OneTimePermissionsTracker::*)(const url::Origin&); public: @@ -211,7 +211,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/ ~OneTimePermissionsTracker() override; OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete; -@@ -147,7 +148,7 @@ class OneTimePermissionsTracker : public KeyedService { +@@ -148,7 +149,7 @@ class OneTimePermissionsTracker : public KeyedService { base::ObserverList observer_list_; std::map origin_tracker_; @@ -257,7 +257,7 @@ diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_pro diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc --- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc +++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc -@@ -294,7 +294,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { +@@ -295,7 +295,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { delegate_->Accept(); return; case PermissionDialogButton::kAcceptOnce: @@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -715,6 +715,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -721,6 +721,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } @RequiresNonNull({"mSite"}) @@ -281,7 +281,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c private void setUpClearDataPreference() { ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); long usage = mSite.getTotalUsage(); -@@ -1407,6 +1412,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1398,6 +1403,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment .getDefaultColor()); } } @@ -295,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc -@@ -242,7 +242,7 @@ void GetOrigins(JNIEnv* env, +@@ -241,7 +241,7 @@ void GetOrigins(JNIEnv* env, seen_origins.push_back(origin); insertionFunc(env, static_cast(content_type), list, ConvertOriginToJavaString(env, origin), jembedder, @@ -307,7 +307,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd -@@ -652,6 +652,11 @@ +@@ -626,6 +626,11 @@ URL truncated @@ -425,7 +425,7 @@ diff --git a/components/content_settings/core/common/content_settings_enums.mojo diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java -@@ -387,9 +387,9 @@ public class PageInfoController +@@ -384,9 +384,9 @@ public class PageInfoController */ @CalledByNative private void addPermissionSection( @@ -483,16 +483,16 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_ diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc -@@ -214,6 +214,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( - // being requested. This is needed for the Loud Clapper experiment - // (crbug.com/458351800). +@@ -221,6 +221,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( + // being requested. This is needed for the Clapper experiment + // (crbug.com/458351800) and (crbug.com/463333225). bool requested_notifications = false; + std::map + user_specified_settings_is_user_session; for (const auto& permission : permission_info_list) { if (base::Contains(permissions_to_display, permission.type)) { -@@ -226,6 +228,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -233,6 +235,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( user_specified_settings_to_display[permission.type] = info->delegate().IsAnyPermissionAllowed(*setting_to_display); @@ -501,7 +501,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } // Notifications permission can have the setting to display as DEFAULT -@@ -252,7 +256,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -259,7 +263,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( ConvertUTF16ToJavaString(env, setting_title_mid_sentence), static_cast(permission), user_specified_settings_to_display[permission], @@ -511,7 +511,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp } } -@@ -265,7 +270,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -272,7 +277,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title), static_cast(chosen_object->ui_info->content_settings_type), @@ -524,7 +524,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc --- a/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc -@@ -1296,6 +1296,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1294,6 +1294,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); @@ -536,7 +536,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h --- a/components/page_info/page_info.h +++ b/components/page_info/page_info.h -@@ -151,6 +151,7 @@ class PageInfo : private content_settings::CookieControlsObserver, +@@ -150,6 +150,7 @@ class PageInfo : private content_settings::CookieControlsObserver, content_settings::SettingSource::kNone; // Whether the permission is a one-time grant. bool is_one_time = false; @@ -699,7 +699,7 @@ diff --git a/components/permissions/android/permission_prompt/embedded_permissio +++ b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.h @@ -45,7 +45,7 @@ class EmbeddedPermissionPromptAndroid : public PermissionPromptAndroid { const override; - void Closing() override; + void Dismiss() override; void Accept() override; - void AcceptThisTime() override; + void AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption) override; @@ -791,14 +791,15 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_ diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h --- a/components/permissions/android/permission_prompt/permission_prompt_android.h +++ b/components/permissions/android/permission_prompt/permission_prompt_android.h -@@ -57,9 +57,10 @@ class PermissionPromptAndroid : public PermissionPrompt { +@@ -57,10 +57,11 @@ class PermissionPromptAndroid : public PermissionPrompt { const; - virtual void Closing(); + virtual void Dismiss(); virtual void Accept(); - virtual void AcceptThisTime(); + virtual void AcceptThisTime(content_settings::mojom::LifetimeMode lifetimeOption); virtual void Acknowledge() {} virtual void Deny(); + virtual void Ignore(); + virtual void DenyThisTime(content_settings::mojom::LifetimeMode lifetimeOption); virtual void Resumed() {} virtual void SystemSettingsShown() {} @@ -962,7 +963,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/components/permissions/embedded_permission_prompt_flow_model.cc --- a/components/permissions/embedded_permission_prompt_flow_model.cc +++ b/components/permissions/embedded_permission_prompt_flow_model.cc -@@ -294,7 +294,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction( +@@ -293,7 +293,7 @@ void EmbeddedPermissionPromptFlowModel::SetDelegateAction( delegate_->Accept(); break; case DelegateAction::kAllowThisTime: @@ -992,7 +993,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm bool PermissionContextBase::UsesAutomaticEmbargo() const { return true; } -@@ -624,7 +635,8 @@ void PermissionContextBase::DecidePermission( +@@ -627,7 +638,8 @@ void PermissionContextBase::DecidePermission( void PermissionContextBase::PermissionDecided( PermissionDecision decision, bool is_final_decision, @@ -1002,7 +1003,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm UserMadePermissionDecision(request_data.id, request_data.requesting_origin, request_data.embedding_origin, decision); // If a permission request originates from an embedded element, its -@@ -648,11 +660,12 @@ void PermissionContextBase::PermissionDecided( +@@ -651,11 +663,12 @@ void PermissionContextBase::PermissionDecided( // missing if a permission prompt was preignored and we already notified an // origin about it. if (request->second.second) { @@ -1019,7 +1020,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } } -@@ -737,6 +750,30 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -740,6 +753,30 @@ void PermissionContextBase::NotifyPermissionSet( bool persist, PermissionDecision decision, bool is_final_decision) { @@ -1050,7 +1051,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_CURRENTLY_ON(content::BrowserThread::UI); // Note that rfh may be null, see crbug.com/426909787. -@@ -752,8 +789,8 @@ void PermissionContextBase::NotifyPermissionSet( +@@ -755,8 +792,8 @@ void PermissionContextBase::NotifyPermissionSet( if (persist) { // Clone new value, because we need it again for the callback. @@ -1061,7 +1062,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm } if (is_final_decision) { -@@ -811,6 +848,17 @@ void PermissionContextBase::UpdateSetting( +@@ -814,6 +851,17 @@ void PermissionContextBase::UpdateSetting( const PermissionRequestData& request_data, PermissionSetting setting, bool is_one_time) { @@ -1079,7 +1080,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm DCHECK_EQ(request_data.requesting_origin, request_data.requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(request_data.embedding_origin, -@@ -820,6 +868,8 @@ void PermissionContextBase::UpdateSetting( +@@ -823,6 +871,8 @@ void PermissionContextBase::UpdateSetting( constraints.set_session_model( is_one_time ? content_settings::mojom::SessionModel::ONE_TIME : content_settings::mojom::SessionModel::DURABLE); @@ -1091,7 +1092,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h --- a/components/permissions/permission_context_base.h +++ b/components/permissions/permission_context_base.h -@@ -198,6 +198,18 @@ class PermissionContextBase : public content_settings::Observer { +@@ -203,6 +203,18 @@ class PermissionContextBase : public content_settings::Observer { // Updates stored setting if persist is set, updates tab indicators // and runs the callback to finish the request. @@ -1110,7 +1111,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi virtual void NotifyPermissionSet(const PermissionRequestData& request_data, BrowserPermissionCallback callback, bool persist, -@@ -214,6 +226,11 @@ class PermissionContextBase : public content_settings::Observer { +@@ -219,6 +231,11 @@ class PermissionContextBase : public content_settings::Observer { // Store the decided permission state. Virtual since the permission might be // stored with different restrictions (for example for desktop notifications). @@ -1122,7 +1123,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi virtual void UpdateSetting(const PermissionRequestData& request_data, PermissionSetting setting, bool is_one_time); -@@ -243,6 +260,12 @@ class PermissionContextBase : public content_settings::Observer { +@@ -248,6 +265,12 @@ class PermissionContextBase : public content_settings::Observer { PermissionRequest::PermissionDecidedCallback permission_decided_callback, base::OnceClosure request_finished_callback) const; @@ -1135,7 +1136,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi // Implementors can override this method to avoid using automatic embargo. virtual bool UsesAutomaticEmbargo() const; -@@ -285,7 +308,8 @@ class PermissionContextBase : public content_settings::Observer { +@@ -292,7 +315,8 @@ class PermissionContextBase : public content_settings::Observer { // allows/blocks/dismisses a permission prompt. void PermissionDecided(PermissionDecision decision, bool is_final_decision, @@ -1179,7 +1180,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { std::move(request_finished_callback_).Run(); } -@@ -433,20 +443,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -445,20 +455,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { return request_type() == RequestType::kStorageAccess; } @@ -1225,7 +1226,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio diff --git a/components/permissions/permission_request.h b/components/permissions/permission_request.h --- a/components/permissions/permission_request.h +++ b/components/permissions/permission_request.h -@@ -52,6 +52,12 @@ class PermissionRequest { +@@ -53,6 +53,12 @@ class PermissionRequest { bool /*is_final_decision*/, const PermissionRequestData& /*request_data*/)>; @@ -1238,7 +1239,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission // `permission_decided_callback` is called when the permission request is // resolved by the user (see comment on PermissionDecidedCallback above). // `request_finished_callback` is called when the permission request is being -@@ -66,6 +72,11 @@ class PermissionRequest { +@@ -67,6 +73,11 @@ class PermissionRequest { base::OnceClosure request_finished_callback = base::DoNothing(), bool uses_automatic_embargo = true); @@ -1250,7 +1251,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission PermissionRequest(const PermissionRequest&) = delete; PermissionRequest& operator=(const PermissionRequest&) = delete; -@@ -180,10 +191,10 @@ class PermissionRequest { +@@ -181,10 +192,10 @@ class PermissionRequest { // If |is_one_time| is true the permission will last until all tabs of // |origin| are closed or navigated away from, and then the permission will // automatically expire after 1 day. @@ -1263,7 +1264,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission // Called when the user has cancelled the permission request. This // corresponds to a denial, but is segregated in case the context needs to -@@ -247,6 +258,9 @@ class PermissionRequest { +@@ -254,6 +265,9 @@ class PermissionRequest { // Called once a decision is made about the permission. PermissionDecidedCallback permission_decided_callback_; @@ -1303,7 +1304,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } return; } -@@ -615,7 +615,8 @@ void PermissionRequestManager::Accept() { +@@ -619,7 +619,8 @@ void PermissionRequestManager::Accept() { StorePermissionActionForUMA(request->requesting_origin(), request->request_type(), action); PermissionGrantedIncludingDuplicates(request.get(), @@ -1313,7 +1314,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) std::optional content_settings_type = -@@ -633,7 +634,7 @@ void PermissionRequestManager::Accept() { +@@ -637,7 +638,7 @@ void PermissionRequestManager::Accept() { CurrentRequestsDecided(action); } @@ -1322,7 +1323,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -645,7 +646,8 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -649,7 +650,8 @@ void PermissionRequestManager::AcceptThisTime() { StorePermissionActionForUMA(request->requesting_origin(), request->request_type(), action); PermissionGrantedIncludingDuplicates(request.get(), @@ -1332,7 +1333,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(action); -@@ -653,6 +655,15 @@ void PermissionRequestManager::AcceptThisTime() { +@@ -657,6 +659,15 @@ void PermissionRequestManager::AcceptThisTime() { } void PermissionRequestManager::Deny() { @@ -1348,7 +1349,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p if (ignore_callbacks_from_prompt_) { return; } -@@ -673,7 +684,7 @@ void PermissionRequestManager::Deny() { +@@ -677,7 +688,7 @@ void PermissionRequestManager::Deny() { for (const auto& request : requests_) { StorePermissionActionForUMA(request->requesting_origin(), request->request_type(), action); @@ -1357,7 +1358,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p } NotifyRequestDecided(action); -@@ -1366,32 +1377,32 @@ PermissionRequestManager::VisitDuplicateRequests( +@@ -1370,32 +1381,32 @@ PermissionRequestManager::VisitDuplicateRequests( void PermissionRequestManager::PermissionGrantedIncludingDuplicates( PermissionRequest* request, @@ -1400,7 +1401,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1679,7 +1690,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1683,7 +1694,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: diff --git a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch index 61c2190f..1abc4c8f 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -47,7 +47,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane; +@@ -109,6 +109,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane; import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.compositor.CompositorViewHolder; @@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.compositor.layouts.Layout; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome; import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone; -@@ -299,6 +300,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate; +@@ -309,6 +310,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate; import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType; import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; @@ -65,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig; -@@ -314,6 +318,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; +@@ -325,6 +329,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl; import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl; import org.chromium.components.browser_ui.accessibility.AccessibilityFeatureMap; @@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.share.ShareParams; import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate; -@@ -3929,6 +3935,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3906,6 +3912,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt CloseAllTabsDialog.show( this, getModalDialogManagerSupplier(), tabModelSelector, closeAllTabsRunnable); RecordUserAction.record("MobileMenuCloseAllTabs"); @@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct } else if (id == R.id.close_all_incognito_tabs_menu_id) { boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion); -@@ -4058,6 +4066,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -4038,6 +4046,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus); } @@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -292,6 +292,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -294,6 +294,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // Bookmarks modelList.add(buildBookmarksItem()); @@ -143,8 +143,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab // Recent Tabs if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem()); -@@ -478,6 +486,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm - } +@@ -479,6 +487,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm + modelList.add(buildNewTabGroupItem()); modelList.add(buildCloseAllTabsItem()); if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem()); + // Add bookmark all item @@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc -@@ -336,6 +336,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) { +@@ -337,6 +337,33 @@ bool BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) { return bookmark_model_->account_mobile_node() != nullptr; } @@ -194,7 +194,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse base::android::ScopedJavaLocalRef BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url) { -@@ -448,6 +475,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( +@@ -449,6 +476,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( // Vector to temporarily contain all child bookmarks at same level for sorting std::vector bookmarks = { bookmark_model_->mobile_node(), @@ -202,7 +202,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse bookmark_model_->bookmark_bar_node(), bookmark_model_->other_node(), }; -@@ -556,6 +584,9 @@ std::vector BookmarkBridge::GetTopLevelFolderIdsImpl( +@@ -557,6 +585,9 @@ std::vector BookmarkBridge::GetTopLevelFolderIdsImpl( top_level_folders.push_back(other_node); } @@ -229,13 +229,13 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse + ScopedJavaLocalRef BookmarkBridge::AddFolder( JNIEnv* env, - const JavaParamRef& j_parent_id_obj, + const JavaRef& j_parent_id_obj, diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h -@@ -106,6 +106,10 @@ class BookmarkBridge : public ProfileObserver, +@@ -105,6 +105,10 @@ class BookmarkBridge : public ProfileObserver, - jboolean AreAccountBookmarkFoldersActive(JNIEnv* env); + bool AreAccountBookmarkFoldersActive(JNIEnv* env); + base::android::ScopedJavaLocalRef GetBookmarkIdForTabsCollection( + JNIEnv* env, @@ -244,8 +244,8 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser base::android::ScopedJavaLocalRef GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url); const bookmarks::BookmarkNode* GetMostRecentlyAddedUserBookmarkIdForUrlImpl( -@@ -245,6 +249,10 @@ class BookmarkBridge : public ProfileObserver, - const base::android::JavaParamRef& j_list, +@@ -240,6 +244,10 @@ class BookmarkBridge : public ProfileObserver, + const base::android::JavaRef& j_list, jint type); + base::android::ScopedJavaLocalRef GetTabsCollectionFolderId( @@ -254,7 +254,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser + base::android::ScopedJavaLocalRef AddFolder( JNIEnv* env, - const base::android::JavaParamRef& j_parent_id_obj, + const base::android::JavaRef& j_parent_id_obj, diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java @@ -460,7 +460,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -4562,6 +4562,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4585,6 +4585,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs @@ -520,7 +520,7 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc --- a/components/bookmarks/browser/bookmark_codec.cc +++ b/components/bookmarks/browser/bookmark_codec.cc -@@ -39,6 +39,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar"; +@@ -38,6 +38,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar"; const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other"; // The value is left as 'synced' for historical reasons. const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced"; @@ -528,7 +528,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar const char BookmarkCodec::kVersionKey[] = "version"; const char BookmarkCodec::kChecksumKey[] = "checksum"; const char BookmarkCodec::kChecksumSHA256Key[] = "checksum_sha256"; -@@ -99,6 +100,7 @@ base::Value::Dict BookmarkCodec::Encode( +@@ -98,6 +99,7 @@ base::Value::Dict BookmarkCodec::Encode( const BookmarkNode* bookmark_bar_node, const BookmarkNode* other_folder_node, const BookmarkNode* mobile_folder_node, @@ -536,7 +536,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar std::string sync_metadata_str) { ids_reassigned_ = false; uuids_reassigned_ = false; -@@ -124,6 +126,8 @@ base::Value::Dict BookmarkCodec::Encode( +@@ -123,6 +125,8 @@ base::Value::Dict BookmarkCodec::Encode( roots.Set(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node)); roots.Set(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node)); roots.Set(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node)); @@ -545,7 +545,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar } else { // No permanent node should have been provided. CHECK(!other_folder_node); -@@ -144,6 +148,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value, +@@ -143,6 +147,7 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value, BookmarkNode* bb_node, BookmarkNode* other_folder_node, BookmarkNode* mobile_folder_node, @@ -553,7 +553,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar int64_t* max_id, std::string* sync_metadata_str) { if (sync_metadata_str) { -@@ -156,13 +161,15 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value, +@@ -155,13 +160,15 @@ bool BookmarkCodec::Decode(const base::Value::Dict& value, base::Uuid::ParseLowercase(kBookmarkBarNodeUuid), base::Uuid::ParseLowercase(kOtherBookmarksNodeUuid), base::Uuid::ParseLowercase(kMobileBookmarksNodeUuid), @@ -570,7 +570,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar value, sync_metadata_str); ReassignIDsIfRequired(); -@@ -220,6 +227,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo( +@@ -219,6 +226,7 @@ base::Value::Dict BookmarkCodec::EncodeMetaInfo( bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, BookmarkNode* other_folder_node, BookmarkNode* mobile_folder_node, @@ -578,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar const base::Value::Dict& value, std::string* sync_metadata_str) { std::optional version = value.FindInt(kVersionKey); -@@ -243,6 +251,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, +@@ -242,6 +250,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, roots->FindDict(kOtherBookmarkFolderNameKey); const base::Value::Dict* mobile_folder_value = roots->FindDict(kMobileBookmarkFolderNameKey); @@ -587,7 +587,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar if (!bb_value || !other_folder_value || !mobile_folder_value) return false; -@@ -250,6 +260,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, +@@ -249,6 +259,8 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, DecodeNode(*bb_value, nullptr, bb_node); DecodeNode(*other_folder_value, nullptr, other_folder_node); DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node); @@ -634,7 +634,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc --- a/components/bookmarks/browser/bookmark_load_details.cc +++ b/components/bookmarks/browser/bookmark_load_details.cc -@@ -16,7 +16,7 @@ namespace { +@@ -17,7 +17,7 @@ namespace { // Number of top-level permanent folders excluding the managed node and account // bookmarks. @@ -643,7 +643,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/ void UpdateUserFolderStatsRecursively(const BookmarkNode& node, bool top_level, -@@ -63,6 +63,9 @@ BookmarkLoadDetails::BookmarkLoadDetails() +@@ -64,6 +64,9 @@ BookmarkLoadDetails::BookmarkLoadDetails() mobile_folder_node_ = static_cast( root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks( /*id=*/0, /*is_account_node=*/false))); @@ -653,7 +653,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/ // Set the nodes' `date_added` to the same time so that there is no inherent // hierarchy in terms of their added time between them. This is relevant for -@@ -119,6 +122,10 @@ void BookmarkLoadDetails::PopulateNodeIdsForLocalOrSyncablePermanentNodes() { +@@ -120,6 +123,10 @@ void BookmarkLoadDetails::PopulateNodeIdsForLocalOrSyncablePermanentNodes() { if (mobile_folder_node_->id() == 0) { mobile_folder_node_->set_id(max_id_++); } @@ -664,7 +664,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/ } void BookmarkLoadDetails::AddManagedNode( -@@ -131,6 +138,7 @@ void BookmarkLoadDetails::AddManagedNode( +@@ -132,6 +139,7 @@ void BookmarkLoadDetails::AddManagedNode( CHECK_NE(bb_node_->id(), 0); CHECK_NE(other_folder_node_->id(), 0); CHECK_NE(mobile_folder_node_->id(), 0); @@ -672,7 +672,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/ has_managed_node_ = true; root_node_->Add(std::move(managed_node)); -@@ -138,8 +146,8 @@ void BookmarkLoadDetails::AddManagedNode( +@@ -139,8 +147,8 @@ void BookmarkLoadDetails::AddManagedNode( void BookmarkLoadDetails::CreateIndices() { local_or_syncable_uuid_index_.insert(root_node_.get()); @@ -683,7 +683,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/ for (const auto& child : root_node_->children()) { if (child.get() == account_bb_node_ || child.get() == account_other_folder_node_ || -@@ -158,6 +166,7 @@ void BookmarkLoadDetails::ResetPermanentNodePointers() { +@@ -159,6 +167,7 @@ void BookmarkLoadDetails::ResetPermanentNodePointers() { bb_node_ = nullptr; other_folder_node_ = nullptr; mobile_folder_node_ = nullptr; @@ -713,7 +713,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc --- a/components/bookmarks/browser/bookmark_model.cc +++ b/components/bookmarks/browser/bookmark_model.cc -@@ -908,7 +908,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const { +@@ -907,7 +907,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const { (account_bookmark_bar_node_ && !account_bookmark_bar_node_->children().empty()) || (account_other_node_ && !account_other_node_->children().empty()) || @@ -722,7 +722,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar } bool BookmarkModel::IsBookmarked(const GURL& url) const { -@@ -1240,6 +1240,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { +@@ -1239,6 +1239,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { bookmark_bar_node_ = details->bb_node(); other_node_ = details->other_folder_node(); mobile_node_ = details->mobile_folder_node(); @@ -733,7 +733,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h --- a/components/bookmarks/browser/bookmark_model.h +++ b/components/bookmarks/browser/bookmark_model.h -@@ -150,6 +150,12 @@ class BookmarkModel : public BookmarkUndoProvider, +@@ -149,6 +149,12 @@ class BookmarkModel : public BookmarkUndoProvider, // bookmarks in the account storage). const BookmarkPermanentNode* account_mobile_node() const; @@ -746,7 +746,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark bool is_root_node(const BookmarkNode* node) const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); return node == root_; -@@ -628,6 +634,7 @@ class BookmarkModel : public BookmarkUndoProvider, +@@ -627,6 +633,7 @@ class BookmarkModel : public BookmarkUndoProvider, raw_ptr account_bookmark_bar_node_ = nullptr; raw_ptr account_other_node_ = nullptr; raw_ptr account_mobile_node_ = nullptr; diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index b5ec9ffe..5c32ffb8 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -3965,6 +3965,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3942,6 +3942,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); } RecordUserAction.record("MobileMenuDownloadManager"); @@ -35,11 +35,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct + currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrl().getSpec())); } else if (id == R.id.open_recently_closed_tab) { TabModel currentModel = mTabModelSelector.getCurrentModel(); - if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedEntry(); + if (!currentModel.isIncognito()) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2797,6 +2797,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2816,6 +2816,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return doOpenWebApk(currentTab); } @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java -@@ -1024,6 +1024,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -1031,6 +1031,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties return false; } @@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java -@@ -406,6 +406,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -401,6 +401,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat modelList.add(buildAddToHomescreenListItem(currentTab, false)); } @@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -370,6 +370,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -373,6 +373,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildAddToHomescreenListItem(currentTab, shouldShowIconBeforeItem())); } @@ -114,7 +114,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -339,6 +339,10 @@ CHAR_LIMIT guidelines: +@@ -342,6 +342,10 @@ CHAR_LIMIT guidelines: Chrome Tips diff --git a/build/patches/Add-option-to-disable-snapshots.patch b/build/patches/Add-option-to-disable-snapshots.patch index cd6a4d18..216b1b27 100644 --- a/build/patches/Add-option-to-disable-snapshots.patch +++ b/build/patches/Add-option-to-disable-snapshots.patch @@ -69,7 +69,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -67,6 +67,11 @@ found in the LICENSE file. +@@ -61,6 +61,11 @@ found in the LICENSE file. android:title="@string/open_external_links_incognito_title" android:summary="@string/open_external_links_incognito_summary" android:defaultValue="false" /> @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -158,6 +158,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -162,6 +162,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.chrome.browser.profiles.ProfileManagerUtils; -@@ -679,7 +680,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -689,7 +690,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.ObservableSupplierImpl; import org.chromium.build.annotations.NullMarked; -@@ -99,13 +100,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -102,13 +103,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; @@ -142,10 +142,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_PRELOAD_PAGES = "preload_pages"; private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode"; -@@ -201,6 +216,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment - } +@@ -193,6 +208,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + if (shouldHideSandboxPref(privacySandboxBridge)) { + getPreferenceScreen().removePreference(sandboxPreference); } - + mSnackbar = Snackbar.make(getActivity().getString(R.string.ui_relaunch_notice), + new SnackbarManager.SnackbarController() { + @Override @@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE); // Record the launch of PG from the S&P link-row entry point privacyGuidePreference.setOnPreferenceClickListener( -@@ -433,6 +463,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -448,6 +478,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents"; public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito"; @@ -172,7 +172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public boolean onPreferenceChange(Preference preference, Object newValue) { -@@ -479,6 +510,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -494,6 +525,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit(); sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue); sharedPreferencesEditor.apply(); @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -529,6 +567,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -544,6 +582,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -6506,6 +6506,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6543,6 +6543,14 @@ To change this setting, BEGIN_LINKdelete the Chrome d Your %1$swww.amazon.com timer ran out. It'll start again tomorrow. diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index 0077d13e..7cd715a5 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -98,7 +98,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java -@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; +@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeFieldTrialImpl; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; @@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController; import org.chromium.components.browser_ui.styles.SemanticColorUtils; import org.chromium.components.browser_ui.util.AutomotiveUtils; -@@ -145,6 +146,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity +@@ -155,6 +156,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity protected void attachBaseContext(Context newBase) { super.attachBaseContext(newBase); @@ -171,7 +171,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -830,7 +830,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -840,7 +840,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Inflate the correct toolbar layout for the device. int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java -@@ -137,6 +137,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; +@@ -141,6 +141,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; import org.chromium.components.tab_group_sync.TriggerSource; import org.chromium.components.tab_groups.TabGroupColorId; import org.chromium.ui.accessibility.AccessibilityState; @@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.util.ColorUtils; -@@ -5317,8 +5318,13 @@ public class StripLayoutHelper +@@ -5249,8 +5250,13 @@ public class StripLayoutHelper mCloseButtonMenu.setAnchorView(tabView); // 3. Set the vertical offset to align the close button menu with bottom of the tab strip int tabHeight = mManagerHost.getHeight(); @@ -213,15 +213,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java -@@ -105,6 +105,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa - import org.chromium.components.browser_ui.styles.SemanticColorUtils; +@@ -107,6 +107,7 @@ import org.chromium.components.browser_ui.styles.SemanticColorUtils; + import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; import org.chromium.components.browser_ui.widget.scrim.ScrimProperties; import org.chromium.content_public.browser.LoadUrlParams; +import org.chromium.ui.base.DeviceFormFactor; import org.chromium.ui.base.LocalizationUtils; import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.WindowAndroid; -@@ -498,7 +499,10 @@ public class StripLayoutHelperManager +@@ -505,7 +506,10 @@ public class StripLayoutHelperManager mIsHeaderCustomizationSupported = ToolbarFeatures.isAppHeaderCustomizationSupported( /* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext)); @@ -273,7 +273,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -807,7 +807,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -811,7 +811,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public int getControlContainerHeightResource() { @@ -287,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -120,6 +120,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; +@@ -125,6 +125,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.pdf.PdfPage; @@ -296,7 +296,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; -@@ -1947,7 +1949,9 @@ public class RootUiCoordinator +@@ -1959,7 +1961,9 @@ public class RootUiCoordinator protected int getFindToolbarStub() { int stubId = R.id.find_toolbar_stub; @@ -321,7 +321,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -358,6 +358,7 @@ public final class ChromePreferenceKeys { +@@ -393,6 +393,7 @@ public final class ChromePreferenceKeys { /** Whether the app-specific history info text was already seen by users. */ public static final String HISTORY_APP_SPECIFIC_INFO_SEEN = "Chrome.History.AppSpecificInfoSeen"; @@ -391,7 +391,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java -@@ -1008,7 +1008,7 @@ public class LocationBarCoordinator +@@ -1022,7 +1022,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -403,7 +403,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1507,6 +1507,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1504,6 +1504,13 @@ Your Google account may have other forms of browsing history like searches and a Privacy guide explanation closed @@ -506,7 +506,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import android.graphics.Canvas; import android.graphics.Color; import android.graphics.PorterDuff; -@@ -172,6 +173,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout +@@ -174,6 +175,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout @Initializer public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) { try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) { @@ -542,10 +542,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.ui.util.TokenHolder; import org.chromium.url.GURL; -@@ -588,7 +589,9 @@ public abstract class ToolbarLayout extends FrameLayout - * not have a tab strip. +@@ -600,7 +601,9 @@ public abstract class ToolbarLayout extends FrameLayout + * @see Toolbar#getTabStripHeight() */ - protected int getTabStripHeightFromResource() { + public int getTabStripHeightFromResource() { - return getResources().getDimensionPixelSize(R.dimen.tab_strip_height); + if (DeviceFormFactor.isForceTabletUI()) + return getResources().getDimensionPixelSize(R.dimen.tab_strip_height_tabletui); @@ -556,7 +556,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java -@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; +@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate; import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionHandler; import org.chromium.ui.base.ViewUtils; @@ -564,7 +564,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback; import org.chromium.ui.util.TokenHolder; -@@ -492,6 +493,7 @@ class HeightTransitionHandler { +@@ -514,6 +515,7 @@ class HeightTransitionHandler { /** Get the min screen width (in dp) required for the tab strip to become visible. */ private static int getScreenWidthThresholdDp() { @@ -575,7 +575,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java -@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; +@@ -25,6 +25,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.components.browser_ui.desktop_windowing.AppHeaderState; import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager; import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateManager.AppHeaderObserver; @@ -583,7 +583,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow /** * Class used to manage tab strip visibility and height updates. -@@ -170,7 +171,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea +@@ -171,7 +172,10 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea mTabStripReservedTopPadding = controlContainerView() .getResources() @@ -613,7 +613,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.ContentFeatureMap; +@@ -35,6 +35,7 @@ import org.chromium.content_public.browser.ContentFeatureMap; import org.chromium.ui.base.UiAndroidFeatureList; import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; @@ -621,7 +621,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c /** Fragment to keep track of all the accessibility related preferences. */ @NullMarked -@@ -51,6 +52,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -55,6 +56,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment public static final String PREF_TOUCHPAD_OVERSCROLL_HISTORY_NAVIGATION = "touchpad_overscroll_history_navigation"; @@ -631,7 +631,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; private ChromeSwitchPreference mPageZoomAlwaysShowPref; -@@ -126,6 +130,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -131,6 +135,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDelegate.getReaderAccessibilityDelegate().getValue()); readerForAccessibilityPref.setOnPreferenceChangeListener(this); @@ -644,7 +644,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -212,6 +222,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -217,6 +227,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment public boolean onPreferenceChange(Preference preference, Object newValue) { if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) { mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue); diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index ad0512e7..9de66089 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -89,6 +89,11 @@ found in the LICENSE file. +@@ -82,6 +82,11 @@ found in the LICENSE file. android:title="@string/incognito_settings_title" android:summary="@string/incognito_settings_summary" android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/> @@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -47,6 +47,7 @@ import org.chromium.base.ApplicationStatus; +@@ -53,6 +53,7 @@ import org.chromium.base.ApplicationStatus; import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.CallbackUtils; @@ -37,9 +37,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.base.CommandLine; import org.chromium.base.DeviceInfo; import org.chromium.base.IntentUtils; -@@ -2175,8 +2176,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt - boolean hadCipherData = - CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); +@@ -2201,8 +2202,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt + CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); + } + String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; boolean noRestoreState = @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.base.IntentUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; -@@ -113,6 +115,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -116,6 +118,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private final SharedPreferencesManager mSharedPreferencesManager = ChromeSharedPreferences.getInstance(); @@ -76,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + private ManagedPreferenceDelegate mManagedPreferenceDelegate; @VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; - @VisibleForTesting static final String PREF_TRACKING_PROTECTION = "tracking_protection"; -@@ -374,7 +378,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info"; +@@ -389,7 +393,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String key = preference.getKey(); @@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting UserPrefs.get(getProfile()) .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); } else if (PREF_HTTPS_FIRST_MODE_LEGACY.equals(key)) { -@@ -434,6 +442,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -449,6 +457,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment getContext(), getProfile())); } @@ -128,7 +128,7 @@ diff --git a/chrome/browser/tab_group_sync/android/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2898,6 +2898,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -2896,6 +2896,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d All tabs diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch index e900082e..2c464aee 100644 --- a/build/patches/Add-option-to-use-home-page-as-NTP.patch +++ b/build/patches/Add-option-to-use-home-page-as-NTP.patch @@ -9,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../tab_management/TabGridDialogMediator.java | 12 +++++++++++- .../tasks/tab_management/TabGroupUiMediator.java | 8 +++++++- .../java/res/xml/homepage_preferences.xml | 5 +++++ - .../strip/TabGroupContextMenuCoordinator.java | 11 ++++++++++- + .../strip/TabGroupContextMenuCoordinator.java | 10 +++++++++- .../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++ .../homepage/settings/HomepageSettings.java | 12 ++++++++++++ .../chrome/browser/metrics/LaunchMetrics.java | 1 - @@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../android/strings/android_chrome_strings.grd | 3 +++ chrome/browser/ui/browser_ui_prefs.cc | 2 ++ chrome/common/pref_names.h | 4 ++++ - 13 files changed, 80 insertions(+), 4 deletions(-) + 13 files changed, 79 insertions(+), 4 deletions(-) diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java @@ -42,7 +42,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * A mediator for the TabGridDialog component, responsible for communicating with the components' * coordinator as well as managing the business logic for dialog show/hide. -@@ -1034,9 +1038,15 @@ public class TabGridDialogMediator +@@ -1023,9 +1027,15 @@ public class TabGridDialogMediator UrlConstantResolver urlConstantResolver = UrlConstantResolverFactory.getForProfile(profile); @@ -62,7 +62,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiMediator.java -@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; +@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingServiceFactory; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesConfig; import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator; import org.chromium.chrome.browser.layouts.LayoutStateProvider; @@ -105,7 +105,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java -@@ -89,6 +89,9 @@ import java.util.List; +@@ -92,6 +92,9 @@ import java.util.List; import java.util.function.BiConsumer; import java.util.function.Supplier; @@ -115,19 +115,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over /** * A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is * responsible for creating a list of menu items, setting up the menu and displaying the menu. -@@ -239,9 +242,15 @@ public class TabGroupContextMenuCoordinator extends TabStripReorderingHelper Last hour @@ -280,7 +279,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1347,6 +1347,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] = +@@ -1344,6 +1344,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] = // by enterprise policy. inline constexpr char kGeminiSettings[] = "browser.gemini_settings"; diff --git a/build/patches/Add-search-engine.patch b/build/patches/Add-search-engine.patch index 250dab00..0fec294a 100644 --- a/build/patches/Add-search-engine.patch +++ b/build/patches/Add-search-engine.patch @@ -180,7 +180,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc --- a/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc -@@ -28,6 +28,8 @@ +@@ -27,6 +27,8 @@ #include "components/search_engines/template_url_data_util.h" #include "third_party/search_engines_data/resources/definitions/prepopulated_engines.h" @@ -189,7 +189,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon namespace TemplateURLPrepopulateData { // Helpers -------------------------------------------------------------------- -@@ -154,7 +156,7 @@ int GetDataVersion(PrefService* prefs) { +@@ -153,7 +155,7 @@ int GetDataVersion(PrefService* prefs) { kCurrentDataVersion; } @@ -198,7 +198,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon PrefService& prefs, const std::vector& regional_prepopulated_engines) { -@@ -170,6 +172,17 @@ std::vector> GetPrepopulatedEngines( +@@ -169,6 +171,17 @@ std::vector> GetPrepopulatedEngines( &PrepopulatedEngineToTemplateURLData); } @@ -216,7 +216,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon std::unique_ptr GetPrepopulatedEngine( PrefService& prefs, const std::vector& regional_prepopulated_engines, -@@ -190,10 +203,14 @@ std::vector> GetLocalPrepopulatedEngines( +@@ -189,10 +202,14 @@ std::vector> GetLocalPrepopulatedEngines( return std::vector>(); } diff --git a/build/patches/Add-setting-to-clear-data-on-exit.patch b/build/patches/Add-setting-to-clear-data-on-exit.patch index e20e9f60..392f0197 100644 --- a/build/patches/Add-setting-to-clear-data-on-exit.patch +++ b/build/patches/Add-setting-to-clear-data-on-exit.patch @@ -49,7 +49,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -270,6 +270,7 @@ chrome_java_sources = [ +@@ -273,6 +273,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataCheckBoxPreference.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFetcher.java", "java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java", @@ -75,7 +75,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -208,6 +208,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; +@@ -219,6 +219,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider; import org.chromium.chrome.browser.quick_delete.QuickDeleteController; import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl; import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate; @@ -83,19 +83,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler; import org.chromium.chrome.browser.recent_tabs.CrossDevicePaneFactory; import org.chromium.chrome.browser.reengagement.ReengagementNotificationController; -@@ -2181,7 +2182,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt - Intent intent = getIntent(); - - boolean hadCipherData = -- CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); -+ CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); // -+ if (!hadCipherData) { -+ Log.i(TAG, "Removing browsing data"); -+ ProfileManagerUtils.removeBrowsingDataAtStart(); -+ } +@@ -2206,7 +2207,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt + } + if (!hadCipherData) { + hadCipherData = +- CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); ++ CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState()); // ++ if (!hadCipherData) { ++ Log.i(TAG, "Removing browsing data"); ++ ProfileManagerUtils.removeBrowsingDataAtStart(); ++ } + } String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; - boolean noRestoreState = diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/BrowsingDataBridge.java @@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/B diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java -@@ -164,6 +164,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -167,6 +167,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment assert mCheckbox == preference; mParent.updateButtonState(); @@ -150,7 +150,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C return true; } -@@ -245,7 +251,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -248,7 +254,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment private @TimePeriod int mLastSelectedTimePeriod; private boolean mShouldShowPostDeleteFeedback; @@ -159,7 +159,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C /** * @return All available {@link DialogOption} entries. -@@ -351,7 +357,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -354,7 +360,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment } /** Called when browsing data is about to be cleared. */ @@ -168,7 +168,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C RecordUserAction.record("ClearBrowsingData_AdvancedTab"); } -@@ -437,6 +443,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -440,6 +446,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment BrowsingDataBridge.getForProfile(getProfile()) .setBrowsingDataDeletionPreference( ClearBrowsingDataFragment.getDataType(item.getOption()), @@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C item.isSelected()); } -@@ -444,8 +451,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -447,8 +454,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment .setBrowsingDataDeletionTimePeriod(mLastSelectedTimePeriod); } @@ -185,12 +185,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C + } + /** Returns the list of supported {@link DialogOption}. */ -- private List getDialogOptions(Bundle fragmentArgs) { -+ protected List getDialogOptions(Bundle fragmentArgs) { +- private static List getDialogOptions(Bundle fragmentArgs) { ++ protected static List getDialogOptions(Bundle fragmentArgs) { String referrer = fragmentArgs.getString( ClearBrowsingDataFragment.CLEAR_BROWSING_DATA_REFERRER, null); -@@ -471,6 +482,10 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -474,6 +485,10 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment DialogOption.CLEAR_SITE_SETTINGS); } @@ -201,7 +201,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C /** * Decides whether a given dialog option should be selected when the dialog is initialized. * -@@ -479,7 +494,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -482,7 +497,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment */ private boolean isOptionSelectedByDefault(@DialogOption int option) { return BrowsingDataBridge.getForProfile(getProfile()) @@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } /** -@@ -547,6 +562,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -550,6 +565,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment * options. */ private void onClearButtonClicked() { @@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C if (shouldShowImportantSitesDialog()) { showImportantDialogThenClear(); return; -@@ -576,6 +592,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -579,6 +595,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment Button clearButton = (Button) assumeNonNull(getView()).findViewById(R.id.clear_button); boolean isEnabled = !getSelectedOptions().isEmpty(); clearButton.setEnabled(isEnabled); @@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } private int getSpinnerIndex( -@@ -653,7 +670,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -656,7 +673,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment .getBoolean(Pref.ALLOW_DELETING_BROWSER_HISTORY)) { enabled = false; browsingDataBridge.setBrowsingDataDeletionPreference( @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } // Disable tabs closure if the user is in multi-window mode. -@@ -683,8 +700,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -686,8 +703,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment mSigninManager.addSignInStateObserver(this); setHasOptionsMenu(true); @@ -335,7 +335,7 @@ new file mode 100644 diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -2148,6 +2148,16 @@ +@@ -2228,6 +2228,16 @@ Delete browsing data @@ -355,7 +355,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -109,6 +109,7 @@ +@@ -105,6 +105,7 @@ #include "components/enterprise/client_certificates/core/features.h" #include "components/enterprise/data_controls/core/browser/features.h" #include "components/error_page/common/error_page_switches.h" @@ -366,7 +366,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chrome/browser/android/browsing_data/browsing_data_bridge.cc --- a/chrome/browser/android/browsing_data/browsing_data_bridge.cc +++ b/chrome/browser/android/browsing_data/browsing_data_bridge.cc -@@ -67,6 +67,15 @@ PrefService* GetPrefService(Profile* profile) { +@@ -66,6 +66,15 @@ PrefService* GetPrefService(Profile* profile) { return profile->GetOriginalProfile()->GetPrefs(); } @@ -382,8 +382,8 @@ diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chro void OnBrowsingDataModelBuilt(JNIEnv* env, const ScopedJavaGlobalRef& java_callback, std::unique_ptr model) { -@@ -219,7 +228,8 @@ static void JNI_BrowsingDataBridge_MarkOriginAsImportantForTesting( - static jboolean JNI_BrowsingDataBridge_GetBrowsingDataDeletionPreference( +@@ -218,7 +227,8 @@ static void JNI_BrowsingDataBridge_MarkOriginAsImportantForTesting( + static bool JNI_BrowsingDataBridge_GetBrowsingDataDeletionPreference( JNIEnv* env, Profile* profile, - jint data_type) { @@ -392,7 +392,7 @@ diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chro DCHECK_GE(data_type, 0); DCHECK_LE(data_type, static_cast(browsing_data::BrowsingDataType::MAX_VALUE)); -@@ -231,7 +241,7 @@ static jboolean JNI_BrowsingDataBridge_GetBrowsingDataDeletionPreference( +@@ -230,7 +240,7 @@ static bool JNI_BrowsingDataBridge_GetBrowsingDataDeletionPreference( std::string pref; if (!browsing_data::GetDeletionPreferenceFromDataType( static_cast(data_type), @@ -401,15 +401,15 @@ diff --git a/chrome/browser/android/browsing_data/browsing_data_bridge.cc b/chro return false; } -@@ -242,6 +252,7 @@ static void JNI_BrowsingDataBridge_SetBrowsingDataDeletionPreference( +@@ -241,6 +251,7 @@ static void JNI_BrowsingDataBridge_SetBrowsingDataDeletionPreference( JNIEnv* env, Profile* profile, jint data_type, + jint clear_browsing_data_tab, - jboolean value) { + bool value) { DCHECK_GE(data_type, 0); DCHECK_LE(data_type, -@@ -250,7 +261,7 @@ static void JNI_BrowsingDataBridge_SetBrowsingDataDeletionPreference( +@@ -249,7 +260,7 @@ static void JNI_BrowsingDataBridge_SetBrowsingDataDeletionPreference( std::string pref; if (!browsing_data::GetDeletionPreferenceFromDataType( static_cast(data_type), @@ -460,7 +460,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager. diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc --- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc +++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -352,6 +352,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -321,6 +321,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( uint64_t origin_type_mask, base::OnceCallback callback) { CHECK(((remove_mask & @@ -468,7 +468,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. ~content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS & ~constants::FILTERABLE_DATA_TYPES) == 0) || filter_builder->MatchesAllOriginsAndDomains()); -@@ -455,6 +456,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -424,6 +425,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( CreateTaskCompletionClosure(TracingDataType::kHistory), &history_task_tracker_); } @@ -478,7 +478,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. if (ClipboardRecentContent::GetInstance()) ClipboardRecentContent::GetInstance()->SuppressClipboardContent(); -@@ -563,6 +567,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -532,6 +536,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( // and SSL host state are scoped to hosts and represent them as std::string. // Rename the method to indicate its more general usage. if (profile_->GetSSLHostStateDelegate()) { @@ -490,7 +490,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. profile_->GetSSLHostStateDelegate()->Clear( filter_builder->MatchesAllOriginsAndDomains() ? base::RepeatingCallback() -@@ -591,9 +600,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -560,9 +569,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( } device_event_log::Clear(delete_begin_, delete_end_); @@ -504,7 +504,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange( delete_begin_, delete_end_); -@@ -1320,6 +1333,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( +@@ -1287,6 +1300,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( if (should_clear_zero_suggest_and_session_token && template_url_service) template_url_service->ClearSessionToken(); @@ -516,7 +516,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate. diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -564,6 +564,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -557,6 +557,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] = settings_api::PrefType::kNumber; @@ -576,7 +576,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1516,6 +1516,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, +@@ -1523,6 +1523,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info, } } @@ -596,7 +596,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile void ProfileManager::DoFinalInitForServices(Profile* profile, bool go_off_the_record) { if (!do_final_services_init_ || -@@ -2185,9 +2198,9 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { +@@ -2192,9 +2205,9 @@ void ProfileManager::OnBrowserClosed(Browser* browser) { // Do nothing if the closed window is not the last window of the same profile. bool has_other_window = false; ForEachCurrentBrowserWindowInterfaceOrderedByActivation( @@ -696,7 +696,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1443,6 +1443,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1440,6 +1440,9 @@ Your Google account may have other forms of browsing history like searches and a Some of your history might not show up here. To see all your Chrome history, open full Chrome history. Also, your Google Account may have other forms of browsing history at <link>myactivity.google.com</link>. @@ -723,7 +723,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2218,6 +2218,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2264,6 +2264,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"clearedData", IDS_SETTINGS_CLEARED_DATA}, {"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA}, {"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION}, @@ -989,7 +989,7 @@ diff --git a/components/favicon/core/favicon_database.h b/components/favicon/cor diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc -@@ -924,6 +924,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( +@@ -923,6 +923,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween( if (turl->date_created() >= created_after && (created_before.is_null() || turl->date_created() < created_before) && turl->safe_for_autoreplace() && turl->prepopulate_id() == 0 && @@ -1000,7 +1000,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_service_impl.cc --- a/content/browser/btm/btm_service_impl.cc +++ b/content/browser/btm/btm_service_impl.cc -@@ -261,7 +261,7 @@ class StateClearer : public BrowsingDataRemover::Observer { +@@ -251,7 +251,7 @@ class StateClearer : public BrowsingDataRemover::Observer { remove_mask &= ~BrowsingDataRemover::DATA_TYPE_PRIVACY_SANDBOX; remover->RemoveWithFilterAndReply( base::Time::Min(), base::Time::Max(), @@ -1012,15 +1012,15 @@ diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_s diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -19,6 +19,7 @@ - #include "base/containers/contains.h" +@@ -18,6 +18,7 @@ + #include "base/command_line.h" #include "base/dcheck_is_on.h" #include "base/feature_list.h" +#include "base/files/file_util.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" #include "base/functional/concurrent_closures.h" -@@ -1557,6 +1558,7 @@ void StoragePartitionImpl::Initialize( +@@ -1556,6 +1557,7 @@ void StoragePartitionImpl::Initialize( .AppendASCII("Code Cache"); } DCHECK_GE(settings.size_in_bytes(), 0); diff --git a/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch b/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch index 204e8403..138d0eb2 100644 --- a/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch +++ b/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch @@ -19,7 +19,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../webauthn/android/webauthn_feature_map.cc | 1 + components/webauthn/features.cc | 4 +++ components/webauthn/features.h | 3 ++ - device/fido/features.cc | 2 ++ + device/fido/public/features.cc | 2 ++ .../authentication_credentials_container.cc | 5 ++++ 11 files changed, 75 insertions(+), 37 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-enable-Credman-for-passkeys.grdp @@ -121,36 +121,36 @@ new file mode 100644 diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java --- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java +++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java -@@ -34,6 +34,8 @@ import org.chromium.blink.mojom.PublicKeyCredentialReportOptions; - import org.chromium.blink.mojom.WebAuthnClientCapability; +@@ -30,6 +30,8 @@ import org.chromium.blink.mojom.WebAuthnClientCapability; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; + import org.chromium.components.password_manager.BrowserAssistedLoginType; +import org.chromium.components.webauthn.CredManSupport; +import org.chromium.components.webauthn.cred_man.CredManSupportProvider; import org.chromium.components.ukm.UkmRecorder; import org.chromium.content_public.browser.RenderFrameHost; import org.chromium.content_public.browser.WebContents; -@@ -170,8 +172,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -166,8 +168,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon mIsPaymentRequest = options.isPaymentCredentialCreation; - mMakeCredentialCallback = callback; - mIsOperationPending = true; + mRequestCallback = requestCallback; + mRequestCallback.setCompletionCallback(this::cleanupRequest); - if (!GmsCoreUtils.isWebauthnSupported() - || (!isChrome(mWebContents) && !GmsCoreUtils.isResultReceiverSupported())) { + if (CredManSupportProvider.getCredManSupport() == CredManSupport.DISABLED) { - recordOutcomeEvent(MakeCredentialOutcome.OTHER_FAILURE); - onError(AuthenticatorStatus.NOT_IMPLEMENTED); - return; -@@ -235,8 +236,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon - mIsConditionalRequest = options.mediation == Mediation.CONDITIONAL; - mIsImmediateRequest = options.mediation == Mediation.IMMEDIATE; - + mRequestCallback.onComplete( + WebauthnRequestResponse.forFailedMakeCredential( + AuthenticatorStatus.NOT_IMPLEMENTED, +@@ -250,8 +251,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon + && DeviceFeatureMap.isEnabled( + DeviceFeatureList + .WEBAUTHN_AUTHENTICATOR_PASSWORDS_ONLY_IMMEDIATE_REQUESTS); - if (!GmsCoreUtils.isWebauthnSupported() - || (!isChrome(mWebContents) && !GmsCoreUtils.isResultReceiverSupported()) + if (CredManSupportProvider.getCredManSupport() == CredManSupport.DISABLED - || options.publicKey == null) { - recordOutcomeEvent(GetAssertionOutcome.OTHER_FAILURE); - onError(AuthenticatorStatus.NOT_IMPLEMENTED); -@@ -277,12 +277,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon + || (options.publicKey == null && !isPasswordOnlyFlux)) { + RequestMetrics metrics = + new RequestMetrics.Builder() +@@ -291,12 +291,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon } private boolean couldSupportConditionalMediation() { @@ -165,7 +165,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut } @Override -@@ -356,26 +355,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -370,26 +369,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon capabilities.add( createWebAuthnClientCapability( AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET, @@ -200,10 +200,10 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java --- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java +++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java -@@ -17,4 +17,6 @@ public abstract class WebauthnFeatures { - public static final String WEBAUTHN_ANDROID_PASSKEY_CACHE_MIGRATION = - "WebAuthenticationAndroidPasskeyCacheMigration"; +@@ -19,4 +19,6 @@ public abstract class WebauthnFeatures { public static final String WEBAUTHN_ANDROID_CRED_MAN_FOR_DEV = "WebAuthnAndroidCredManForDev"; + public static final String WEBAUTHN_ANDROID_CRED_MAN_REQUEST_EXTRA_BUNDLE = + "WebAuthenticationAndroidCredManRequestExtraBundle"; + public static final String WEBAUTHN_ANDROID_PASSKEY = + "WebAuthenticationAndroidPasskey"; } @@ -284,10 +284,10 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut diff --git a/components/webauthn/android/webauthn_feature_map.cc b/components/webauthn/android/webauthn_feature_map.cc --- a/components/webauthn/android/webauthn_feature_map.cc +++ b/components/webauthn/android/webauthn_feature_map.cc -@@ -17,6 +17,7 @@ namespace { - const base::Feature* const kFeaturesExposedToJava[] = { +@@ -18,6 +18,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kWebAuthnAndroidPasskeyCacheMigration, &kWebAuthnAndroidCredManForDev, + &kWebAuthnAndroidCredManRequestExtraBundle, + &kWebAuthnAndroidPasskey, }; @@ -295,9 +295,9 @@ diff --git a/components/webauthn/android/webauthn_feature_map.cc b/components/we diff --git a/components/webauthn/features.cc b/components/webauthn/features.cc --- a/components/webauthn/features.cc +++ b/components/webauthn/features.cc -@@ -25,6 +25,10 @@ BASE_FEATURE(kWebAuthnAndroidCredManForDev, base::FEATURE_DISABLED_BY_DEFAULT); - const base::FeatureParam kWebAuthnAndroidCredManForDevMode{ - &kWebAuthnAndroidCredManForDev, "mode", ""}; +@@ -34,6 +34,10 @@ BASE_FEATURE(kWebAuthnAndroidCredManRequestExtraBundle, + BASE_FEATURE(kWebAuthnConditionalUiSuppressedOnWebView, + base::FEATURE_ENABLED_BY_DEFAULT); +CROMITE_FEATURE(kWebAuthnAndroidPasskey, + "WebAuthenticationAndroidPasskey", @@ -316,12 +316,12 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h +COMPONENT_EXPORT(WEBAUTHN) +BASE_DECLARE_FEATURE(kWebAuthnAndroidPasskey); + - #endif // BUILDFLAG(IS_ANDROID) - - #if !BUILDFLAG(IS_ANDROID) -diff --git a/device/fido/features.cc b/device/fido/features.cc ---- a/device/fido/features.cc -+++ b/device/fido/features.cc + // Whether to send a custom bundle values for the CredMan requests. The extras + // are used by Google Password Manager. + COMPONENT_EXPORT(WEBAUTHN) +diff --git a/device/fido/public/features.cc b/device/fido/public/features.cc +--- a/device/fido/public/features.cc ++++ b/device/fido/public/features.cc @@ -188,6 +188,7 @@ BASE_FEATURE(kWebAuthnImmediateGet, #else base::FEATURE_ENABLED_BY_DEFAULT); @@ -336,12 +336,12 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGetAutoselect); - // Default enabled in M140. Remove in or after M143. - BASE_FEATURE(kWebAuthnLargeBlobForGPM, + // Deprecation flag. Disabled by default in M142. Remove in or after M145. + BASE_FEATURE(kWebAuthnSendPinGeneration, diff --git a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc --- a/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc +++ b/third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc -@@ -1090,6 +1090,11 @@ DOMException* AuthenticatorStatusToDOMException( +@@ -1135,6 +1135,11 @@ DOMException* AuthenticatorStatusToDOMException( const WebAuthnDOMExceptionDetailsPtr& dom_exception_details) { DCHECK_EQ(status != AuthenticatorStatus::ERROR_WITH_DOM_EXCEPTION_DETAILS, dom_exception_details.is_null()); diff --git a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch index 1c7a3c69..9d1d5bcb 100644 --- a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch +++ b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch @@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java -@@ -474,6 +474,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -478,6 +478,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -138,7 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { -@@ -1083,6 +1086,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -1085,6 +1088,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { getProfile(), false); }); @@ -168,18 +168,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -446,6 +446,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kTabGroupParityBottomSheetAndroid, +@@ -437,6 +437,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kTabFreezingUsesDiscard, &kTabModelInitFixes, &kTabStorageSqlitePrototype, + &blink::features::kShowAlwaysContextMenuOnLinks, &kTabStripAutoSelectOnCloseChange, + &kTabStripCloseRefactorAndroid, &kTabStripDensityChangeAndroid, - &kTabStripGroupDragDropAndroid, diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -517,6 +517,8 @@ public abstract class ChromeFeatureList { +@@ -506,6 +506,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; @@ -188,19 +188,19 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON = "NewTabPageCustomizationToolbarButton"; public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2"; -@@ -1031,6 +1033,8 @@ public abstract class ChromeFeatureList { +@@ -1016,6 +1018,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); + public static final CachedFlag sShowAlwaysContextMenuOnLinks = + newCachedFlag(SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS, false); public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false); - public static final CachedFlag sPostGetMyMemoryStateToBackground = - newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true); -@@ -1303,6 +1307,7 @@ public abstract class ChromeFeatureList { - sTopControlsRefactor, + public static final CachedFlag sPersistAcrossReboots = + newCachedFlag(PERSIST_ACROSS_REBOOTS, false); +@@ -1283,6 +1287,7 @@ public abstract class ChromeFeatureList { sTopControlsRefactorV2, sTouchToSearchCallout, + sUnparcelIntentFileDescriptors, + sShowAlwaysContextMenuOnLinks, sUseActivityManagerForTabActivation, sUseChimeAndroidSdk, @@ -208,7 +208,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1572,6 +1572,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1569,6 +1569,12 @@ Your Google account may have other forms of browsing history like searches and a Disable toolbar swipe up @@ -221,7 +221,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -3237,6 +3243,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3235,6 +3241,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -249,7 +249,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java --- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java -@@ -60,6 +60,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -64,6 +64,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate; private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate; @@ -259,7 +259,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c private PageZoomPreference mPageZoomDefaultZoomPref; private ChromeSwitchPreference mPageZoomIncludeOSAdjustment; private ChromeSwitchPreference mPageZoomAlwaysShowPref; -@@ -157,6 +160,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -162,6 +165,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue()); mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this); @@ -272,7 +272,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c Preference captions = findPreference(PREF_CAPTIONS); captions.setOnPreferenceClickListener( preference -> { -@@ -265,6 +274,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment +@@ -270,6 +279,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment } else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) { mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue); mDelegate.requestRestart(getActivity()); @@ -344,7 +344,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc --- a/third_party/blink/renderer/core/html/html_anchor_element.cc +++ b/third_party/blink/renderer/core/html/html_anchor_element.cc -@@ -65,6 +65,7 @@ +@@ -68,6 +68,7 @@ #include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h" #include "third_party/blink/renderer/core/navigation_api/navigation_api.h" #include "third_party/blink/renderer/core/page/chrome_client.h" @@ -352,7 +352,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third #include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/scroll/scroll_into_view_util.h" #include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h" -@@ -415,6 +416,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -421,6 +422,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( bool is_trusted, base::TimeTicks platform_time_stamp, KURL completed_url) { @@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third LocalDOMWindow* window = GetDocument().domWindow(); if (!window) { return; -@@ -495,6 +507,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -501,6 +513,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( frame_request.SetImpression(impression); } @@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third Frame* target_frame = frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame; -@@ -531,7 +552,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const { +@@ -537,7 +558,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const { return IsLink(); } @@ -395,7 +395,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third event.SetDefaultHandled(); LocalDOMWindow* window = GetDocument().domWindow(); -@@ -583,13 +604,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -589,13 +610,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { return; } @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third // We distinguish single/double click with some modifiers. // See the comment of `EventHandler.delayed_navigation_task_handle_`. auto task_handle = PostDelayedCancellableTask( -@@ -599,7 +619,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -605,7 +625,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index c96eb500..f0f7cd93 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -26,9 +26,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -169,6 +169,7 @@ +@@ -165,6 +165,7 @@ + #include "components/sensitive_content/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" - #include "components/services/on_device_translation/buildflags/buildflags.h" #include "components/services/storage/public/cpp/buckets/bucket_info.h" +#include "components/site_engagement/core/features.h" #include "components/shared_highlighting/core/common/shared_highlighting_features.h" @@ -37,7 +37,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc --- a/chrome/browser/engagement/important_sites_util.cc +++ b/chrome/browser/engagement/important_sites_util.cc -@@ -31,6 +31,7 @@ +@@ -30,6 +30,7 @@ #include "components/prefs/scoped_user_pref_update.h" #include "components/site_engagement/content/site_engagement_score.h" #include "components/site_engagement/content/site_engagement_service.h" @@ -45,7 +45,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ #include "components/site_engagement/core/mojom/site_engagement_details.mojom.h" #include "components/webapps/browser/banners/app_banner_settings_helper.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" -@@ -345,6 +346,10 @@ void ImportantSitesUtil::RegisterProfilePrefs( +@@ -343,6 +344,10 @@ void ImportantSitesUtil::RegisterProfilePrefs( // static std::set ImportantSitesUtil::GetInstalledRegisterableDomains( Profile* profile) { @@ -56,7 +56,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/ std::set installed_origins = GetOriginsWithInstalledWebApps(profile); std::set registerable_domains; -@@ -359,6 +364,10 @@ std::vector +@@ -357,6 +362,10 @@ std::vector ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile, size_t max_results) { SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime"); @@ -131,7 +131,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co #include "components/feature_engagement/public/configuration.h" #include "components/feature_engagement/public/event_constants.h" #include "components/feature_engagement/public/feature_constants.h" -@@ -121,6 +122,12 @@ std::optional GetClientSideFeatureConfig( +@@ -118,6 +119,12 @@ std::optional GetClientSideFeatureConfig( } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index a2f0eca4..0d15e920 100644 --- a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch +++ b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +@@ -67,6 +67,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; @@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; import org.chromium.components.browser_ui.settings.PreferenceUpdateObserver; -@@ -922,8 +923,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -904,8 +905,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity return true; } else if (item.getItemId() == R.id.menu_id_general_help) { RecordUserAction.record("Settings.MobileHelpAndFeedback"); diff --git a/build/patches/Add-support-for-writing-URIs.patch b/build/patches/Add-support-for-writing-URIs.patch index 77514647..92339b4b 100644 --- a/build/patches/Add-support-for-writing-URIs.patch +++ b/build/patches/Add-support-for-writing-URIs.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc --- a/base/android/content_uri_utils.cc +++ b/base/android/content_uri_utils.cc -@@ -137,6 +137,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, +@@ -139,6 +139,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, Time::FromMillisecondsSinceUnixEpoch(last_modified)); } diff --git a/build/patches/Add-webGL-site-setting.patch b/build/patches/Add-webGL-site-setting.patch index ee2e0063..f01f8609 100644 --- a/build/patches/Add-webGL-site-setting.patch +++ b/build/patches/Add-webGL-site-setting.patch @@ -189,7 +189,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc --- a/third_party/blink/renderer/core/execution_context/execution_context.cc +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc -@@ -94,6 +94,13 @@ blink::WebContentSettingsClient* GetContentSettingsClientFor( +@@ -86,6 +86,13 @@ blink::WebContentSettingsClient* GetContentSettingsClientFor( return settings; } @@ -206,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -149,6 +149,8 @@ enum ReasonForCallingCanExecuteScripts { +@@ -110,6 +110,8 @@ enum ReasonForCallingCanExecuteScripts { enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag }; @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -341,6 +341,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( +@@ -343,6 +343,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( } } @@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { base::AutoLock locker(WebGLContextLimitLock()); DCHECK(webgl_context_limits_initialized_); -@@ -611,25 +618,6 @@ static String ExtractWebGLContextCreationError( +@@ -613,25 +620,6 @@ static String ExtractWebGLContextCreationError( const Platform::WebGLContextInfo& info) { StringBuilder builder; builder.Append("Could not create a WebGL context"); @@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), builder); builder.Append('.'); -@@ -690,6 +678,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( +@@ -692,6 +680,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( const CanvasContextCreationAttributesCore& attributes, Platform::WebGLContextType context_type, Platform::WebGLContextInfo* context_info) { @@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h -@@ -1965,6 +1965,8 @@ class MODULES_EXPORT WebGLRenderingContextBase +@@ -2008,6 +2008,8 @@ class MODULES_EXPORT WebGLRenderingContextBase DOMArrayBufferView* pixels, int64_t offset); diff --git a/build/patches/Add-webRTC-site-settings.patch b/build/patches/Add-webRTC-site-settings.patch index 348bb5c6..46968304 100644 --- a/build/patches/Add-webRTC-site-settings.patch +++ b/build/patches/Add-webRTC-site-settings.patch @@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d #include "third_party/blink/public/platform/web_url.h" #include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h" #include "third_party/blink/public/web/web_document.h" -@@ -1041,6 +1042,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1046,6 +1047,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( // |request_multiple_routes|. Whether local IP addresses could be // collected depends on if mic/camera permission is granted for this // origin. diff --git a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch index 1a4542a9..ab1fc973 100644 --- a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch +++ b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch @@ -34,7 +34,7 @@ diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/pict #include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h" -@@ -388,6 +389,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( +@@ -386,6 +387,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( return; } diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 00652838..f482842d 100644 --- a/build/patches/Allow-building-without-enable_reporting.patch +++ b/build/patches/Allow-building-without-enable_reporting.patch @@ -43,7 +43,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc -@@ -1517,6 +1517,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1542,6 +1542,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { } } @@ -51,7 +51,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { std::vector urls; frame_host->ForEachRenderFrameHostImplWithAction( -@@ -1530,6 +1531,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1555,6 +1556,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { }); return urls; } @@ -126,7 +126,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -16347,12 +16347,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -16427,12 +16427,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -138,7 +138,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b - std::move(body)); } - void RenderFrameHostImpl::UpdateOrDisableCompositorMetricRecorder() const { + base::Value::Dict RenderFrameHostImpl::ReadCrashReportAPIBody() { diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc --- a/content/browser/security/coop/cross_origin_opener_policy_reporter.cc +++ b/content/browser/security/coop/cross_origin_opener_policy_reporter.cc @@ -308,7 +308,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -499,14 +499,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -493,14 +493,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const GURL& url, const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, @@ -340,7 +340,7 @@ diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/pu diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn --- a/services/network/public/mojom/BUILD.gn +++ b/services/network/public/mojom/BUILD.gn -@@ -1833,7 +1833,6 @@ mojom("mojom") { +@@ -1885,7 +1885,6 @@ mojom("mojom") { export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_header_blink = "third_party/blink/public/platform/web_common.h" if (enable_reporting) { @@ -351,7 +351,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1245,6 +1245,7 @@ interface NetworkContext { +@@ -1231,6 +1231,7 @@ interface NetworkContext { // provided `network_anonymization_key`. // // Spec: https://w3c.github.io/reporting/#concept-reports @@ -359,7 +359,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueReport(string type, string group, url.mojom.Url url, -@@ -1252,6 +1253,7 @@ interface NetworkContext { +@@ -1238,6 +1239,7 @@ interface NetworkContext { NetworkAnonymizationKey network_anonymization_key, mojo_base.mojom.DictionaryValue body); @@ -367,7 +367,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw QueueEnterpriseReport(string type, string group, url.mojom.Url url, -@@ -1262,6 +1264,7 @@ interface NetworkContext { +@@ -1248,6 +1250,7 @@ interface NetworkContext { // Note that this queued report will never be delivered if no reporting // endpoint matching is registered for with the provided // `network_anonymization_key`. @@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c #include "base/containers/contains.h" #include "base/debug/dump_without_crashing.h" #include "base/feature_list.h" -@@ -1355,6 +1356,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1379,6 +1380,7 @@ void ContentSecurityPolicy::ReportViolation( ShouldBypassContentSecurityPolicy(KURL(violation_data->sourceFile()))) { return; } @@ -394,7 +394,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c PostViolationReport(violation_data, context_frame, report_endpoints, use_reporting_api); -@@ -1362,6 +1364,7 @@ void ContentSecurityPolicy::ReportViolation( +@@ -1386,6 +1388,7 @@ void ContentSecurityPolicy::ReportViolation( // `context_frame` (i.e. we're not processing 'frame-ancestors'). if (delegate_ && !context_frame) delegate_->DispatchViolationEvent(*violation_data, element); @@ -405,7 +405,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -49,6 +49,7 @@ +@@ -50,6 +50,7 @@ #include "build/build_config.h" #include "mojo/public/cpp/bindings/self_owned_receiver.h" #include "mojo/public/cpp/system/message_pipe.h" @@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ #include "services/network/public/cpp/features.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/source_location.mojom-blink.h" -@@ -2871,9 +2872,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2861,9 +2862,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { return CHECK_DEREF(GetDocument()).GetResourceCoordinator(); } @@ -436,7 +436,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b #include "net/storage_access_api/status.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h" -@@ -670,7 +671,9 @@ class CORE_EXPORT LocalFrame final +@@ -668,7 +669,9 @@ class CORE_EXPORT LocalFrame final return client_hints_preferences_; } @@ -457,17 +457,17 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" #include "third_party/blink/public/platform/platform.h" #include "third_party/blink/public/platform/task_type.h" -@@ -55,7 +56,9 @@ bool ShouldReportBeVisibleToObservers(Report* report) { - +@@ -59,7 +60,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext"; ReportingContext::ReportingContext(ExecutionContext& context) - : execution_context_(context), + : Supplement(context), + execution_context_(context), +#if BUILDFLAG(ENABLE_REPORTING) reporting_service_(&context), +#endif receivers_(this, &context) {} // static -@@ -121,7 +124,9 @@ void ReportingContext::Trace(Visitor* visitor) const { +@@ -126,7 +129,9 @@ void ReportingContext::Trace(Visitor* visitor) const { visitor->Trace(observers_); visitor->Trace(report_buffer_); visitor->Trace(execution_context_); @@ -475,9 +475,9 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ visitor->Trace(reporting_service_); +#endif visitor->Trace(receivers_); + Supplement::Trace(visitor); } - -@@ -143,6 +148,7 @@ void ReportingContext::CountReport(Report* report) { +@@ -149,6 +154,7 @@ void ReportingContext::CountReport(Report* report) { UseCounter::Count(execution_context_, feature); } @@ -485,7 +485,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ const HeapMojoRemote& ReportingContext::GetReportingService() const { if (!reporting_service_.is_bound()) { -@@ -152,6 +158,7 @@ ReportingContext::GetReportingService() const { +@@ -158,6 +164,7 @@ ReportingContext::GetReportingService() const { } return reporting_service_; } @@ -493,7 +493,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ void ReportingContext::NotifyInternal(Report* report) { if (!ShouldReportBeVisibleToObservers(report)) { -@@ -178,6 +185,7 @@ void ReportingContext::NotifyInternal(Report* report) { +@@ -184,6 +191,7 @@ void ReportingContext::NotifyInternal(Report* report) { void ReportingContext::SendToReportingAPI(Report* report, const String& endpoint) const { @@ -501,7 +501,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_ const String& type = report->type(); if (!(type == ReportType::kCSPViolation || type == ReportType::kCSPHash || type == ReportType::kDeprecation || -@@ -262,6 +270,7 @@ void ReportingContext::SendToReportingAPI(Report* report, +@@ -268,6 +276,7 @@ void ReportingContext::SendToReportingAPI(Report* report, url, endpoint, body->featureId(), body->disposition(), body->message(), body->sourceFile(), line_number, column_number); } @@ -520,7 +520,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p #include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h" #include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h" #include "third_party/blink/renderer/core/core_export.h" -@@ -52,10 +53,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, +@@ -56,10 +57,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, private: // Counts the use of a report type via UseCounter. void CountReport(Report*); @@ -533,7 +533,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p void NotifyInternal(Report* report); // Send |report| via the Reporting API to |endpoint|. void SendToReportingAPI(Report* report, const String& endpoint) const; -@@ -67,8 +68,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, +@@ -71,8 +72,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected, // This is declared mutable so that the service endpoint can be cached by // const methods. diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index 2171ed0e..c33e5cb5 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -815,7 +815,6 @@ if (_is_default_toolchain) { +@@ -822,7 +822,6 @@ if (_is_default_toolchain) { "//components/offline_pages/core:offline_page_model_enums_java", "//components/sharing_message:sharing_dialog_type_generated_enum", "//components/sharing_message:sharing_send_message_result_generated_enum", @@ -77,7 +77,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc -@@ -476,7 +476,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { +@@ -475,7 +475,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const { } std::string ProfileAttributesEntry::GetSupervisedUserId() const { @@ -89,7 +89,7 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -679,10 +679,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { +@@ -680,10 +680,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) { prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_); pref_change_registrar_.Init(prefs); @@ -100,7 +100,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p // Changes in the profile avatar. pref_change_registrar_.Add( -@@ -1603,6 +1599,7 @@ GURL ProfileImpl::GetHomePage() { +@@ -1604,6 +1600,7 @@ GURL ProfileImpl::GetHomePage() { } void ProfileImpl::UpdateSupervisedUserIdInStorage() { @@ -111,7 +111,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc --- a/chrome/browser/profiles/profile_manager.cc +++ b/chrome/browser/profiles/profile_manager.cc -@@ -1262,10 +1262,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { +@@ -1265,10 +1265,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) { profile->GetPrefs()->SetString(prefs::kProfileName, profile_name); } @@ -122,7 +122,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile } void ProfileManager::RegisterTestingProfile(std::unique_ptr profile, -@@ -2044,9 +2040,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -2051,9 +2047,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -160,7 +160,7 @@ diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/w diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc --- a/chrome/browser/ui/webui/management/management_ui_handler.cc +++ b/chrome/browser/ui/webui/management/management_ui_handler.cc -@@ -623,10 +623,6 @@ bool ManagementUIHandler::managed() const { +@@ -622,10 +622,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { @@ -174,14 +174,14 @@ diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrom diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.cc b/components/supervised_user/core/browser/supervised_user_pref_store.cc --- a/components/supervised_user/core/browser/supervised_user_pref_store.cc +++ b/components/supervised_user/core/browser/supervised_user_pref_store.cc -@@ -172,6 +172,7 @@ void SupervisedUserPrefStore::OnNewContentFiltersStateAvailable( +@@ -171,6 +171,7 @@ void SupervisedUserPrefStore::RecreatePreferences() { + return; + } - void SupervisedUserPrefStore::OnNewSettingsAvailable( - const base::Value::Dict& settings) { + if ((true)) return; std::unique_ptr old_prefs = std::move(prefs_); prefs_ = std::make_unique(); - if (!settings.empty()) { + if (settings_service_ && settings_service_->IsActive()) { diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc --- a/components/supervised_user/core/browser/supervised_user_preferences.cc +++ b/components/supervised_user/core/browser/supervised_user_preferences.cc @@ -208,7 +208,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences diff --git a/components/supervised_user/core/browser/supervised_user_service.cc b/components/supervised_user/core/browser/supervised_user_service.cc --- a/components/supervised_user/core/browser/supervised_user_service.cc +++ b/components/supervised_user/core/browser/supervised_user_service.cc -@@ -244,6 +244,7 @@ SupervisedUserService::SupervisedUserService( +@@ -204,6 +204,7 @@ SupervisedUserService::SupervisedUserService( } void SupervisedUserService::SetSettingsServiceActive(bool active) { @@ -235,9 +235,9 @@ diff --git a/components/supervised_user/core/common/features.cc b/components/sup int32_t major, minor, bugfix; base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix); bool supported_by_os = (major == 16 && minor >= 1) || major > 16; -@@ -151,4 +151,5 @@ bool ClassifyUrlWithoutCredentialsForLocalSupervision() { - - #endif +@@ -154,4 +154,5 @@ bool ClassifyUrlWithoutCredentialsForLocalSupervision() { + BASE_FEATURE(kSupervisedUserUseUrlFilteringService, + base::FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kLocalWebApprovals); } // namespace supervised_user diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index 4f1dd80c..04e46e76 100644 --- a/build/patches/Allow-playing-audio-in-background.patch +++ b/build/patches/Allow-playing-audio-in-background.patch @@ -23,7 +23,7 @@ diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/co diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc -@@ -1287,6 +1287,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1288,6 +1288,12 @@ bool WebMediaPlayerImpl::HasAudio() const { return pipeline_metadata_.has_audio; } @@ -36,7 +36,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc void WebMediaPlayerImpl::EnabledAudioTracksChanged( std::optional enabled_track_id) { DCHECK(main_task_runner_->BelongsToCurrentThread()); -@@ -3654,7 +3660,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3650,7 +3656,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured(); // Audio only stream is allowed to play when in background. diff --git a/build/patches/Always-use-new-tab-page-for-default-home-page.patch b/build/patches/Always-use-new-tab-page-for-default-home-page.patch index b1282811..7eebc70f 100644 --- a/build/patches/Always-use-new-tab-page-for-default-home-page.patch +++ b/build/patches/Always-use-new-tab-page-for-default-home-page.patch @@ -79,9 +79,9 @@ diff --git a/components/search_engines/android/java/src/org/chromium/components/ diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc --- a/components/search_engines/android/template_url_service_android.cc +++ b/components/search_engines/android/template_url_service_android.cc -@@ -404,6 +404,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine( +@@ -400,6 +400,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( jimage_translate_source_language_param_key, - const base::android::JavaParamRef& + const base::android::JavaRef& jimage_translate_target_language_param_key) { + if ((true)) return false; // The function is scheduled to run only when the service is loaded, see diff --git a/build/patches/Android-Pixel-Perfect-Mode.patch b/build/patches/Android-Pixel-Perfect-Mode.patch index 222f76bf..8ac2e490 100644 --- a/build/patches/Android-Pixel-Perfect-Mode.patch +++ b/build/patches/Android-Pixel-Perfect-Mode.patch @@ -117,7 +117,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc --- a/android_webview/browser/aw_contents.cc +++ b/android_webview/browser/aw_contents.cc -@@ -955,7 +955,7 @@ void AwContents::OnSizeChanged(JNIEnv* env, int w, int h, int ow, int oh) { +@@ -957,7 +957,7 @@ void AwContents::OnSizeChanged(JNIEnv* env, int w, int h, int ow, int oh) { DCHECK_CURRENTLY_ON(BrowserThread::UI); gfx::Size size(w, h); web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size); @@ -129,7 +129,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw diff --git a/cc/input/input_handler.cc b/cc/input/input_handler.cc --- a/cc/input/input_handler.cc +++ b/cc/input/input_handler.cc -@@ -720,7 +720,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt( +@@ -737,7 +737,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt( return result; } @@ -174,7 +174,7 @@ diff --git a/cc/layers/viewport.cc b/cc/layers/viewport.cc diff --git a/cc/mojo_embedder/viz_layer_context.cc b/cc/mojo_embedder/viz_layer_context.cc --- a/cc/mojo_embedder/viz_layer_context.cc +++ b/cc/mojo_embedder/viz_layer_context.cc -@@ -1311,7 +1311,7 @@ void VizLayerContext::SetVisible(bool visible) { +@@ -1332,7 +1332,7 @@ void VizLayerContext::SetVisible(bool visible) { service_->SetVisible(visible); } @@ -186,8 +186,8 @@ diff --git a/cc/mojo_embedder/viz_layer_context.cc b/cc/mojo_embedder/viz_layer_ diff --git a/cc/trees/commit_state.cc b/cc/trees/commit_state.cc --- a/cc/trees/commit_state.cc +++ b/cc/trees/commit_state.cc -@@ -26,6 +26,7 @@ CommitState::CommitState(const CommitState& prev) - load_progress(prev.load_progress), +@@ -25,6 +25,7 @@ CommitState::CommitState(const CommitState& prev) + external_page_scale_factor(prev.external_page_scale_factor), max_page_scale_factor(prev.max_page_scale_factor), min_page_scale_factor(prev.min_page_scale_factor), + browser_control_scale_factor(prev.browser_control_scale_factor), @@ -197,8 +197,8 @@ diff --git a/cc/trees/commit_state.cc b/cc/trees/commit_state.cc diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h --- a/cc/trees/commit_state.h +++ b/cc/trees/commit_state.h -@@ -95,6 +95,7 @@ struct CC_EXPORT CommitState { - float load_progress = 0.f; +@@ -94,6 +94,7 @@ struct CC_EXPORT CommitState { + float external_page_scale_factor = 1.f; float max_page_scale_factor = 1.f; float min_page_scale_factor = 1.f; + float browser_control_scale_factor = 1.f; @@ -208,7 +208,7 @@ diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc --- a/cc/trees/layer_tree_host.cc +++ b/cc/trees/layer_tree_host.cc -@@ -1391,7 +1391,7 @@ void LayerTreeHost::SetEventListenerProperties( +@@ -1393,7 +1393,7 @@ void LayerTreeHost::SetEventListenerProperties( SetNeedsCommit(); } @@ -217,7 +217,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc const gfx::Rect& device_viewport_rect, float device_scale_factor, const viz::LocalSurfaceId& local_surface_id_from_parent) { -@@ -1511,9 +1511,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) { +@@ -1504,9 +1504,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) { void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, float min_page_scale_factor, @@ -229,7 +229,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc pending_commit_state()->max_page_scale_factor == max_page_scale_factor) return; DCHECK_GE(page_scale_factor, min_page_scale_factor); -@@ -1529,6 +1531,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, +@@ -1522,6 +1524,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, pending_commit_state()->page_scale_factor = page_scale_factor; pending_commit_state()->min_page_scale_factor = min_page_scale_factor; @@ -240,7 +240,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h --- a/cc/trees/layer_tree_host.h +++ b/cc/trees/layer_tree_host.h -@@ -567,6 +567,7 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { +@@ -570,6 +570,7 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { void SetPageScaleFactorAndLimits(float page_scale_factor, float min_page_scale_factor, @@ -248,7 +248,7 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h float max_page_scale_factor); float page_scale_factor() const { return pending_commit_state()->page_scale_factor; -@@ -574,6 +575,9 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { +@@ -577,6 +578,9 @@ class CC_EXPORT LayerTreeHost : public MutatorHostClient { float min_page_scale_factor() const { return pending_commit_state()->min_page_scale_factor; } @@ -261,7 +261,7 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc -@@ -2587,7 +2587,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() { +@@ -2788,7 +2788,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() { return bounds; } @@ -270,7 +270,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc viz::CompositorFrameMetadata metadata; if (settings().trees_in_viz_in_viz_process) { // In TreesInViz mode, this function is called in client process already, -@@ -2754,7 +2754,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { +@@ -2948,7 +2948,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { return metadata; } @@ -282,7 +282,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc --- a/cc/trees/layer_tree_impl.cc +++ b/cc/trees/layer_tree_impl.cc -@@ -163,6 +163,7 @@ LayerTreeImpl::LayerTreeImpl( +@@ -164,6 +164,7 @@ LayerTreeImpl::LayerTreeImpl( background_color_(SkColors::kTransparent), page_scale_factor_(page_scale_factor), min_page_scale_factor_(0), @@ -290,7 +290,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor_(0), external_page_scale_factor_(1.f), device_scale_factor_(1.f), -@@ -450,7 +451,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls( +@@ -451,7 +452,7 @@ void LayerTreeImpl::InvalidateRasterInducingScrolls( } } @@ -299,7 +299,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (!InnerViewportScrollNode()) return; -@@ -520,8 +521,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() { +@@ -521,8 +522,13 @@ void LayerTreeImpl::UpdateViewportContainerSizes() { // Adjust the outer viewport container as well, since adjusting only the // inner may cause its bounds to exceed those of the outer, causing scroll // clamping. @@ -315,7 +315,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc property_trees->SetOuterViewportContainerBoundsDelta(scaled_bounds_delta); // outer_viewport_container_bounds_delta and -@@ -843,6 +849,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) { +@@ -844,6 +850,7 @@ void LayerTreeImpl::PullLayerTreePropertiesFrom(CommitState& commit_state) { PushPageScaleFromMainThread(commit_state.page_scale_factor, commit_state.min_page_scale_factor, @@ -331,7 +331,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor()); target_tree->SetExternalPageScaleFactor(external_page_scale_factor_); -@@ -1402,19 +1410,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) { +@@ -1399,19 +1407,21 @@ void LayerTreeImpl::SetPageScaleOnActiveTree(float active_page_scale) { void LayerTreeImpl::PushPageScaleFromMainThread(float page_scale_factor, float min_page_scale_factor, @@ -355,7 +355,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (changed_page_scale) { DidUpdatePageScale(); -@@ -1423,12 +1433,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree( +@@ -1420,12 +1430,13 @@ void LayerTreeImpl::SetPageScaleFactorAndLimitsForDisplayTree( void LayerTreeImpl::PushPageScaleFactorAndLimits(const float* page_scale_factor, float min_page_scale_factor, @@ -370,7 +370,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc if (page_scale_factor) { DCHECK(!IsActiveTree() || !host_impl_->pending_tree()); -@@ -1545,12 +1556,15 @@ void LayerTreeImpl::PushBrowserControls( +@@ -1530,12 +1541,15 @@ void LayerTreeImpl::PushBrowserControls( } bool LayerTreeImpl::SetPageScaleFactorLimits(float min_page_scale_factor, @@ -386,7 +386,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc max_page_scale_factor_ = max_page_scale_factor; return true; -@@ -2451,7 +2465,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const { +@@ -2433,7 +2447,7 @@ ScrollbarSet LayerTreeImpl::ScrollbarsFor(ElementId scroll_element_id) const { return scrollbars; } @@ -395,7 +395,7 @@ diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc const gfx::PointF& screen_space_point, const gfx::Transform& local_space_to_screen_space_transform, const gfx::Rect& local_space_rect, -@@ -3062,7 +3076,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound( +@@ -3044,7 +3058,7 @@ static gfx::SelectionBound ComputeViewportSelectionBound( return viewport_bound; } @@ -454,7 +454,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc --- a/cc/trees/property_tree.cc +++ b/cc/trees/property_tree.cc -@@ -1690,7 +1690,7 @@ void ScrollTree::clear() { +@@ -1749,7 +1749,7 @@ void ScrollTree::clear() { #endif } @@ -463,7 +463,7 @@ diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc const ScrollNode* scroll_node = Node(scroll_node_id); gfx::SizeF scroll_bounds = this->scroll_bounds(scroll_node_id); -@@ -2239,7 +2239,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, +@@ -2302,7 +2302,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, return old_offset + scroll - new_offset; } @@ -499,7 +499,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -44,6 +44,9 @@ import androidx.annotation.NonNull; +@@ -45,6 +45,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -509,7 +509,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.base.ActivityState; import org.chromium.base.ApplicationStatus; import org.chromium.base.Callback; -@@ -552,7 +555,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -557,7 +560,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Ensure that mConfig is initialized before tablet mode changes. mConfig = getResources().getConfiguration(); @@ -539,7 +539,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java -@@ -977,7 +977,7 @@ public class CompositorViewHolder extends FrameLayout +@@ -1004,7 +1004,7 @@ public class CompositorViewHolder extends FrameLayout int viewportInsets = controlsInsets + keyboardInset; if (isAttachedToWindow(view)) { @@ -548,7 +548,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp // Dispatch the geometrychange JavaScript event to the page. // TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer -@@ -997,7 +997,7 @@ public class CompositorViewHolder extends FrameLayout +@@ -1024,7 +1024,7 @@ public class CompositorViewHolder extends FrameLayout MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); @@ -572,7 +572,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bott diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java -@@ -2394,7 +2394,7 @@ class TabImpl implements Tab { +@@ -2475,7 +2475,7 @@ class TabImpl implements Tab { Supplier compositorViewHolderSupplier = assumeNonNull(getActivity()).getCompositorViewHolderSupplier(); View compositorView = compositorViewHolderSupplier.get(); @@ -584,9 +584,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -23,12 +23,14 @@ import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; - import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; +@@ -26,12 +26,14 @@ import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage; import org.chromium.components.browser_ui.settings.SettingsUtils; + import org.chromium.components.browser_ui.settings.search.SettingsIndexData; import org.chromium.chrome.browser.util.PlatformUtil; +import org.chromium.chrome.browser.flags.CromiteNativeUtils; @@ -599,7 +599,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting // Non-translated strings: private static final String MSG_DEVELOPER_OPTIONS_TITLE = "Developer options"; -@@ -80,6 +82,14 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb +@@ -83,6 +85,14 @@ public class DeveloperSettings extends ChromeBaseSettingsFragment implements Emb // handle the click so the default action isn't triggered. return true; }); @@ -613,11 +613,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting + }); } - @Override + private static boolean shouldRemoveBetaStableHint() { diff --git a/chrome/browser/android/bottombar/overlay_panel_content.cc b/chrome/browser/android/bottombar/overlay_panel_content.cc --- a/chrome/browser/android/bottombar/overlay_panel_content.cc +++ b/chrome/browser/android/bottombar/overlay_panel_content.cc -@@ -53,7 +53,7 @@ void OverlayPanelContent::OnPhysicalBackingSizeChanged( +@@ -52,7 +52,7 @@ void OverlayPanelContent::OnPhysicalBackingSizeChanged( jint height) { gfx::Size size(width, height); web_contents->GetNativeView()->OnPhysicalBackingSizeChanged(size); @@ -637,7 +637,7 @@ diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/b #include "content/public/browser/browser_thread.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_view_host.h" -@@ -76,7 +77,10 @@ class TabContentManager::TabReadbackRequest { +@@ -75,7 +76,10 @@ class TabContentManager::TabReadbackRequest { std::move(result_callback).Run(viz::CopyOutputBitmapWithMetadata()); return; } @@ -648,7 +648,7 @@ diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/b + gfx::Rect source_rect = gfx::Rect(view_size_in_pixels.width() / scale, view_size_in_pixels.height() / scale); gfx::Size thumbnail_size( gfx::ScaleToCeiledSize(view_size_in_pixels, thumbnail_scale_)); - rwhv->CopyFromSurface(source_rect, thumbnail_size, + rwhv->CopyFromSurface(source_rect, thumbnail_size, base::TimeDelta(), diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java new file mode 100644 --- /dev/null @@ -836,7 +836,7 @@ diff --git a/components/input/render_widget_targeter.cc b/components/input/rende diff --git a/components/thin_webview/internal/thin_webview.cc b/components/thin_webview/internal/thin_webview.cc --- a/components/thin_webview/internal/thin_webview.cc +++ b/components/thin_webview/internal/thin_webview.cc -@@ -106,7 +106,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) { +@@ -105,7 +105,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) { return; web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size); @@ -884,7 +884,7 @@ diff --git a/components/viz/service/input/render_input_router_support_child_fram diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/viz/service/layers/layer_context_impl.cc --- a/components/viz/service/layers/layer_context_impl.cc +++ b/components/viz/service/layers/layer_context_impl.cc -@@ -1883,7 +1883,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( +@@ -1917,7 +1917,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( return base::unexpected("Invalid page scale factors"); } layers.SetPageScaleFactorAndLimitsForDisplayTree( @@ -896,7 +896,7 @@ diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/vi diff --git a/content/browser/android/selection/selection_popup_controller.cc b/content/browser/android/selection/selection_popup_controller.cc --- a/content/browser/android/selection/selection_popup_controller.cc +++ b/content/browser/android/selection/selection_popup_controller.cc -@@ -191,7 +191,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( +@@ -189,7 +189,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( web_contents_impl->MoveRangeSelectionExtent(gfx::ToRoundedPoint(extent)); } @@ -905,7 +905,7 @@ diff --git a/content/browser/android/selection/selection_popup_controller.cc b/c const gfx::PointF& base, const gfx::PointF& extent) { auto* web_contents_impl = static_cast(web_contents()); -@@ -323,7 +323,8 @@ bool SelectionPopupController::ShowSelectionMenu( +@@ -321,7 +321,8 @@ bool SelectionPopupController::ShowSelectionMenu( can_select_all, can_edit_richly, should_suggest, static_cast(params.source_type), render_frame_host->GetJavaRenderFrameHost(), @@ -926,7 +926,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co #include "third_party/blink/public/common/frame/frame_visual_properties.h" #include "third_party/blink/public/common/input/web_input_event.h" #include "third_party/blink/public/mojom/frame/intrinsic_sizing_info.mojom.h" -@@ -220,9 +221,12 @@ void CrossProcessFrameConnector::SynchronizeVisualProperties( +@@ -221,9 +222,12 @@ void CrossProcessFrameConnector::SynchronizeVisualProperties( render_widget_host->SetAutoResize(visual_properties.auto_resize_enabled, visual_properties.min_size_for_auto_resize, visual_properties.max_size_for_auto_resize); @@ -940,7 +940,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co visual_properties.is_pinch_gesture_active, visual_properties.visible_viewport_size, visual_properties.compositor_viewport, -@@ -475,7 +479,7 @@ void CrossProcessFrameConnector::SetVisibilityForChildViews( +@@ -476,7 +480,7 @@ void CrossProcessFrameConnector::SetVisibilityForChildViews( current_child_frame_host()->SetVisibilityForChildViews(visible); } @@ -949,7 +949,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co const gfx::Size& local_frame_size) { has_size_ = true; const float dsf = screen_infos_.current().device_scale_factor; -@@ -484,7 +488,7 @@ void CrossProcessFrameConnector::SetLocalFrameSize( +@@ -485,7 +489,7 @@ void CrossProcessFrameConnector::SetLocalFrameSize( gfx::ScaleToRoundedSize(local_frame_size, 1.f / dsf); } @@ -962,7 +962,7 @@ diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/bro --- a/content/browser/renderer_host/delegated_frame_host.cc +++ b/content/browser/renderer_host/delegated_frame_host.cc @@ -187,7 +187,7 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceAsTexture( - std::move(callback)); + base::TimeDelta(), std::move(callback)); } -void DelegatedFrameHost::CopyFromCompositingSurfaceInternal( @@ -985,7 +985,7 @@ diff --git a/content/browser/renderer_host/input/touch_selection_controller_clie diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -9315,7 +9315,7 @@ void RenderFrameHostImpl::ShowPopupMenu( +@@ -9382,7 +9382,7 @@ void RenderFrameHostImpl::ShowPopupMenu( #endif } @@ -997,7 +997,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc -@@ -1055,7 +1055,20 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() { +@@ -1053,7 +1053,20 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() { blink::VisualProperties visual_properties; visual_properties.screen_infos = GetScreenInfos(); auto& current_screen_info = visual_properties.screen_infos.mutable_current(); @@ -1019,7 +1019,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/ // For testing, override the raster color profile. // Note: this needs to be done here and not earlier in the pipeline because // Mac uses the display color space to update an NSSurface and this setting -@@ -1160,6 +1173,13 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() { +@@ -1158,6 +1171,13 @@ blink::VisualProperties RenderWidgetHostImpl::GetVisualProperties() { visual_properties.compositing_scale_factor = properties_from_parent_local_root_.compositing_scale_factor; @@ -1033,7 +1033,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/ #if BUILDFLAG(IS_MAC) // Only macOS cursor scaling affects CSS custom cursor images for now. visual_properties.cursor_accessibility_scale_factor = -@@ -1340,8 +1360,10 @@ bool RenderWidgetHostImpl::SynchronizeVisualProperties( +@@ -1338,8 +1358,10 @@ bool RenderWidgetHostImpl::SynchronizeVisualProperties( } } @@ -1046,7 +1046,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/ // If we do not have a valid viz::LocalSurfaceId then we are a child frame // waiting on the id to be propagated from our parent. We cannot create a hash -@@ -4010,7 +4032,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged( +@@ -4014,7 +4036,7 @@ void RenderWidgetHostImpl::IntrinsicSizingInfoChanged( // porting drag-and-drop calls to Mojo, so that RenderWidgetHostImpl bypasses // RenderWidget to talk the the WebFrameWidget and needs to perform the scale // operation itself. @@ -1116,11 +1116,11 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/ +void RenderWidgetHostViewAndroid::CopyFromSurface( // POI const gfx::Rect& src_subrect, const gfx::Size& output_size, - base::OnceCallback + base::TimeDelta timeout, diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h --- a/content/browser/renderer_host/render_widget_host_view_android.h +++ b/content/browser/renderer_host/render_widget_host_view_android.h -@@ -172,6 +172,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid +@@ -170,6 +170,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAndroid gfx::Size GetRequestedRendererSizeDevicePx() override; gfx::Size GetVisibleViewportSize() override; gfx::Size GetVisibleViewportSizeDevicePx() override; @@ -1142,7 +1142,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/con void RenderWidgetHostViewBase::SelectionBoundsChanged( const gfx::Rect& anchor_rect, base::i18n::TextDirection anchor_dir, -@@ -614,7 +618,7 @@ display::ScreenInfos RenderWidgetHostViewBase::GetScreenInfos() const { +@@ -628,7 +632,7 @@ display::ScreenInfos RenderWidgetHostViewBase::GetScreenInfos() const { void RenderWidgetHostViewBase::ResetGestureDetection() {} @@ -1154,7 +1154,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/con diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h --- a/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h -@@ -294,6 +294,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -289,6 +289,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase // The size of the view's backing surface in non-DPI-adjusted pixels. virtual gfx::Size GetCompositorViewportPixelSize(); @@ -1166,7 +1166,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/cont diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.cc b/content/browser/renderer_host/render_widget_host_view_child_frame.cc --- a/content/browser/renderer_host/render_widget_host_view_child_frame.cc +++ b/content/browser/renderer_host/render_widget_host_view_child_frame.cc -@@ -442,6 +442,10 @@ void RenderWidgetHostViewChildFrame::RequestInputBackForDragAndDrop( +@@ -443,6 +443,10 @@ void RenderWidgetHostViewChildFrame::RequestInputBackForDragAndDrop( } #endif @@ -1180,7 +1180,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.c diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h b/content/browser/renderer_host/render_widget_host_view_child_frame.h --- a/content/browser/renderer_host/render_widget_host_view_child_frame.h +++ b/content/browser/renderer_host/render_widget_host_view_child_frame.h -@@ -122,6 +122,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame +@@ -119,6 +119,7 @@ class CONTENT_EXPORT RenderWidgetHostViewChildFrame RenderWidgetHostViewBase* GetRootView() override; uint32_t GetCaptureSequenceNumber() const override; gfx::Size GetCompositorViewportPixelSize() override; @@ -1191,7 +1191,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc -@@ -834,8 +834,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { +@@ -831,8 +831,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { return Java_WebContentsImpl_createSize(env, size.width(), size.height()); } @@ -1208,7 +1208,7 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h -@@ -188,7 +188,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -187,7 +187,7 @@ class CONTENT_EXPORT WebContentsAndroid { base::android::ScopedJavaLocalRef GetFullscreenVideoSize( JNIEnv* env); @@ -1220,7 +1220,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -531,7 +531,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -534,7 +534,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( !command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise)); // CAUTION: Only add custom enabling logic here if it cannot // be covered by the other functions. @@ -1236,7 +1236,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java -@@ -526,7 +526,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -527,7 +527,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper boolean shouldSuggest, int sourceType, RenderFrameHost renderFrameHost, @@ -1246,7 +1246,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select mMenuModelBridge = menuModelBridge; RecordHistogram.recordEnumeratedHistogram( "Android.ShowSelectionMenuSourceType", sourceType, MenuSourceType.MAX_VALUE); -@@ -536,6 +537,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -537,6 +538,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper mXDip = xDip; mYDip = yDip; mSelectionRect.set(left, top, right, offsetBottom); @@ -1294,7 +1294,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -17,6 +17,10 @@ +@@ -18,6 +18,10 @@ namespace features { @@ -1344,7 +1344,7 @@ new file mode 100644 diff --git a/services/viz/public/mojom/compositing/layer_context.mojom b/services/viz/public/mojom/compositing/layer_context.mojom --- a/services/viz/public/mojom/compositing/layer_context.mojom +++ b/services/viz/public/mojom/compositing/layer_context.mojom -@@ -81,6 +81,7 @@ struct LayerTreeUpdate { +@@ -82,6 +82,7 @@ struct LayerTreeUpdate { // The page scale factors set by the tree's client. All must be positive, // non-zero. float page_scale_factor; @@ -1470,7 +1470,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1255,8 +1255,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( +@@ -1288,8 +1288,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( if (GetBrowserControls().PermittedState() == cc::BrowserControlsState::kBoth && !GetBrowserControls().ShrinkViewport()) { @@ -1492,7 +1492,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } GetPageScaleConstraintsSet().DidChangeInitialContainingBlockSize(icb_size); -@@ -1336,7 +1347,8 @@ void WebViewImpl::DidUpdateBrowserControls() { +@@ -1369,7 +1380,8 @@ void WebViewImpl::DidUpdateBrowserControls() { ResizeViewportAnchor::ResizeScope resize_scope(*resize_viewport_anchor_); visual_viewport.SetBrowserControlsAdjustment( @@ -1502,7 +1502,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -1410,7 +1422,7 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1433,7 +1445,7 @@ void WebViewImpl::ResizeWithBrowserControls( float bottom_controls_height, bool browser_controls_shrink_layout) { ResizeWithBrowserControls( @@ -1511,7 +1511,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p {top_controls_height, GetBrowserControls().TopMinHeight(), bottom_controls_height, GetBrowserControls().BottomMinHeight(), GetBrowserControls().AnimateHeightChanges(), -@@ -1420,6 +1432,8 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1443,6 +1455,8 @@ void WebViewImpl::ResizeWithBrowserControls( void WebViewImpl::ResizeWithBrowserControls( const gfx::Size& main_frame_widget_size, const gfx::Size& visible_viewport_size, @@ -1520,7 +1520,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p cc::BrowserControlsParams browser_controls_params) { if (should_auto_resize_) { // When auto-resizing only the viewport size comes from the browser, while -@@ -1428,6 +1442,11 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1451,6 +1465,11 @@ void WebViewImpl::ResizeWithBrowserControls( return; } @@ -1532,7 +1532,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p if (size_ == main_frame_widget_size && GetPage()->GetVisualViewport().Size() == visible_viewport_size && GetBrowserControls().Params() == browser_controls_params) -@@ -2112,7 +2131,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { +@@ -2137,7 +2156,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { web_preferences_.prefers_reduced_motion); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1541,7 +1541,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p // Prevent main frame updates while the main frame is loading until enough // progress is made and BeginMainFrames are explicitly asked for. scoped_defer_main_frame_update_ = -@@ -2928,7 +2947,7 @@ void WebViewImpl::RefreshPageScaleFactor() { +@@ -2984,7 +3003,7 @@ void WebViewImpl::RefreshPageScaleFactor() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1550,7 +1550,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -3005,7 +3024,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( +@@ -3061,7 +3080,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( TextAutosizer::UpdatePageInfoInAllFrames(GetPage()->MainFrame()); } @@ -1559,7 +1559,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p if (should_auto_resize_ || !MainFrameImpl()) return; -@@ -3239,6 +3258,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { +@@ -3386,6 +3405,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { return GetPageScaleConstraintsSet().FinalConstraints().minimum_scale; } @@ -1570,7 +1570,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p float WebViewImpl::MaximumPageScaleFactor() const { return GetPageScaleConstraintsSet().FinalConstraints().maximum_scale; } -@@ -3289,7 +3312,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { +@@ -3436,7 +3459,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1579,7 +1579,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -3834,7 +3857,7 @@ void WebViewImpl::PageScaleFactorChanged() { +@@ -3981,7 +4004,7 @@ void WebViewImpl::PageScaleFactorChanged() { DCHECK(viewport.IsActiveViewport()); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1608,7 +1608,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa cc::BrowserControlsParams); // Requests a page-scale animation based on the specified point/rect. -@@ -827,6 +830,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -842,6 +845,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // The upper bound on the size when auto-resizing. gfx::Size max_auto_size_; @@ -1620,7 +1620,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc --- a/third_party/blink/renderer/core/frame/local_frame_view.cc +++ b/third_party/blink/renderer/core/frame/local_frame_view.cc -@@ -1791,8 +1791,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { +@@ -1789,8 +1789,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { } float LocalFrameView::InputEventsScaleFactor() const { @@ -1644,7 +1644,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/frame/local_frame_client.h" #include "third_party/blink/renderer/core/frame/local_frame_view.h" -@@ -96,6 +97,7 @@ VisualViewport::VisualViewport(Page& owner) +@@ -97,6 +98,7 @@ VisualViewport::VisualViewport(Page& owner) scale_(1), is_pinch_gesture_active_(false), browser_controls_adjustment_(0), @@ -1652,7 +1652,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa needs_paint_property_update_(true), overscroll_type_(ComputeOverscrollType()) { UniqueObjectId unique_id = NewUniqueObjectId(); -@@ -391,6 +393,33 @@ void VisualViewport::EnqueueResizeEvent() { +@@ -392,6 +394,33 @@ void VisualViewport::EnqueueResizeEvent() { document->EnqueueVisualViewportResizeEvent(); } @@ -1686,7 +1686,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa void VisualViewport::SetSize(const gfx::Size& size) { if (size_ == size) return; -@@ -446,7 +475,10 @@ gfx::RectF VisualViewport::VisibleRect( +@@ -447,7 +476,10 @@ gfx::RectF VisualViewport::VisibleRect( if (scrollbar_inclusion == kExcludeScrollbars) visible_size = gfx::SizeF(ExcludeScrollbars(size_)); @@ -1698,7 +1698,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa visible_size.Scale(1 / scale_); return gfx::RectF(ScrollPosition(), visible_size); -@@ -884,10 +916,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset, +@@ -868,10 +900,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset, return clamped; } @@ -1741,9 +1741,9 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.h b/third_par // ScrollableArea implementation + //ScrollOffset ClampScrollOffset(const ScrollOffset&) const override; ChromeClient* GetChromeClient() const override; - bool SetScrollOffset(const ScrollOffset&, - mojom::blink::ScrollType, -@@ -388,12 +391,14 @@ class CORE_EXPORT VisualViewport : public GarbageCollected, + bool SetScrollOffset( + const ScrollOffset&, +@@ -383,12 +386,14 @@ class CORE_EXPORT VisualViewport : public GarbageCollected, // the changed visible content area. The transient URL bar-caused change to // the visible content area is tracked in browser_controls_adjustment. gfx::Size size_; @@ -1761,7 +1761,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.h b/third_par diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -1872,6 +1872,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1881,6 +1881,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // All non-top-level Widgets (child local-root frames, GuestViews, // etc.) propagate and consume the page scale factor as "external", meaning // that it comes from the top level widget's page scale. @@ -1771,7 +1771,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (!ForTopMostMainFrame()) { // The main frame controls the page scale factor, from blink. For other // frame widgets, the page scale from pinch zoom and compositing scale is -@@ -1879,7 +1882,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1888,7 +1891,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // blink doesn't need to know this page scale factor outside the main frame, // the compositor does in order to produce its output at the correct scale. float combined_scale_factor = visual_properties.page_scale_factor * @@ -1780,7 +1780,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th widget_base_->LayerTreeHost()->SetExternalPageScaleFactor( combined_scale_factor, visual_properties.is_pinch_gesture_active); -@@ -1892,7 +1895,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1901,7 +1904,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( // Ensure the external scale factor in top-level widgets is reset as it may // be leftover from when a widget was nested and was promoted to top level. widget_base_->LayerTreeHost()->SetExternalPageScaleFactor( @@ -1789,7 +1789,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th /*is_pinch_gesture_active=*/false); } -@@ -1936,6 +1939,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1945,6 +1948,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( new_compositor_viewport_pixel_rect, device_scale_factor_for_testing_ / non_testing_device_scale_factor_); } @@ -1808,7 +1808,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (ForMainFrame()) { if (size_ != new_size) { -@@ -1953,6 +1968,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1962,6 +1977,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( size_.value(), widget_base_->DIPsToCeiledBlinkSpace( widget_base_->VisibleViewportSize()), @@ -1817,7 +1817,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); return; } -@@ -1986,6 +2003,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1995,6 +2012,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( View()->ResizeWithBrowserControls( size_.value(), widget_base_->VisibleViewportSize(), @@ -1826,7 +1826,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); } -@@ -2374,6 +2393,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, +@@ -2379,6 +2398,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, View()->ZoomFactorForViewportLayout() * static_cast(View()->ZoomLevelToZoomFactor(zoom_level)) * static_cast(css_zoom_factor); @@ -1835,7 +1835,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (zoom_changed) { // Set the layout shift exclusion window for the zoom level change. if (LocalFrameView* view = document->View()) { -@@ -3425,6 +3446,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr layer) { +@@ -3434,6 +3455,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr layer) { // be needed in setting the raster scale. SetPageScaleStateAndLimits(1.f, false /* is_pinch_gesture_active */, View()->MinimumPageScaleFactor(), @@ -1843,7 +1843,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th View()->MaximumPageScaleFactor()); } -@@ -4810,9 +4832,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( +@@ -4819,9 +4841,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1855,7 +1855,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th // Only propagate page scale from the main frame. if (ForMainFrame()) { -@@ -4936,7 +4959,10 @@ void WebFrameWidgetImpl::OrientationChanged() { +@@ -4945,7 +4968,10 @@ void WebFrameWidgetImpl::OrientationChanged() { void WebFrameWidgetImpl::DidUpdateSurfaceAndScreen( const display::ScreenInfos& previous_original_screen_infos) { display::ScreenInfo screen_info = widget_base_->GetScreenInfo(); @@ -1867,7 +1867,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (ShouldAutoDetermineCompositingToLCDTextSetting()) { // This causes compositing state to be modified which dirties the -@@ -5135,7 +5161,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { +@@ -5144,7 +5170,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { if (!device_scale_factor_for_testing_) { non_testing_device_scale_factor_ = @@ -1879,7 +1879,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h -@@ -660,6 +660,7 @@ class CORE_EXPORT WebFrameWidgetImpl +@@ -659,6 +659,7 @@ class CORE_EXPORT WebFrameWidgetImpl void SetPageScaleStateAndLimits(float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1922,7 +1922,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_party/blink/renderer/core/input/event_handler.cc --- a/third_party/blink/renderer/core/input/event_handler.cc +++ b/third_party/blink/renderer/core/input/event_handler.cc -@@ -2103,7 +2103,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( +@@ -2139,7 +2139,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( hit_test_result); } @@ -1947,7 +1947,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -1289,6 +1289,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { +@@ -1290,6 +1290,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { || disable_screen_emulated_) { isEnabled = false; } @@ -1973,7 +1973,7 @@ diff --git a/third_party/blink/renderer/core/page/viewport_description.cc b/thir diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -462,16 +462,17 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -463,16 +463,17 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( } } @@ -1996,7 +1996,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -6164,6 +6164,10 @@ +@@ -6312,6 +6312,10 @@ // If enabled, the `getDisplayMedia()` family of APIs will ask for NV12 // frames, which should trigger a zero-copy path in the tab capture code. name: "ZeroCopyTabCapture", @@ -2019,7 +2019,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox #include "third_party/blink/renderer/platform/widget/input/compositor_thread_event_queue.h" #include "third_party/blink/renderer/platform/widget/input/cursor_control_handler.h" #include "third_party/blink/renderer/platform/widget/input/elastic_overscroll_controller.h" -@@ -62,6 +63,20 @@ constexpr unsigned int kStylusWritingHitTestRadius = 20; +@@ -57,6 +58,20 @@ namespace { using ::perfetto::protos::pbzero::ChromeLatencyInfo2; using ::perfetto::protos::pbzero::TrackEvent; @@ -2040,7 +2040,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox cc::ScrollStateData CreateScrollStateDataForGesture( const WebGestureEvent& event) { cc::ScrollStateData scroll_state_data; -@@ -70,8 +85,8 @@ cc::ScrollStateData CreateScrollStateDataForGesture( +@@ -65,8 +80,8 @@ cc::ScrollStateData CreateScrollStateDataForGesture( } switch (event.GetType()) { case WebInputEvent::Type::kGestureScrollBegin: @@ -2051,7 +2051,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; scroll_state_data.delta_y_hint = -event.data.scroll_begin.delta_y_hint; scroll_state_data.is_beginning = true; -@@ -897,7 +912,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -888,7 +903,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( const WebGestureEvent& gesture_event = static_cast(event); input_handler_->PinchGestureBegin( @@ -2060,7 +2060,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox GestureScrollInputType(gesture_event.SourceDevice())); gesture_pinch_in_progress_ = true; return DID_HANDLE; -@@ -909,7 +924,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -900,7 +915,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( const WebGestureEvent& gesture_event = static_cast(event); input_handler_->PinchGestureEnd( @@ -2069,7 +2069,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_HANDLE; } -@@ -919,7 +934,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -910,7 +925,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( static_cast(event); input_handler_->PinchGestureUpdate( gesture_event.data.pinch_update.scale, @@ -2078,7 +2078,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_HANDLE; } -@@ -942,7 +957,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -933,7 +948,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( // TODO(arakeri): Pass in the modifier instead of a bool once the // refactor (crbug.com/1022097) is done. For details, see // crbug.com/1016955. @@ -2087,7 +2087,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox } return DID_NOT_HANDLE; -@@ -953,7 +968,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -944,7 +959,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( static_cast(event); CHECK(input_handler_); if (mouse_event.button == WebMouseEvent::Button::kLeft) @@ -2096,7 +2096,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return DID_NOT_HANDLE; } case WebInputEvent::Type::kMouseMove: { -@@ -968,7 +983,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( +@@ -959,7 +974,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler( (mouse_event.button == WebPointerProperties::Button::kNoButton && !(mouse_event.GetModifiers() & WebInputEvent::Modifiers::kRelativeMotionEvent)); @@ -2105,7 +2105,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox should_cancel_scrollbar_drag); return DID_NOT_HANDLE; } -@@ -1007,12 +1022,14 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( +@@ -998,12 +1013,14 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( // to check pointer lock state gfx::PointF point = static_cast(event).PositionInWidget(); @@ -2120,7 +2120,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox return WebInputEventAttribution( WebInputEventAttribution::kTargetedFrame, input_handler_->FindFrameElementIdAtPoint(point)); -@@ -1027,6 +1044,7 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( +@@ -1018,6 +1035,7 @@ WebInputEventAttribution InputHandlerProxy::PerformEventAttribution( // how the renderer host performs touch event dispatch. // https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_input_event_router.cc?l=808&rcl=10fe9d0a725d4ed7b69266a5936c525f0a5b26d3 gfx::PointF point = touch_event.touches[0].PositionInWidget(); @@ -2128,7 +2128,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox const cc::ElementId targeted_element = input_handler_->FindFrameElementIdAtPoint(point); -@@ -1128,7 +1146,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( +@@ -1119,7 +1137,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( } } @@ -2137,7 +2137,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox if (input_handler_->HasBlockingWheelEventHandlerAt( gfx::Point(position_in_widget.x(), position_in_widget.y()))) { result = DID_NOT_HANDLE; -@@ -1310,7 +1328,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( +@@ -1303,7 +1321,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( scroll_data->set_unused_delta_y(scroll_result.unused_scroll_delta.y()); }); @@ -2146,7 +2146,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox gesture_event.SourceDevice()); if (elastic_overscroll_controller_) { -@@ -1403,8 +1421,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( +@@ -1396,8 +1414,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( } cc::TouchAction touch_action = cc::TouchAction::kAuto; @@ -2157,7 +2157,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox // TODO(crbug.com/355578906): This is just some rough math for now. The main // thread counterpart is AdjustPointerEvent. The buffer math on the main and // cc thread(s) need to match. -@@ -1519,7 +1537,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( +@@ -1512,7 +1530,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( touch_event.touches_length == 1) { DCHECK(touch_event.touches[0].state == WebTouchPoint::State::kStatePressed); cc::InputHandlerPointerResult pointer_result = HandlePointerDown( @@ -2166,7 +2166,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) { client_->SetAllowedTouchAction(allowed_touch_action); return DID_HANDLE; -@@ -1582,7 +1600,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( +@@ -1575,7 +1593,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( touch_event.touch_start_or_first_touch_move); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerMove( @@ -2175,7 +2175,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox false /* should_cancel_scrollbar_drag */); if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) { return DID_HANDLE; -@@ -1625,7 +1643,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( +@@ -1618,7 +1636,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( touch_event.touches_length); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerUp( @@ -2187,7 +2187,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc --- a/third_party/blink/renderer/platform/widget/widget_base.cc +++ b/third_party/blink/renderer/platform/widget/widget_base.cc -@@ -1685,7 +1685,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) { +@@ -1682,7 +1682,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) { client_->ScheduleAnimation(/*urgent=*/urgent_for_input); } @@ -2198,7 +2198,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p return client_->GetOriginalScreenInfos().current().device_scale_factor; } -@@ -1719,7 +1721,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo( +@@ -1716,7 +1718,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo( // Note carefully that the DSF specified in |new_screen_info| is not the // DSF used by the compositor during device emulation! LayerTreeHost()->SetViewportRectAndScale(compositor_viewport_pixel_rect, @@ -2207,7 +2207,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p local_surface_id_from_parent_); // The VisualDeviceViewportIntersectionRect derives from the LayerTreeView's // viewport size, which is set above. -@@ -1849,56 +1851,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) { +@@ -1846,56 +1848,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) { gfx::PointF WidgetBase::DIPsToBlinkSpace(const gfx::PointF& point) { // TODO(danakj): Should this use non-original scale factor so it changes under // emulation? @@ -2277,7 +2277,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p diff --git a/third_party/blink/renderer/platform/widget/widget_base.h b/third_party/blink/renderer/platform/widget/widget_base.h --- a/third_party/blink/renderer/platform/widget/widget_base.h +++ b/third_party/blink/renderer/platform/widget/widget_base.h -@@ -405,7 +405,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget, +@@ -406,7 +406,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget, void OnDevToolsSessionConnectionChanged(bool attached); // Helper to get the non-emulated device scale factor. @@ -2297,11 +2297,11 @@ diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_f +void DelegatedFrameHostAndroid::CopyFromCompositingSurface( // POI const gfx::Rect& src_subrect, const gfx::Size& output_size, - base::OnceCallback callback, + base::TimeDelta timeout, diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc --- a/ui/android/event_forwarder.cc +++ b/ui/android/event_forwarder.cc -@@ -137,7 +137,7 @@ jboolean EventForwarder::OnTouchEvent(JNIEnv* env, +@@ -137,7 +137,7 @@ bool EventForwarder::OnTouchEvent(JNIEnv* env, JNI_MotionEvent::Java_MotionEvent_getDownTime(env, motion_event)); auto event = ui::MotionEventAndroidFactory::CreateFromJava( env, /*event=*/motion_event, @@ -2320,24 +2320,24 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc /*ticks_y=*/0.f, /*tick_multiplier=*/0.f, @@ -225,7 +225,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env, - const JavaParamRef& j_text, - const JavaParamRef& j_html, - const JavaParamRef& j_url) { + const JavaRef& j_text, + const JavaRef& j_html, + const JavaRef& j_url) { - float dip_scale = view_->GetDipScale(); + float dip_scale = view_->GetDipScaleFactor(); gfx::PointF location(x / dip_scale, y / dip_scale); gfx::PointF root_location(screen_x / dip_scale, screen_y / dip_scale); std::vector mime_types; -@@ -240,7 +240,7 @@ jboolean EventForwarder::OnGestureEvent(JNIEnv* env, - jint type, - jlong time_ms, - jfloat scale) { +@@ -240,7 +240,7 @@ bool EventForwarder::OnGestureEvent(JNIEnv* env, + jint type, + jlong time_ms, + jfloat scale) { - float dip_scale = view_->GetDipScale(); + float dip_scale = view_->GetDipScaleFactor(); auto size = view_->GetSizeDIPs(); float x = size.width() / 2; float y = size.height() / 2; -@@ -271,7 +271,7 @@ jboolean EventForwarder::OnGenericMotionEvent( +@@ -270,7 +270,7 @@ bool EventForwarder::OnGenericMotionEvent(JNIEnv* env, base::TimeTicks down_time = base::TimeTicks::FromUptimeMillis(down_time_ms); auto event = ui::MotionEventAndroidFactory::CreateFromJava( env, /*event=*/motion_event, @@ -2346,7 +2346,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc /*ticks_x=*/0.f, /*ticks_y=*/0.f, /*tick_multiplier=*/0.f, -@@ -360,7 +360,7 @@ void EventForwarder::DoubleTap(JNIEnv* env, +@@ -357,7 +357,7 @@ void EventForwarder::DoubleTap(JNIEnv* env, jlong time_ms, jint x, jint y) { @@ -2355,7 +2355,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc view_->OnGestureEvent(GestureEventAndroid( GESTURE_EVENT_TYPE_DOUBLE_TAP, gfx::PointF(x / dip_scale, y / dip_scale), gfx::PointF(), time_ms, ui::GestureDeviceType::DEVICE_TOUCHSCREEN, 0, 0, -@@ -379,7 +379,7 @@ void EventForwarder::StartFling(JNIEnv* env, +@@ -376,7 +376,7 @@ void EventForwarder::StartFling(JNIEnv* env, if (velocity_x == 0 && velocity_y == 0) return; @@ -2367,9 +2367,9 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc diff --git a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java b/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java --- a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java +++ b/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java -@@ -66,6 +66,12 @@ public class UiAndroidFeatureList { - UiAndroidFeatures.ANDROID_TOUCHPAD_OVERSCROLL_HISTORY_NAVIGATION, - /* defaultValue= */ true); +@@ -64,6 +64,12 @@ public class UiAndroidFeatureList { + newMutableFlagWithSafeDefault( + UiAndroidFeatures.ANDROID_HISTORY_PANE_FAVICONS, /* defaultValue= */ false); + public static final CachedFlag sPixelPerfect = + newCachedFlag( @@ -2379,7 +2379,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/UiAndroidFeatureList.java + public static final List sFlagsCachedUiAndroid = List.of( - sAndroidUseCorrectWindowBounds, + sAndroidUseDisplayTopology, diff --git a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java b/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java --- a/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java +++ b/ui/android/java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java diff --git a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch index dc5f2e51..24ef4383 100644 --- a/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch +++ b/build/patches/Android-Toolbar-Scroll-Ablation-setting.patch @@ -18,15 +18,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java -@@ -41,6 +41,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro - private final ObservableSupplier mPersistentFullscreenMode; +@@ -40,6 +40,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro + private final NonNullObservableSupplier mPersistentFullscreenMode; private long mCurrentShowingStartTime; + private int temporaryToken; /** - * Constructs a BrowserControlsVisibilityDelegate designed to deal with overrides driven by -@@ -66,7 +67,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro + * Constructs a BrowserControlsVisibilityDelegate designed to deal with overrides driven by the +@@ -64,7 +65,8 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro long currentShowingTime = SystemClock.uptimeMillis() - mCurrentShowingStartTime; if (currentShowingTime >= MINIMUM_SHOW_DURATION_MS) return; diff --git a/build/patches/Android-fonts-fingerprinting-mitigation.patch b/build/patches/Android-fonts-fingerprinting-mitigation.patch index 11cb2404..a8d9ab7d 100644 --- a/build/patches/Android-fonts-fingerprinting-mitigation.patch +++ b/build/patches/Android-fonts-fingerprinting-mitigation.patch @@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java --- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java +++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java -@@ -933,6 +933,9 @@ public final class ProductionSupportedFlagList { +@@ -929,6 +929,9 @@ public final class ProductionSupportedFlagList { "Hides user preference on the system keyboard by setting the standard " + "eng layout and removing the layout information from the " + "javascript keyboard events."), @@ -99,12 +99,12 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and diff --git a/build/config/freetype/freetype.gni b/build/config/freetype/freetype.gni --- a/build/config/freetype/freetype.gni +++ b/build/config/freetype/freetype.gni -@@ -26,5 +26,5 @@ declare_args() { - # https://crbug.com/370816215 - # - # Note: //build should not import directly from //pdf for layering reasons. -- enable_freetype = !is_android && !is_ios && (is_linux || !is_castos) -+ enable_freetype = is_android || (!is_ios && (is_linux || !is_castos)) +@@ -24,5 +24,5 @@ declare_args() { + # This should be kept in sync with the value of `enable_pdf` in + # //pdf/features.gni, but for layering reasons, + # we can't import pdf's features.gni here. +- enable_freetype = !is_android && !is_ios && !is_castos && !is_fuchsia ++ enable_freetype = is_android || (!is_ios && !is_castos && !is_fuchsia) } diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/android/java/res/xml/developer_preferences.xml --- a/chrome/android/java/res/xml/developer_preferences.xml @@ -122,7 +122,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -8012,6 +8012,13 @@ static_library("browser") { +@@ -7997,6 +7997,13 @@ static_library("browser") { ] } @@ -139,7 +139,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc --- a/chrome/browser/component_updater/registration.cc +++ b/chrome/browser/component_updater/registration.cc -@@ -115,10 +115,20 @@ +@@ -111,10 +111,20 @@ #include "chrome/browser/component_updater/file_type_policies_component_installer.h" #endif @@ -203,7 +203,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -266,6 +266,10 @@ static_library("renderer") { +@@ -267,6 +267,10 @@ static_library("renderer") { deps += [ "//components/strings" ] } @@ -667,7 +667,7 @@ diff --git a/components/services/font/public/mojom/font_service.mojom b/componen diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -2608,6 +2608,17 @@ source_set("browser") { +@@ -2602,6 +2602,17 @@ source_set("browser") { ] } @@ -685,7 +685,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn if (is_linux || is_chromeos) { sources -= [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ] -@@ -2654,6 +2665,13 @@ source_set("browser") { +@@ -2648,6 +2659,13 @@ source_set("browser") { deps += [ "//components/services/font_data:lib" ] } @@ -902,7 +902,7 @@ new file mode 100644 diff --git a/skia/BUILD.gn b/skia/BUILD.gn --- a/skia/BUILD.gn +++ b/skia/BUILD.gn -@@ -449,6 +449,18 @@ component("skia") { +@@ -443,6 +443,18 @@ component("skia") { sources += skia_ports_fci_sources } @@ -924,7 +924,7 @@ diff --git a/skia/BUILD.gn b/skia/BUILD.gn diff --git a/skia/ext/font_utils.cc b/skia/ext/font_utils.cc --- a/skia/ext/font_utils.cc +++ b/skia/ext/font_utils.cc -@@ -59,6 +59,7 @@ SkFontMgr* g_fontmgr_override = nullptr; +@@ -60,6 +60,7 @@ SkFontMgr* g_fontmgr_override = nullptr; #if BUILDFLAG(IS_ANDROID) // https://crbug.com/461659286 Failure to create any font causes crash. BASE_FEATURE(kUseAndroidNDKFontAPI, base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index 961f250c..661223f0 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -33,10 +33,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../tabwindow/TabWindowManagerImpl.java | 10 ++ .../Ask-for-restart-on-connection-change.grdp | 15 +++ .../java/res/layout/floating_snackbar.xml | 10 ++ - .../android/java/res/layout/snackbar.xml | 10 ++ .../ui/messages/snackbar/Snackbar.java | 16 +++ .../ui/messages/snackbar/SnackbarManager.java | 6 + - .../ui/messages/snackbar/SnackbarView.java | 13 +- + .../ui/messages/snackbar/SnackbarView.java | 10 ++ .../web_contents/web_contents_android.cc | 16 +++ .../web_contents/web_contents_android.h | 1 + .../browser/web_contents/web_contents_impl.cc | 2 + @@ -50,7 +49,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../blink/renderer/core/frame/local_frame.cc | 2 + .../main_thread/frame_scheduler_impl.cc | 2 + .../main_thread/page_scheduler_impl.cc | 9 +- - 30 files changed, 332 insertions(+), 10 deletions(-) + 29 files changed, 320 insertions(+), 9 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sAskForRestartOnConnectionChange.java create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Ask-for-restart-on-connection-change.inc @@ -284,7 +283,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1525,7 +1525,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1534,7 +1534,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -299,7 +298,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java -@@ -200,6 +200,13 @@ public abstract class TabModelSelectorBase +@@ -207,6 +207,13 @@ public abstract class TabModelSelectorBase return null; } @@ -353,7 +352,7 @@ new file mode 100644 diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java --- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java +++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java -@@ -150,6 +150,8 @@ public interface TabModelSelector { +@@ -146,6 +146,8 @@ public interface TabModelSelector { /** Get total pinned tab count across all tab models */ int getTotalPinnedTabCount(); @@ -419,7 +418,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java --- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java +++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java -@@ -568,6 +568,16 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -567,6 +567,16 @@ public class TabWindowManagerImpl implements TabWindowManager { return tabGroupModelFilter.getTabsInGroup(tabGroupId); } @@ -475,29 +474,10 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/floating_snackba + style="@style/TextButton" /> -diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml ---- a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml -+++ b/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml -@@ -82,5 +82,15 @@ found in the LICENSE file. - android:paddingEnd="@dimen/snackbar_button_padding" - android:paddingStart="@dimen/snackbar_button_padding" - style="@style/TextButton" /> -+ -+ - - diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java -@@ -140,6 +140,8 @@ public class Snackbar { +@@ -141,6 +141,8 @@ public class Snackbar { private @Nullable String mTemplateText; private @Nullable String mActionText; private @Nullable Object mActionData; @@ -506,7 +486,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro private int mBackgroundColor; private int mTextApperanceResId; private boolean mDefaultLines = true; -@@ -246,6 +248,20 @@ public class Snackbar { +@@ -247,6 +249,20 @@ public class Snackbar { return this; } @@ -530,7 +510,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java -@@ -348,6 +348,12 @@ public class SnackbarManager +@@ -341,6 +341,12 @@ public class SnackbarManager new SnackbarView( mActivity, this, @@ -546,15 +526,15 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java -@@ -55,6 +55,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -51,6 +51,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { protected final ViewGroup mSnackbarView; protected final TemplatePreservingTextView mMessageView; private final TextView mActionButtonView; + private final TextView mDismissButtonView; private final ImageView mProfileImageView; private final int mAnimationDuration; - private final boolean mIsTablet; -@@ -100,11 +101,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { + private final ViewGroup mOriginalParent; +@@ -97,6 +98,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { public SnackbarView( Activity activity, SnackbarManager manager, @@ -562,30 +542,16 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro Snackbar snackbar, ViewGroup parentView, @Nullable WindowAndroid windowAndroid, - boolean isTablet) { -- this(activity, manager, snackbar, parentView, windowAndroid, null, isTablet); -+ this(activity, manager, dismissListener, snackbar, parentView, windowAndroid, null, isTablet); - } - - /** -@@ -122,6 +124,7 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { - public SnackbarView( - Activity activity, - SnackbarManager manager, -+ OnClickListener dismissListener, - Snackbar snackbar, - ViewGroup parentView, - @Nullable WindowAndroid windowAndroid, -@@ -158,6 +161,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -128,6 +130,8 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { (TemplatePreservingTextView) mContainerView.findViewById(R.id.snackbar_message); mActionButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_button); mActionButtonView.setOnClickListener(manager); + mDismissButtonView = (TextView) mContainerView.findViewById(R.id.snackbar_dismiss); + mDismissButtonView.setOnClickListener(dismissListener); mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image); - mEdgeToEdgeSupplier = edgeToEdgeSupplier; - // TODO(crbug.com/451807932): Replace with a custom pad adjuster to account for inset -@@ -434,6 +439,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { + // Add bottom margin to extend the snackbar view into the bottom window inset. This + // margin has to be applied to the snackbar view itself to avoid weird visual clipping +@@ -343,6 +347,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { mActionButtonView.setVisibility(View.VISIBLE); mActionButtonView.setContentDescription(snackbar.getActionText()); setViewText(mActionButtonView, snackbar.getActionText(), animate); @@ -601,7 +567,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc -@@ -911,6 +911,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) { +@@ -908,6 +908,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) { view->SetFocus(focused); } @@ -627,10 +593,10 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h -@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -198,6 +198,7 @@ class CONTENT_EXPORT WebContentsAndroid { void OnScaleFactorChanged(JNIEnv* env); - void SetFocus(JNIEnv* env, jboolean focused); + void SetFocus(JNIEnv* env, bool focused); + void SetPageFrozen(JNIEnv* env, jboolean frozen); bool IsBeingDestroyed(JNIEnv* env); @@ -638,7 +604,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4096,8 +4096,10 @@ void WebContentsImpl::Stop() { +@@ -4108,8 +4108,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -734,7 +700,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -4665,6 +4665,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4659,6 +4659,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -745,7 +711,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -3321,6 +3321,7 @@ void LocalFrame::DidFreeze() { +@@ -3311,6 +3311,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -753,7 +719,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3335,6 +3336,7 @@ void LocalFrame::DidResume() { +@@ -3325,6 +3326,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index 02c35542..8e178b31 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -88,7 +88,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc -@@ -20,6 +20,7 @@ +@@ -21,6 +21,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/mediastream/media_devices.h" #include "third_party/blink/public/platform/browser_interface_broker_proxy.h" @@ -96,7 +96,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir #include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h" #include "third_party/blink/public/platform/web_audio_latency_hint.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h" -@@ -921,7 +922,9 @@ double AudioContext::baseLatency() const { +@@ -969,7 +970,9 @@ double AudioContext::baseLatency() const { DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_); DCHECK(destination()); @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b #include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h" #include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h" #include "third_party/blink/public/platform/platform.h" -@@ -777,6 +778,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { +@@ -776,6 +777,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const { return To(GetExecutionContext()); } @@ -151,7 +151,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc --- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc -@@ -395,6 +395,7 @@ void OfflineAudioContext::FireCompletionEvent() { +@@ -412,6 +412,7 @@ void OfflineAudioContext::FireCompletionEvent() { if (!rendered_buffer) { return; } @@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -639,9 +639,8 @@ +@@ -643,9 +643,8 @@ { // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 diff --git a/build/patches/Battery-API-return-nothing.patch b/build/patches/Battery-API-return-nothing.patch index 04930f62..9e074294 100644 --- a/build/patches/Battery-API-return-nothing.patch +++ b/build/patches/Battery-API-return-nothing.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc --- a/third_party/blink/renderer/modules/battery/battery_manager.cc +++ b/third_party/blink/renderer/modules/battery/battery_manager.cc -@@ -77,46 +77,28 @@ ScriptPromise BatteryManager::StartRequest( +@@ -80,46 +80,28 @@ ScriptPromise BatteryManager::StartRequest( } bool BatteryManager::charging() { diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index 6af1d50f..59cb3cd5 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -425,6 +425,7 @@ class CORE_EXPORT ExecutionContext : public MojoBindingContext, +@@ -387,6 +387,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable, void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space); HeapObserverList& ContextLifecycleObserverSet(); @@ -45,7 +45,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -1122,6 +1122,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -1133,6 +1133,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } @@ -75,7 +75,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h -@@ -191,6 +191,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -192,6 +192,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; std::unique_ptr CreateWebSocketHandshakeThrottle() override; @@ -93,8 +93,8 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th +#include "third_party/blink/renderer/platform/network/network_utils.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h" #include "third_party/blink/renderer/platform/scheduler/public/virtual_time_controller.h" - #include "third_party/blink/renderer/platform/weborigin/security_policy.h" -@@ -89,6 +90,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { + #include "third_party/blink/renderer/platform/supplementable.h" +@@ -90,6 +91,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { return should_block_request; } diff --git a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch index 955560d4..46b6d3d0 100644 --- a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch +++ b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch @@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -5158,7 +5158,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -5239,7 +5239,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( } void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) { @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return referrer_; } -@@ -2913,6 +2918,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2917,6 +2922,13 @@ void DocumentLoader::CommitNavigation() { response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly)); } diff --git a/build/patches/Bookmarks-select-all-menu-entry.patch b/build/patches/Bookmarks-select-all-menu-entry.patch index ed2ec5a5..aece8524 100644 --- a/build/patches/Bookmarks-select-all-menu-entry.patch +++ b/build/patches/Bookmarks-select-all-menu-entry.patch @@ -39,7 +39,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** * Main toolbar of bookmark UI. It is responsible for displaying title and buttons associated with -@@ -190,6 +191,11 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -197,6 +198,11 @@ public class BookmarkToolbar extends SelectableListToolbar void setCurrentFolder(BookmarkId folder) { mCurrentFolder = mBookmarkModel.getBookmarkById(folder); enableImportExportMenu(); @@ -51,7 +51,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows } void enableImportExportMenu() { -@@ -226,6 +232,17 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -233,6 +239,17 @@ public class BookmarkToolbar extends SelectableListToolbar mExportBookmarkRunnable.run(); return true; } @@ -69,7 +69,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows return assumeNonNull(mMenuIdClickedFunction).apply(menuItem.getItemId()); } -@@ -248,6 +265,7 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -255,6 +272,7 @@ public class BookmarkToolbar extends SelectableListToolbar getMenu().findItem(R.id.import_menu_id).setVisible(mCurrentFolder != null); getMenu().findItem(R.id.export_menu_id).setVisible(mCurrentFolder != null); @@ -80,7 +80,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -264,6 +264,9 @@ CHAR_LIMIT guidelines: +@@ -267,6 +267,9 @@ CHAR_LIMIT guidelines: Sites diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 29c8a0c2..c5ba2ec6 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -79,7 +79,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -1959,6 +1959,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1963,6 +1963,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -92,7 +92,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -871,6 +871,8 @@ chrome_java_sources = [ +@@ -880,6 +880,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/omaha/OmahaBase.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java", "java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java", @@ -144,9 +144,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ private static final String PREF_OS_VERSION = "os_version"; private static final String PREF_LEGAL_INFORMATION = "legal_information"; -@@ -78,6 +84,13 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment - assumeNonNull(p); - int currentYear = CalendarFactory.get().get(Calendar.YEAR); +@@ -80,6 +86,13 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment + calendar.setTimeInMillis(System.currentTimeMillis()); + int currentYear = calendar.get(Calendar.YEAR); p.setSummary(getString(R.string.legal_information_summary, currentYear)); + + ChromeSwitchPreference allowInlineUpdate = @@ -158,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/ } @Override -@@ -148,6 +161,19 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment +@@ -150,6 +163,19 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment return true; } @@ -690,7 +690,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2652,6 +2652,12 @@ static_library("browser") { +@@ -2614,6 +2614,12 @@ static_library("browser") { } if (is_android) { @@ -1008,7 +1008,7 @@ new file mode 100644 diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -387,6 +387,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -383,6 +383,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kProtectedTabsAndroid, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, @@ -1019,18 +1019,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -477,6 +477,7 @@ public abstract class ChromeFeatureList { +@@ -463,6 +463,7 @@ public abstract class ChromeFeatureList { public static final String INCOGNITO_NTP_SMALL_ICON = "IncognitoNtpSmallIcon"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; public static final String INCOGNITO_THEME_OVERLAY_TESTING = "IncognitoThemeOverlayTesting"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; public static final String INSTANCE_SWITCHER_V2 = "InstanceSwitcherV2"; - public static final String IP_PROTECTION_UX = "IpProtectionUx"; public static final String KEYBOARD_ESC_BACK_NAVIGATION = "KeyboardEscBackNavigation"; + public static final String LAUNCH_CAUSE_SCREEN_OFF_FIX = "LaunchCauseScreenOffFix"; diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc --- a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc +++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc -@@ -264,7 +264,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher( +@@ -265,7 +265,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher( .SetTimeout(kTimeout) .SetUrl(GURL(base::StrCat({GetDiscoveryUrl(), "/", access_code}))) .SetPostData(kEmptyPostData) @@ -1621,7 +1621,7 @@ diff --git a/chrome/browser/save_to_drive/drive_uploader.cc b/chrome/browser/sav diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2315,6 +2315,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2313,6 +2313,12 @@ Your Google account may have other forms of browsing history like searches and a Chrome updates are no longer supported for this version of Android @@ -1634,7 +1634,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4366,7 +4372,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4389,7 +4395,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1646,7 +1646,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4377,6 +4386,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4400,6 +4409,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1668,7 +1668,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/browser/ui/lens/lens_overlay_query_controller.cc --- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc +++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc -@@ -770,7 +770,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -768,7 +768,7 @@ LensOverlayQueryController::CreateEndpointFetcher( .SetTimeout(timeout) .SetUrl(fetch_url) .SetUploadProgressCallback(std::move(upload_progress_callback)) @@ -1728,7 +1728,7 @@ diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.c diff --git a/components/contextual_search/internal/composebox_query_controller.cc b/components/contextual_search/internal/composebox_query_controller.cc --- a/components/contextual_search/internal/composebox_query_controller.cc +++ b/components/contextual_search/internal/composebox_query_controller.cc -@@ -777,7 +777,7 @@ ComposeboxQueryController::CreateEndpointFetcher( +@@ -784,7 +784,7 @@ ComposeboxQueryController::CreateEndpointFetcher( .SetTimeout(timeout) .SetUploadProgressCallback(std::move(upload_progress_callback)) .SetUrl(fetch_url) @@ -1973,7 +1973,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h --- a/components/endpoint_fetcher/endpoint_fetcher.h +++ b/components/endpoint_fetcher/endpoint_fetcher.h -@@ -20,6 +20,9 @@ +@@ -19,6 +19,9 @@ #include "services/network/public/mojom/fetch_api.mojom-forward.h" #include "url/gurl.h" @@ -1983,7 +1983,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin namespace base { class TimeDelta; } // namespace base -@@ -61,6 +64,7 @@ enum class HttpMethod { +@@ -60,6 +63,7 @@ enum class HttpMethod { kPost = 1, kDelete = 2, kPut = 3, @@ -1991,7 +1991,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin }; enum AuthType { -@@ -79,6 +83,8 @@ struct EndpointResponse { +@@ -78,6 +82,8 @@ struct EndpointResponse { ~EndpointResponse(); std::string response; @@ -2000,7 +2000,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin int http_status_code{-1}; std::optional error_type; scoped_refptr headers; -@@ -301,7 +307,16 @@ class EndpointFetcher { +@@ -300,7 +306,16 @@ class EndpointFetcher { EndpointFetcher( const scoped_refptr& url_loader_factory, signin::IdentityManager* identity_manager, @@ -2018,7 +2018,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin EndpointFetcher(const EndpointFetcher& endpoint_fetcher) = delete; EndpointFetcher& operator=(const EndpointFetcher& endpoint_fetcher) = delete; -@@ -334,11 +349,17 @@ class EndpointFetcher { +@@ -333,11 +348,17 @@ class EndpointFetcher { void OnResponseFetched(EndpointFetcherCallback callback, std::optional response_body); @@ -2036,7 +2036,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // Members set in constructor const scoped_refptr url_loader_factory_; -@@ -349,6 +370,8 @@ class EndpointFetcher { +@@ -348,6 +369,8 @@ class EndpointFetcher { // SingleClientSharedTabGroupVersioningSyncTest.ShouldShowVersioningMessagesAfterRestart/kSyncTransportOnly const raw_ptr identity_manager_; @@ -2045,7 +2045,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin // The complete definition of the specific network request to be performed. // Contains authentication details and response handling preferences. const RequestParams request_params_; -@@ -358,6 +381,9 @@ class EndpointFetcher { +@@ -357,6 +380,9 @@ class EndpointFetcher { access_token_fetcher_; std::unique_ptr simple_url_loader_; diff --git a/build/patches/Bromite-package-name.patch b/build/patches/Bromite-package-name.patch index 3b5387ab..a8382e66 100644 --- a/build/patches/Bromite-package-name.patch +++ b/build/patches/Bromite-package-name.patch @@ -10,10 +10,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -27,7 +27,7 @@ declare_args() { - # WebView providers which declare one of a handful of package names. See - # https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Changing-package-name - # for details. +@@ -23,7 +23,7 @@ declare_args() { + # Android package name to use when compiling the public chrome targets + # (chrome_public_apk, trichrome_chrome_bundle, etc. as well as the + # *_bundle variants). This defaults to the Chromium browser package name. - chrome_public_manifest_package = "org.chromium.chrome" + chrome_public_manifest_package = "org.bromite.bromite" if (use_stable_package_name_for_trichrome) { diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index a79c6589..c66baf50 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -43,8 +43,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../component_updater/download_filters_task.h | 129 ++++++++ ...ent_subresource_filter_throttle_manager.cc | 15 + ...tent_subresource_filter_throttle_manager.h | 2 + - .../content/shared/browser/ruleset_service.cc | 44 ++- - .../content/shared/browser/ruleset_service.h | 8 +- + .../content/browser/ruleset_service.cc | 44 ++- + .../content/browser/ruleset_service.h | 8 +- .../unindexed_ruleset_stream_generator.cc | 3 + .../core/browser/ruleset_version.h | 4 + .../browser/subresource_filter_features.cc | 118 +------- @@ -65,7 +65,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -302,6 +302,7 @@ if (_is_default_toolchain) { +@@ -303,6 +303,7 @@ if (_is_default_toolchain) { "//chrome/android/features/tab_ui/public:ui_java_resources", "//chrome/android/modules/stack_unwinder/provider:java", "//chrome/android/webapk/libs/client:client_java", @@ -76,7 +76,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -453,6 +453,7 @@ chrome_java_resources = [ +@@ -431,6 +431,7 @@ chrome_java_resources = [ "java/res/layout/account_management_account_row.xml", "java/res/layout/app_history_filter.xml", "java/res/layout/auto_pip_permission_dialog.xml", @@ -84,7 +84,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/auto_sign_in_first_run_dialog.xml", "java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_card_name_and_number.xml", -@@ -658,6 +659,7 @@ chrome_java_resources = [ +@@ -633,6 +634,7 @@ chrome_java_resources = [ "java/res/xml/account_management_preferences.xml", "java/res/xml/ad_services_config.xml", "java/res/xml/appearance_preferences.xml", @@ -95,7 +95,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -942,6 +942,8 @@ chrome_java_sources = [ +@@ -951,6 +951,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", @@ -179,7 +179,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml --- a/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml -@@ -331,6 +331,24 @@ found in the LICENSE file. +@@ -339,6 +339,24 @@ found in the LICENSE file. @@ -251,7 +251,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -111,6 +111,11 @@ found in the LICENSE file. +@@ -107,6 +107,11 @@ found in the LICENSE file. android:key="toolbar_shortcut" android:order="21" android:title="@string/toolbar_shortcut"/> @@ -441,7 +441,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -95,6 +95,8 @@ import java.util.HashMap; +@@ -94,6 +94,8 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -450,7 +450,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin /** * The Chrome settings activity. * -@@ -1175,6 +1177,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -1157,6 +1159,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity && !MAIN_FRAGMENT_TAG.equals(fragment.getTag())) { return; } @@ -461,7 +461,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -17395,6 +17395,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -17471,6 +17471,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -510,7 +510,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h class BackgroundModeManager; class BrowserProcessPlatformPart; -@@ -88,6 +89,10 @@ namespace component_updater { +@@ -96,6 +97,10 @@ namespace component_updater { class ComponentUpdateService; } @@ -521,18 +521,18 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h namespace gcm { class GCMDriver; } -@@ -276,6 +281,7 @@ class BrowserProcess { - #endif +@@ -294,6 +299,7 @@ class BrowserProcess { + virtual activity_reporter::ActivityReporter* activity_reporter() = 0; virtual component_updater::ComponentUpdateService* component_updater() = 0; + virtual adblock_updater::AdBlockUpdaterService* adblock_updater() = 0; + #if BUILDFLAG(IS_CHROMEOS) virtual MediaFileSystemRegistry* media_file_system_registry() = 0; - diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1284,6 +1284,34 @@ BrowserProcessImpl::component_updater() { +@@ -1345,6 +1345,34 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -565,20 +565,20 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro +} + void BrowserProcessImpl::OnKeepAliveStateChanged(bool is_keeping_alive) { - if (is_keeping_alive) + if (is_keeping_alive) { Pin(); diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h -@@ -213,6 +213,7 @@ class BrowserProcessImpl : public BrowserProcess, - #endif +@@ -220,6 +220,7 @@ class BrowserProcessImpl : public BrowserProcess, + activity_reporter::ActivityReporter* activity_reporter() override; component_updater::ComponentUpdateService* component_updater() override; + adblock_updater::AdBlockUpdaterService* adblock_updater() override; + #if BUILDFLAG(IS_CHROMEOS) MediaFileSystemRegistry* media_file_system_registry() override; - WebRtcLogUploader* webrtc_log_uploader() override; - network_time::NetworkTimeTracker* network_time_tracker() override; -@@ -426,6 +427,7 @@ class BrowserProcessImpl : public BrowserProcess, + #endif +@@ -439,6 +440,7 @@ class BrowserProcessImpl : public BrowserProcess, // to concerns over integrity of data shared between profiles, // but some users of component updater only install per-user. std::unique_ptr component_updater_; @@ -589,7 +589,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -430,6 +430,9 @@ StartupProfileInfo CreateInitialProfile( +@@ -431,6 +431,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -700,7 +700,7 @@ new file mode 100755 diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -716,6 +716,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -718,6 +718,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { DefaultDnsOverHttpsConfigSource::RegisterPrefs(registry); NetworkProcessLaunchWatcher::RegisterPrefs(registry); @@ -714,7 +714,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -236,6 +236,20 @@ CHAR_LIMIT guidelines: +@@ -239,6 +239,20 @@ CHAR_LIMIT guidelines: Try searching the help center @@ -738,7 +738,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -2979,6 +2979,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2982,6 +2982,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -753,7 +753,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp --- a/components/browser_ui/strings/android/site_settings.grdp +++ b/components/browser_ui/strings/android/site_settings.grdp -@@ -424,6 +424,9 @@ +@@ -427,6 +427,9 @@ This site shows intrusive or misleading ads @@ -1577,17 +1577,18 @@ new file mode 100644 diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc --- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc +++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc -@@ -18,6 +18,9 @@ +@@ -17,7 +17,10 @@ #include "base/trace_event/trace_event.h" #include "base/trace_event/traced_value.h" #include "base/tracing/protos/chrome_track_event.pbzero.h" +#include "components/content_settings/core/common/content_settings_types.h" + #include "components/subresource_filter/content/browser/activation_state_computing_navigation_throttle.h" +#include "components/subresource_filter/content/browser/subresource_filter_content_settings_manager.h" +#include "components/subresource_filter/content/browser/subresource_filter_profile_context.h" #include "components/subresource_filter/content/browser/ad_tagging_utils.h" #include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h" - #include "components/subresource_filter/content/browser/profile_interaction_manager.h" -@@ -114,6 +117,7 @@ ContentSubresourceFilterThrottleManager:: + #include "components/subresource_filter/content/browser/page_load_statistics.h" +@@ -113,6 +116,7 @@ ContentSubresourceFilterThrottleManager:: profile_interaction_manager_( std::make_unique( profile_context)), @@ -1595,7 +1596,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f web_contents_helper_(web_contents_helper) {} ContentSubresourceFilterThrottleManager:: -@@ -661,6 +665,17 @@ ContentSubresourceFilterThrottleManager:: +@@ -659,6 +663,17 @@ ContentSubresourceFilterThrottleManager:: throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), ad_tagging_state); } @@ -1625,9 +1626,9 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f // Unowned since the throttle manager cannot outlive the Page that owns it. // The throttle manager is held as user data first on NavigationHandle, then // transferred to Page once it is created. Once the Page is created and this -diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.cc b/components/subresource_filter/content/shared/browser/ruleset_service.cc ---- a/components/subresource_filter/content/shared/browser/ruleset_service.cc -+++ b/components/subresource_filter/content/shared/browser/ruleset_service.cc +diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/components/subresource_filter/content/browser/ruleset_service.cc +--- a/components/subresource_filter/content/browser/ruleset_service.cc ++++ b/components/subresource_filter/content/browser/ruleset_service.cc @@ -50,12 +50,7 @@ namespace { void RecordIndexAndWriteRulesetResult( std::string_view uma_tag, @@ -1759,9 +1760,9 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic if (!version.IsValid()) { return; } -diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.h b/components/subresource_filter/content/shared/browser/ruleset_service.h ---- a/components/subresource_filter/content/shared/browser/ruleset_service.h -+++ b/components/subresource_filter/content/shared/browser/ruleset_service.h +diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/components/subresource_filter/content/browser/ruleset_service.h +--- a/components/subresource_filter/content/browser/ruleset_service.h ++++ b/components/subresource_filter/content/browser/ruleset_service.h @@ -183,7 +183,7 @@ class RulesetService { // // Virtual so that it can be mocked out in tests. @@ -1784,9 +1785,9 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic // Reads the rules via the |unindexed_ruleset_stream_generator|, and indexes // them using |indexer|. Returns whether the entire ruleset could be parsed. static bool IndexRuleset( -diff --git a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc ---- a/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc -+++ b/components/subresource_filter/content/shared/browser/unindexed_ruleset_stream_generator.cc +diff --git a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc +--- a/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc ++++ b/components/subresource_filter/content/browser/unindexed_ruleset_stream_generator.cc @@ -12,6 +12,7 @@ #include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h" #include "third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h" diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 2d018268..f080285c 100644 --- a/build/patches/Bubble-Locking-on-UI-DevTools.patch +++ b/build/patches/Bubble-Locking-on-UI-DevTools.patch @@ -33,7 +33,7 @@ diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/u diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h --- a/ui/views/widget/widget.h +++ b/ui/views/widget/widget.h -@@ -1468,6 +1468,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1475,6 +1475,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, // initialized. void SaveWindowPlacementIfNeeded(); @@ -53,7 +53,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h protected: // Creates the RootView to be used within this Widget. Subclasses may override // to create custom RootViews that do specialized event processing. -@@ -1508,13 +1521,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1515,13 +1528,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, void set_widget_closed() { widget_closed_ = true; } private: @@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h class PaintAsActiveLockImpl; friend class ButtonTest; -@@ -1525,11 +1531,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1532,11 +1538,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, friend class ui_devtools::BubbleLocking; friend void DisableActivationChangeHandlingForTests(); diff --git a/build/patches/Change-popup-site-setting.patch b/build/patches/Change-popup-site-setting.patch index 1a53b17a..62ddedd3 100644 --- a/build/patches/Change-popup-site-setting.patch +++ b/build/patches/Change-popup-site-setting.patch @@ -297,7 +297,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -140,7 +140,7 @@ void ContentSettingsRegistry::Init() { +@@ -139,7 +139,7 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsInfo::SYNCABLE, /*allowlisted_primary_schemes=*/ {kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme}, diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index 57c52243..a69b4964 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -16,9 +16,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html chrome/app/extensions_strings.grdp | 6 ++ .../developer_private_api.cc | 28 +++++++++ .../developer_private/developer_private_api.h | 3 + - .../developer_private_functions_shared.cc | 8 ++- + .../developer_private_functions.cc | 8 ++- .../profile_info_generator.cc | 3 + - .../webstore_private/webstore_private_api.cc | 15 ++++- + .../webstore_private/webstore_private_api.cc | 14 ++++- .../extensions/chrome_extension_system.cc | 1 + .../extensions/cws_info_service_factory.cc | 3 +- .../extensions/extension_management.cc | 1 + @@ -49,7 +49,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/extension_features.cc | 7 +++ extensions/common/extension_features.h | 10 +++ .../definitions/developer_private.d.ts | 2 + - 36 files changed, 254 insertions(+), 107 deletions(-) + 36 files changed, 253 insertions(+), 107 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp @@ -126,10 +126,10 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a // Convenience method to get the DeveloperPrivateAPI for a profile. static DeveloperPrivateAPI* Get(content::BrowserContext* context); -diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc ---- a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc -+++ b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc -@@ -375,6 +375,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { +diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions.cc +--- a/chrome/browser/extensions/api/developer_private/developer_private_functions.cc ++++ b/chrome/browser/extensions/api/developer_private/developer_private_functions.cc +@@ -452,6 +452,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() { ExtensionUpdater::CheckParams params; params.fetch_priority = DownloadFetchPriority::kForeground; params.install_immediately = true; @@ -137,7 +137,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f params.callback = base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this); updater->CheckNow(std::move(params)); -@@ -511,7 +512,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -588,7 +589,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { const developer::ProfileConfigurationUpdate& update = params->update; @@ -146,7 +146,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f Profile* profile = Profile::FromBrowserContext(browser_context()); CHECK(profile); if (supervised_user::AreExtensionsPermissionsEnabled(profile)) { -@@ -525,6 +526,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { +@@ -602,6 +603,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() { ->MarkNoticeAsAcknowledgedGlobally(); } @@ -181,15 +181,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/profile_info_genera diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc --- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -68,6 +68,7 @@ - #include "extensions/browser/scoped_active_install.h" - #include "extensions/buildflags/buildflags.h" - #include "extensions/common/extension.h" -+#include "extensions/common/extension_features.h" - #include "extensions/common/manifest.h" - #include "extensions/common/manifest_constants.h" - #include "extensions/common/manifest_handlers/permissions_parser.h" -@@ -242,6 +243,8 @@ Profile* GetProfileInIncognito(Profile* profile) { +@@ -255,6 +255,8 @@ Profile* GetProfileInIncognito(Profile* profile) { // there was previously stored data, or an empty string otherwise. The Set will // overwrite any previous login. std::string GetWebstoreLogin(Profile* profile) { @@ -198,7 +190,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api if (profile->GetPrefs()->HasPrefPath(kWebstoreLogin)) { return profile->GetPrefs()->GetString(kWebstoreLogin); } -@@ -249,11 +252,15 @@ std::string GetWebstoreLogin(Profile* profile) { +@@ -262,11 +264,15 @@ std::string GetWebstoreLogin(Profile* profile) { } void SetWebstoreLogin(Profile* profile, const std::string& login) { @@ -214,7 +206,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api switch (status) { case kCanRequest: return api::webstore_private::ExtensionInstallStatus::kCanRequest; -@@ -1177,7 +1184,8 @@ ExtensionFunction::ResponseAction +@@ -1205,7 +1211,8 @@ ExtensionFunction::ResponseAction WebstorePrivateIsInIncognitoModeFunction::Run() { Profile* profile = Profile::FromBrowserContext(browser_context()); return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create( @@ -224,7 +216,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api } WebstorePrivateIsPendingCustodianApprovalFunction:: -@@ -1274,11 +1282,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { +@@ -1302,11 +1309,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { request.mutable_referrer_chain_options()->set_recent_navigations_to_collect( recent_navigations_to_collect); @@ -267,7 +259,7 @@ diff --git a/chrome/browser/extensions/cws_info_service_factory.cc b/chrome/brow diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc --- a/chrome/browser/extensions/extension_management.cc +++ b/chrome/browser/extensions/extension_management.cc -@@ -436,6 +436,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( +@@ -440,6 +440,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( const Extension* extension) { @@ -323,7 +315,7 @@ diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_facto diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc --- a/chrome/browser/extensions/updater/extension_updater.cc +++ b/chrome/browser/extensions/updater/extension_updater.cc -@@ -56,6 +56,7 @@ +@@ -55,6 +55,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.h" #include "extensions/common/extension_id.h" @@ -331,7 +323,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro #include "extensions/common/extension_set.h" #include "extensions/common/extension_updater_uma.h" #include "extensions/common/extension_urls.h" -@@ -229,6 +230,10 @@ void ExtensionUpdater::Start() { +@@ -228,6 +229,10 @@ void ExtensionUpdater::Start() { DCHECK(!weak_ptr_factory_.HasWeakPtrs()); DCHECK(registry_); alive_ = true; @@ -342,7 +334,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro // Check soon, and set up the first delayed check. if (!g_skip_scheduled_checks_for_tests) { CheckSoon(); -@@ -380,7 +385,8 @@ void ExtensionUpdater::AddToDownloader( +@@ -379,7 +384,8 @@ void ExtensionUpdater::AddToDownloader( const Extension& extension = **extension_iter; const ExtensionId& extension_id = extension.id(); if (!Manifest::IsAutoUpdateableLocation(extension.location())) { @@ -352,7 +344,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro continue; } // An extension might be overwritten by policy, and have its update url -@@ -395,7 +401,7 @@ void ExtensionUpdater::AddToDownloader( +@@ -394,7 +400,7 @@ void ExtensionUpdater::AddToDownloader( continue; } @@ -361,7 +353,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params->update_info[extension_id] = GetExtensionUpdateData(extension_id); } else if (AddExtensionToDownloader(extension, request_id, -@@ -433,6 +439,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( +@@ -432,6 +438,12 @@ bool ExtensionUpdater::AddExtensionToDownloader( } void ExtensionUpdater::CheckNow(CheckParams params) { @@ -374,7 +366,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro CHECK(enabled_); if (params.ids.empty()) { // Checking all extensions. Cancel pending DoCheckSoon() call if there's -@@ -450,7 +462,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -449,7 +461,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { int request_id = next_request_id_++; @@ -383,7 +375,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro if (params.ids.empty()) { NotifyStarted(); } -@@ -519,7 +531,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -518,7 +530,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { update_check_params.update_info[pending_id] = GetExtensionUpdateData(pending_id); } else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) { @@ -392,7 +384,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro continue; } // We have to mark high-priority extensions (such as policy-forced -@@ -529,7 +541,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -528,7 +540,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { // See https://crbug.com/904600 and https://crbug.com/965686. const bool is_high_priority_extension_pending = pending_extension_manager->HasHighPriorityPendingExtension(); @@ -401,7 +393,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params.update_info[pending_id] = GetExtensionUpdateData(pending_id); update_check_params.update_info[pending_id].is_corrupt_reinstall = -@@ -552,6 +564,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -551,6 +563,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) { LOG(WARNING) << "Corrupt extension with id " << pending_id << " will be reinstalled with ExtensionDownloader."; } @@ -410,7 +402,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro } else { InstallStageTracker::Get(profile_)->ReportFailure( pending_id, -@@ -564,13 +578,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -563,13 +577,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) { AddToDownloader(®istry_->disabled_extensions(), pending_ids, request_id, params.fetch_priority, &update_check_params); ExtensionSet remotely_disabled_extensions; @@ -424,7 +416,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id, params.fetch_priority, &update_check_params); } else { -@@ -578,7 +585,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { +@@ -577,7 +584,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) { const Extension* extension = registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING); if (extension) { @@ -433,7 +425,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro update_check_params.update_info[id] = GetExtensionUpdateData(id); } else if (AddExtensionToDownloader(*extension, request_id, params.fetch_priority)) { -@@ -722,7 +729,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -721,7 +728,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( file.extension_id, InstallStageTracker::Stage::INSTALLING); UpdatePingData(file.extension_id, ping); @@ -442,7 +434,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro FetchedCRXFile fetched(file, file_ownership_passed, request_ids, std::move(callback)); -@@ -733,6 +740,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( +@@ -732,6 +739,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished( bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id, DownloadPingData* ping_data) { @@ -450,7 +442,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro DCHECK(alive_); ping_data->rollcall_days = CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id)); -@@ -852,7 +860,7 @@ bool ExtensionUpdater::CanUseUpdateService( +@@ -851,7 +859,7 @@ bool ExtensionUpdater::CanUseUpdateService( void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) { std::set request_ids; @@ -459,7 +451,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro << crx_file.info.path.value(); // The delegate is now responsible for cleaning up the temp file at -@@ -1061,7 +1069,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { +@@ -1060,7 +1068,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) { if (!request.in_progress_ids.empty() || request.awaiting_update_service) { return; // This request is not done yet. } @@ -965,7 +957,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/browser/updater/extension_downloader.cc --- a/extensions/browser/updater/extension_downloader.cc +++ b/extensions/browser/updater/extension_downloader.cc -@@ -485,8 +485,8 @@ void ExtensionDownloader::CreateManifestLoader() { +@@ -486,8 +486,8 @@ void ExtensionDownloader::CreateManifestLoader() { std::vector id_vector(extension_ids.begin(), extension_ids.end()); std::string id_list = base::JoinString(id_vector, ","); @@ -976,7 +968,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro << (active_request->foreground_check() ? kUpdateInteractivityForeground : kUpdateInteractivityBackground); -@@ -511,7 +511,7 @@ void ExtensionDownloader::CreateManifestLoader() { +@@ -512,7 +512,7 @@ void ExtensionDownloader::CreateManifestLoader() { destination: WEBSITE } policy { @@ -985,7 +977,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro cookies_store: "user" setting: "This feature cannot be disabled. It is only enabled when the user " -@@ -528,6 +528,7 @@ void ExtensionDownloader::CreateManifestLoader() { +@@ -529,6 +529,7 @@ void ExtensionDownloader::CreateManifestLoader() { auto resource_request = std::make_unique(); resource_request->url = active_request->full_url(), resource_request->load_flags = net::LOAD_DISABLE_CACHE; @@ -993,7 +985,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro if (active_request->fetch_priority() == DownloadFetchPriority::kForeground) { resource_request->priority = net::MEDIUM; -@@ -536,10 +537,6 @@ void ExtensionDownloader::CreateManifestLoader() { +@@ -537,10 +538,6 @@ void ExtensionDownloader::CreateManifestLoader() { // Send traffic-management headers to the webstore, and omit credentials. // https://bugs.chromium.org/p/chromium/issues/detail?id=647516 if (extension_urls::IsWebstoreUpdateUrl(active_request->full_url())) { @@ -1004,7 +996,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro resource_request->headers.SetHeader(kUpdateAppIdHeader, id_list); resource_request->headers.SetHeader( kUpdateUpdaterHeader, -@@ -824,20 +821,6 @@ void ExtensionDownloader::HandleManifestResults( +@@ -825,20 +822,6 @@ void ExtensionDownloader::HandleManifestResults( update.second->info); } @@ -1025,7 +1017,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro ExtensionIdSet extension_ids_with_errors; for (const auto& failure : failures) extension_ids_with_errors.insert(failure.first.id); -@@ -859,7 +842,7 @@ ExtensionDownloader::GetUpdateAvailability( +@@ -860,7 +843,7 @@ ExtensionDownloader::GetUpdateAvailability( // extensions that have already existed in the system. if (!delegate_->GetExtensionExistingVersion(extension_id, &extension_version)) { @@ -1034,7 +1026,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro return UpdateAvailability::kBadUpdateSpecification; } VLOG(2) << extension_id << " is at '" << extension_version << "'"; -@@ -870,11 +853,11 @@ ExtensionDownloader::GetUpdateAvailability( +@@ -871,11 +854,11 @@ ExtensionDownloader::GetUpdateAvailability( const std::string& update_version_str = update->version; if (VLOG_IS_ON(2)) { if (update_version_str.empty()) @@ -1048,7 +1040,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro << " latest version is '" << update_version_str << "'"; } -@@ -884,21 +867,21 @@ ExtensionDownloader::GetUpdateAvailability( +@@ -885,21 +868,21 @@ ExtensionDownloader::GetUpdateAvailability( // we don't want it. if (update_version_str.empty()) { // If update manifest doesn't have version number => no update. @@ -1073,7 +1065,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro << update_version_str << "'"; bool can_rollback = update_version.CompareTo(existing_version) < 0 && -@@ -925,7 +908,9 @@ ExtensionDownloader::GetUpdateAvailability( +@@ -926,7 +909,9 @@ ExtensionDownloader::GetUpdateAvailability( } // Stop checking as soon as an update for |extension_id| is found. @@ -1084,7 +1076,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro *update_result_out = const_cast(update); return UpdateAvailability::kAvailable; } -@@ -1170,7 +1155,7 @@ void ExtensionDownloader::CreateExtensionLoader() { +@@ -1171,7 +1156,7 @@ void ExtensionDownloader::CreateExtensionLoader() { int load_flags = net::LOAD_DISABLE_CACHE; bool is_secure = fetch->url.SchemeIsCryptographic(); extension_loader_resource_request_->load_flags = load_flags; @@ -1093,7 +1085,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro extension_loader_resource_request_->credentials_mode = network::mojom::CredentialsMode::kOmit; } else { -@@ -1178,7 +1163,7 @@ void ExtensionDownloader::CreateExtensionLoader() { +@@ -1179,7 +1164,7 @@ void ExtensionDownloader::CreateExtensionLoader() { net::SiteForCookies::FromUrl(fetch->url); } @@ -1102,7 +1094,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro is_secure) { if (access_token_.empty()) { // We should try OAuth2, but we have no token cached. This -@@ -1201,7 +1186,7 @@ void ExtensionDownloader::CreateExtensionLoader() { +@@ -1202,7 +1187,7 @@ void ExtensionDownloader::CreateExtensionLoader() { base::StringPrintf("Bearer %s", access_token_.c_str())); } @@ -1111,7 +1103,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro StartExtensionLoader(); } -@@ -1223,7 +1208,7 @@ void ExtensionDownloader::StartExtensionLoader() { +@@ -1224,7 +1209,7 @@ void ExtensionDownloader::StartExtensionLoader() { destination: WEBSITE } policy { @@ -1120,7 +1112,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro cookies_store: "user" setting: "This feature cannot be disabled. It is only enabled when the user " -@@ -1294,6 +1279,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) { +@@ -1295,6 +1280,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) { RETRY_HISTOGRAM("CrxFetchSuccess", extensions_queue_.active_request_failure_count(), url); @@ -1128,7 +1120,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro std::unique_ptr fetch_data = std::move(extensions_queue_.reset_active_request().fetch); delegate_->OnExtensionDownloadStageChanged( -@@ -1314,7 +1300,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) { +@@ -1315,7 +1301,7 @@ void ExtensionDownloader::OnExtensionLoadComplete(base::FilePath crx_path) { } else { const std::set request_ids = active_request.GetRequestIds(); const ExtensionDownloaderDelegate::PingResult& ping = ping_results_[id]; @@ -1137,7 +1129,7 @@ diff --git a/extensions/browser/updater/extension_downloader.cc b/extensions/bro << "' response code:" << response_code; if (ShouldRetryRequest(extension_loader_.get()) && extensions_queue_.active_request_failure_count() < kMaxRetries) { -@@ -1408,6 +1394,7 @@ void ExtensionDownloader::NotifyExtensionsDownloadFailedWithList( +@@ -1409,6 +1395,7 @@ void ExtensionDownloader::NotifyExtensionsDownloadFailedWithList( bool ExtensionDownloader::IterateFetchCredentialsAfterFailure( ExtensionFetch* fetch, int response_code) { @@ -1159,7 +1151,7 @@ diff --git a/extensions/browser/updater/extension_downloader.h b/extensions/brow diff --git a/extensions/browser/updater/manifest_fetch_data.cc b/extensions/browser/updater/manifest_fetch_data.cc --- a/extensions/browser/updater/manifest_fetch_data.cc +++ b/extensions/browser/updater/manifest_fetch_data.cc -@@ -108,7 +108,7 @@ ManifestFetchData::ManifestFetchData(const GURL& update_url, +@@ -107,7 +107,7 @@ ManifestFetchData::ManifestFetchData(const GURL& update_url, : base_url_(update_url), full_url_(update_url), brand_code_(brand_code), @@ -1168,7 +1160,7 @@ diff --git a/extensions/browser/updater/manifest_fetch_data.cc b/extensions/brow fetch_priority_(fetch_priority) { UpdateFullUrl(base_query_params); request_ids_.insert(request_id); -@@ -161,18 +161,12 @@ bool ManifestFetchData::AddExtension(const std::string& id, +@@ -160,18 +160,12 @@ bool ManifestFetchData::AddExtension(const std::string& id, // Compute the string we'd append onto the full_url_, and see if it fits. std::vector parts; parts.push_back("id=" + id); @@ -1201,7 +1193,7 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc -@@ -183,4 +183,11 @@ BASE_FEATURE(kEnableShouldShowPromotion, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -186,4 +186,11 @@ BASE_FEATURE(kSearchEngineUnconditionalDialog, BASE_FEATURE(kWebRequestPersistFilteredEvents, base::FEATURE_ENABLED_BY_DEFAULT); @@ -1216,7 +1208,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h -@@ -307,6 +307,16 @@ BASE_DECLARE_FEATURE(kWebRequestSecurityInfo); +@@ -310,6 +310,16 @@ BASE_DECLARE_FEATURE(kWebRequestSecurityInfo); // browser startup). BASE_DECLARE_FEATURE(kWebRequestPersistFilteredEvents); diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 5a8184a3..1fc5029d 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -65,7 +65,7 @@ diff --git a/components/client_hints/browser/client_hints.cc b/components/client diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc --- a/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc -@@ -202,9 +202,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( +@@ -185,9 +185,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( bool parse_result = base::StringToInt(major_version, &major_version_number); DCHECK(parse_result); std::optional brand; @@ -76,7 +76,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd std::string brand_version = output_version_type == blink::UserAgentBrandVersionType::kFullVersion -@@ -695,6 +693,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) { +@@ -675,6 +673,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) { } // High entropy client hints. @@ -87,7 +87,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc --- a/content/browser/client_hints/client_hints.cc +++ b/content/browser/client_hints/client_hints.cc -@@ -58,6 +58,7 @@ +@@ -57,6 +57,7 @@ #include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/page/page_zoom.h" #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" @@ -95,7 +95,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie #include "ui/display/display.h" #include "ui/display/screen.h" #include "url/origin.h" -@@ -602,10 +603,21 @@ bool IsClientHintEnabled(const ClientHintsExtendedData& data, +@@ -601,10 +602,21 @@ bool IsClientHintEnabled(const ClientHintsExtendedData& data, bool IsClientHintAllowed(const ClientHintsExtendedData& data, WebClientHintsType type) { @@ -119,7 +119,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie network::GetClientHintToPolicyFeatureMap().at(type), data.resource_origin)); } -@@ -630,6 +642,7 @@ bool IsJavascriptEnabled(FrameTreeNode* frame_tree_node) { +@@ -629,6 +641,7 @@ bool IsJavascriptEnabled(FrameTreeNode* frame_tree_node) { void UpdateIFramePermissionsPolicyWithDelegationSupportForClientHints( ClientHintsExtendedData& data, const network::ParsedPermissionsPolicy& container_policy) { @@ -156,7 +156,7 @@ new file mode 100644 diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc -@@ -113,6 +113,7 @@ const size_t kMaxRestarts = 32; +@@ -114,6 +114,7 @@ const size_t kMaxRestarts = 32; // Returns true when Early Hints are allowed on the given protocol. bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) { @@ -262,7 +262,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -231,6 +231,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy, +@@ -233,6 +233,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy, bool is_1p_origin, network::mojom::blink::WebClientHintsType type, const ClientHintsPreferences& hints_preferences) { @@ -271,7 +271,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi // For subresource requests, sending the hint in the fetch request based on // the permissions policy. if (!policy.IsFeatureEnabledForOrigin( -@@ -715,7 +717,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -726,7 +728,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( } // Only send User Agent hints if the info is available @@ -283,7 +283,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -610,6 +610,11 @@ +@@ -614,6 +614,11 @@ name: "AriaNotifyV2", status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"}, }, @@ -295,7 +295,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 { name: "AriaRowColIndexText", status: "stable", -@@ -1016,8 +1021,7 @@ +@@ -1020,8 +1025,7 @@ // Allows top-level sites to restrict collection of high-entropy UA client // hints (from 3Ps, or itself) via the getHighEntropyValues API. // crbug.com/385161047 diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch index 6344d2fa..9b036f01 100644 --- a/build/patches/Close-Sessions-On-Ip-Change.patch +++ b/build/patches/Close-Sessions-On-Ip-Change.patch @@ -88,7 +88,7 @@ new file mode 100644 diff --git a/net/base/features.cc b/net/base/features.cc --- a/net/base/features.cc +++ b/net/base/features.cc -@@ -443,7 +443,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -293,7 +293,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT); // NetworkChangeNotifier::AreNetworkHandlesSupported). #if BUILDFLAG(IS_ANDROID) inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default = diff --git a/build/patches/Compress-libchrome-to-free-up-some-space.patch b/build/patches/Compress-libchrome-to-free-up-some-space.patch index f60bdcf4..51b630a9 100644 --- a/build/patches/Compress-libchrome-to-free-up-some-space.patch +++ b/build/patches/Compress-libchrome-to-free-up-some-space.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -674,6 +674,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -579,6 +579,7 @@ template("chrome_common_apk_or_module_tmpl") { [ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ] loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ] library_always_compress += [ "libchrome_crashpad_handler.so" ] diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index 4b069ab4..93dae734 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C /** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */ @NullMarked public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { -@@ -240,7 +244,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { +@@ -251,7 +255,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate { @Override public boolean isHelpAndFeedbackEnabled() { @@ -151,7 +151,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html -@@ -609,4 +609,5 @@ +@@ -628,4 +628,5 @@ @@ -276,9 +276,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc /** * Add all of the child routes that originate from the privacy route, -@@ -150,6 +151,7 @@ function addPrivacyChildRoutes(r: Partial) { - r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS = - r.SITE_SETTINGS.createChild('localNetworkAccess'); +@@ -155,6 +156,7 @@ function addPrivacyChildRoutes(r: Partial) { + r.SITE_SETTINGS_LOOPBACK_NETWORK = + r.SITE_SETTINGS.createChild('loopbackNetwork'); } + setupContentSettingsRoutes(r); } @@ -351,7 +351,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d private getAllowOptionForCategory_(): ContentSetting { // Keep elements in alphabetical order within their groups. switch (this.category) { -@@ -176,6 +191,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -178,6 +193,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends // "Ask" vs "Blocked". return ContentSetting.ASK; default: @@ -360,7 +360,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d assertNotReached('Invalid category: ' + this.category); } } -@@ -200,6 +217,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -202,6 +219,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends /** @type {!ContentSetting} */ (this.getAllowOptionForCategory_()); this.browserProxy.setDefaultValueForContentType( this.category, @@ -368,7 +368,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d this.categoryEnabled_ ? allowOption : ContentSetting.BLOCK); if (this.selected !== this.categoryEnabled_) { this.selected = this.categoryEnabled_; -@@ -236,7 +254,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends +@@ -240,7 +258,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends } const enabled = isSettingEnabled(update.setting); @@ -383,8 +383,8 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html --- a/chrome/browser/resources/settings/site_settings/site_details.html +++ b/chrome/browser/resources/settings/site_settings/site_details.html -@@ -332,5 +332,6 @@ - label="$i18n{siteSettingsLocalNetworkAccess}"> +@@ -344,5 +344,6 @@ + label="$i18n{siteSettingsLoopbackNetwork}"> +
@@ -606,7 +606,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_page. { route: routes.SITE_SETTINGS_ADS, id: Id.ADS, -@@ -452,10 +452,36 @@ function getCategoryItemMap(): Map { +@@ -478,10 +478,36 @@ function getCategoryItemMap(): Map { icon: 'privacy:cookie', }, ]; @@ -643,9 +643,9 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_page. function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]): CategoryListItem[] { const map = getCategoryItemMap(); -@@ -540,7 +566,7 @@ export class SettingsSiteSettingsPageElement extends - Id.WEB_APP_INSTALLATION, - Id.LOCAL_NETWORK_ACCESS, +@@ -568,7 +594,7 @@ export class SettingsSiteSettingsPageElement extends + Id.LOCAL_NETWORK, + Id.LOOPBACK_NETWORK, ]), - contentBasic: buildItemListFromIds([ + contentBasic: buildBromiteItemListFromIds([ @@ -710,7 +710,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util. /** * Determine localization string for i18n for a given content settings type. * Sorted alphabetically by |ContentSettingsType|. -@@ -110,6 +158,13 @@ export function getLocalizationStringForContentType( +@@ -114,6 +162,13 @@ export function getLocalizationStringForContentType( case ContentSettingsTypes.SMART_CARD_READERS: return null; default: @@ -727,7 +727,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util. diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1620,6 +1620,7 @@ static_library("ui") { +@@ -1625,6 +1625,7 @@ static_library("ui") { "//components/commerce/core/webui", "//components/contextual_search:public", "//components/endpoint_fetcher", @@ -735,7 +735,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//components/enterprise/common:files_scan_data", "//components/feedback/proto", "//components/headless/console_message_logger", -@@ -4790,6 +4791,7 @@ static_library("ui") { +@@ -4813,6 +4814,7 @@ static_library("ui") { "//components/power_bookmarks/core", "//components/power_bookmarks/storage", "//components/prefs", @@ -776,8 +776,8 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b --- a/chrome/browser/ui/views/page_info/page_info_main_view.cc +++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc @@ -55,6 +55,7 @@ - #include "ui/views/layout/box_layout.h" #include "ui/views/layout/flex_layout.h" + #include "ui/views/metadata/view_factory.h" #include "ui/views/vector_icons.h" +#include "ui/views/layout/table_layout.h" #include "ui/views/view_class_properties.h" @@ -855,7 +855,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom #include "components/page_info/core/features.h" #include "components/page_info/core/proto/about_this_site_metadata.pb.h" #include "components/page_info/page_info.h" -@@ -280,7 +282,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -281,7 +283,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( bool blocked_on_system_level) { PermissionSetting setting = permission.setting.value_or(permission.default_setting); @@ -870,7 +870,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom auto* info = content_settings::PermissionSettingsRegistry::GetInstance()->Get( permission.type); // For guard content settings and Automatic Picture-in-Picture, ASK is treated -@@ -584,6 +593,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( +@@ -592,6 +601,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon( icon = &vector_icons::kPrinterIcon; break; default: @@ -1224,7 +1224,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide #include "components/password_manager/core/browser/leak_detection_dialog_utils.h" #include "components/password_manager/core/browser/manage_passwords_referrer.h" #include "components/password_manager/core/common/password_manager_features.h" -@@ -4111,6 +4115,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -4191,6 +4195,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, policy_indicator::AddLocalizedStrings(html_source); AddSecurityKeysStrings(html_source); @@ -1284,7 +1284,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc --- a/chrome/browser/ui/webui/settings/site_settings_helper.cc +++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc -@@ -47,6 +47,8 @@ +@@ -46,6 +46,8 @@ #include "chrome/grit/generated_resources.h" #include "components/content_settings/core/browser/content_settings_provider.h" #include "components/content_settings/core/browser/host_content_settings_map.h" @@ -1293,7 +1293,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_pattern.h" #include "components/content_settings/core/common/content_settings_types.h" -@@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< +@@ -262,13 +264,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array< {ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL, nullptr}, }); @@ -1314,7 +1314,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b struct SiteSettingSourceStringMapping { SiteSettingSource source; -@@ -529,6 +531,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { +@@ -530,6 +532,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) { return true; } } @@ -1328,7 +1328,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b return false; } -@@ -542,11 +551,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { +@@ -543,11 +552,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) { return entry.type; } } @@ -1354,7 +1354,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b for (const auto& entry : kContentSettingsTypeGroupNames) { if (type == entry.type) { // Content setting types that aren't represented in the settings UI -@@ -561,7 +583,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { +@@ -562,7 +584,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) { return entry.name ? entry.name : std::string_view(); } } @@ -1362,8 +1362,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b NOTREACHED() << static_cast(type) << " is not a recognized content settings type."; } -@@ -664,6 +685,13 @@ std::vector GetVisiblePermissionCategories( - base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS); +@@ -671,6 +692,13 @@ std::vector GetVisiblePermissionCategories( + } } + content_settings::WebsiteSettingsRegistry* website_settings = @@ -1379,7 +1379,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn --- a/components/browser_ui/settings/android/BUILD.gn +++ b/components/browser_ui/settings/android/BUILD.gn -@@ -92,6 +92,7 @@ android_resources("java_resources") { +@@ -97,6 +97,7 @@ android_resources("java_resources") { "java/res/layout/preference_chrome_button.xml", "java/res/layout/preference_chrome_image_view.xml", "java/res/layout/preference_spinner.xml", @@ -1567,18 +1567,18 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b } android_library("javatests") { -@@ -208,6 +225,7 @@ robolectric_library("junit") { +@@ -211,6 +228,7 @@ robolectric_library("junit") { } android_resources("java_resources") { + allow_missing_resources = true sources = [ - "java/res/drawable-hdpi/ic_volume_up_grey600_24dp.png", "java/res/drawable-hdpi/permission_popups.png", + "java/res/drawable-hdpi/settings_sensors.png", diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml --- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml +++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml -@@ -198,4 +198,11 @@ The order of the following items is from: http://crbug.com/610358. +@@ -196,4 +196,11 @@ The order of the following items is from: http://crbug.com/610358. android:summary="@string/safety_hub_autorevocation_toggle_summary" app:backgroundStyle="card"/> @@ -1593,7 +1593,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/AllSiteSettings.java -@@ -390,7 +390,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment +@@ -402,7 +402,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -1603,10 +1603,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -402,6 +403,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment - getResources(), - R.drawable.ic_help_and_feedback, - getContext().getTheme())); +@@ -412,6 +413,8 @@ public class AllSiteSettings extends BaseSiteSettingsFragment + help.setIcon( + TraceEventVectorDrawableCompat.create( + getResources(), R.drawable.ic_help_24dp, getContext().getTheme())); + if (!BromiteCustomContentSettingImpl.isHelpAndFeedbackEnabled(mCategory)) + help.setVisible(false); } @@ -2263,7 +2263,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c int icon, int title, @ContentSetting @Nullable Integer defaultEnabledValue, -@@ -662,6 +683,8 @@ public class ContentSettingsResources { +@@ -689,6 +710,8 @@ public class ContentSettingsResources { R.string.website_settings_window_management_ask, R.string.website_settings_window_management_block); } @@ -2272,7 +2272,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c assert false; // NOTREACHED return assumeNonNull(null); } -@@ -842,6 +865,9 @@ public class ContentSettingsResources { +@@ -869,6 +892,9 @@ public class ContentSettingsResources { @ContentSetting int value, boolean isOneTime, boolean isApproximateGeolocation) { @@ -2282,7 +2282,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return getCategorySummary( type, value, -@@ -1049,6 +1075,8 @@ public class ContentSettingsResources { +@@ -1069,6 +1095,8 @@ public class ContentSettingsResources { */ public static int @Nullable [] getTriStateSettingDescriptionIDs( int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) { @@ -2294,7 +2294,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java -@@ -361,6 +361,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -368,6 +368,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else { @ContentSetting Integer contentSetting = website.site().getContentSetting(browserContextHandle, type); @@ -2305,7 +2305,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSetting != null) { return ContentSetting.BLOCK == contentSetting; } -@@ -552,6 +556,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -559,6 +563,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) : null; @@ -2313,7 +2313,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configureGlobalToggles(); if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) { RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered"); -@@ -587,7 +592,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -600,7 +605,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment if (queryHasChanged) getInfoForOrigins(); }); @@ -2323,10 +2323,10 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c MenuItem help = menu.add( Menu.NONE, -@@ -599,12 +605,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment - getResources(), - R.drawable.ic_help_and_feedback, - getContext().getTheme())); +@@ -610,12 +616,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment + help.setIcon( + TraceEventVectorDrawableCompat.create( + getResources(), R.drawable.ic_help_24dp, getContext().getTheme())); + if (!BromiteCustomContentSettingImpl.isHelpAndFeedbackEnabled(mCategory)) + help.setVisible(false); } @@ -2344,7 +2344,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) { getSiteSettingsDelegate() .launchProtectedContentHelpAndFeedbackActivity(getActivity()); -@@ -682,6 +696,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -693,6 +707,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment public boolean onPreferenceChange(Preference preference, Object newValue) { BrowserContextHandle browserContextHandle = getBrowserContextHandle(); PrefService prefService = UserPrefs.get(browserContextHandle); @@ -2356,7 +2356,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey()) || BINARY_TOGGLE_KEY.equals(preference.getKey())) { assert !mCategory.isManaged(); -@@ -856,7 +875,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -867,7 +886,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment ? R.string.website_settings_add_site_description_javascript_optimizer_block : R.string.website_settings_add_site_description_javascript_optimizer_allow; } @@ -2365,7 +2365,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // OnPreferenceClickListener: -@@ -974,17 +993,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -985,17 +1004,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment break; } @@ -2386,7 +2386,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c String exceptionDialogMessage = exceptionDialogMessageResourceId != 0 ? getString(exceptionDialogMessageResourceId) -@@ -995,7 +1012,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1006,7 +1023,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment getStyledContext(), ADD_EXCEPTION_KEY, exceptionDialogMessage, @@ -2395,7 +2395,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c mCategory, this)); -@@ -1179,8 +1196,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1190,8 +1207,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment private boolean isBlocked() { switch (mGlobalToggleLayout) { case GlobalToggleLayout.TRI_STATE_TOGGLE: @@ -2412,7 +2412,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK); case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE: TriStateCookieSettingsPreference triStateCookieToggle = -@@ -1333,7 +1358,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1348,7 +1373,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else if (res_id != -1) { infoText.setSummary(res_id); } else { @@ -2425,7 +2425,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Hide the anti-abuse text preferences, as needed. -@@ -1372,6 +1401,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1387,6 +1416,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment } else { screen.removePreference(mLocationTriStatePref); } @@ -2433,7 +2433,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c maybeShowReasonToggleDisabled(screen); -@@ -1580,6 +1610,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1595,6 +1625,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType); } triStateToggle.initialize( @@ -2441,7 +2441,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c setting, descriptionIds, iconIds, -@@ -1891,6 +1922,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment +@@ -1906,6 +1937,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment setLocationAccessEnabled.accept(allowButton.isChecked()); } @@ -2459,7 +2459,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -58,6 +58,7 @@ import java.util.Collection; +@@ -59,6 +59,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -2467,7 +2467,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** Shows the permissions and other settings for a particular website. */ @NullMarked -@@ -204,7 +205,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -209,7 +210,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment case ContentSettingsType.WINDOW_MANAGEMENT: return "window_management_permission_list"; default: @@ -2476,7 +2476,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } } -@@ -650,7 +651,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -656,7 +657,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setupContentSettingsPreferences() { Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER); mMaxPermissionOrder = permissionsHeaderPref.getOrder(); @@ -2486,7 +2486,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference preference = getPermissionPreference(type); preference.setKey(getPreferenceKey(type)); -@@ -682,6 +684,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -688,6 +690,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } private Preference getPermissionPreference(@ContentSettingsType.EnumType int type) { @@ -2506,7 +2506,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c boolean isOneTime = isOneTime(type); if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS && !isOneTime) { return createTwoActionLocationSwitchPreference(); -@@ -1354,7 +1369,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1345,7 +1360,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment value = ContentSetting.BLOCK; } @@ -2522,7 +2522,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c setUpPreferenceCommon(preference, value); preference.setOnPreferenceChangeListener(this); -@@ -1404,10 +1426,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1395,10 +1417,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment oneTimePreference.setBackgroundColor(mHighlightColor); } } else { @@ -2541,7 +2541,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c AppCompatResources.getColorStateList(getContext(), mHighlightColor) .getDefaultColor()); } -@@ -1713,7 +1739,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1704,7 +1730,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment if (newValue instanceof Boolean) { permission = (Boolean) newValue ? getEnabledValue(type) : ContentSetting.BLOCK; } else { @@ -2559,7 +2559,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java -@@ -55,6 +55,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -61,6 +61,7 @@ public class SiteSettings extends BaseSiteSettingsFragment SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences); mPageTitle.set(getContext().getString(R.string.prefs_site_settings)); @@ -2567,7 +2567,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c configurePreferences(); updatePreferenceStates(); } -@@ -91,7 +92,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -90,7 +91,7 @@ public class SiteSettings extends BaseSiteSettingsFragment // Remove unsupported settings categories. for (@SiteSettingsCategory.Type int type = 0; @@ -2576,7 +2576,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c type++) { if (!getSiteSettingsDelegate().isCategoryVisible(type)) { Preference pref = findPreference(type); -@@ -108,7 +109,7 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -107,7 +108,7 @@ public class SiteSettings extends BaseSiteSettingsFragment @CookieControlsMode int cookieControlsMode = UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE); @@ -2585,7 +2585,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c Preference p = findPreference(prefCategory); int contentType = SiteSettingsCategory.contentSettingsType(prefCategory); // p can be null if the Preference was removed in configurePreferences. -@@ -182,20 +183,22 @@ public class SiteSettings extends BaseSiteSettingsFragment +@@ -181,20 +182,22 @@ public class SiteSettings extends BaseSiteSettingsFragment } else if (Type.ZOOM == prefCategory) { // Don't want to set a summary for Zoom because we don't want any message to display // under the Zoom row on site settings. @@ -2624,25 +2624,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java -@@ -82,7 +82,7 @@ public class SiteSettingsCategory { - Type.LOCAL_NETWORK_ACCESS, - Type.WINDOW_MANAGEMENT, +@@ -83,7 +83,7 @@ public class SiteSettingsCategory { Type.AUTO_PICTURE_IN_PICTURE, + Type.LOCAL_NETWORK, + Type.LOOPBACK_NETWORK, - Type.NUM_ENTRIES + Type.NUM_ENTRIES_CHROMIUM }) @Retention(RetentionPolicy.SOURCE) public @interface Type { -@@ -128,7 +128,7 @@ public class SiteSettingsCategory { - int AUTO_PICTURE_IN_PICTURE = 37; +@@ -130,7 +130,7 @@ public class SiteSettingsCategory { + int LOOPBACK_NETWORK = 38; /** Number of handled categories used for calculating array sizes. */ -- int NUM_ENTRIES = 38; -+ int NUM_ENTRIES_CHROMIUM = 38; +- int NUM_ENTRIES = 39; ++ int NUM_ENTRIES_CHROMIUM = 39; } private final BrowserContextHandle mBrowserContextHandle; -@@ -187,6 +187,9 @@ public class SiteSettingsCategory { +@@ -189,6 +189,9 @@ public class SiteSettingsCategory { } else { permission = ""; } @@ -2652,7 +2652,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c return new SiteSettingsCategory(browserContextHandle, type, permission); } -@@ -195,7 +198,7 @@ public class SiteSettingsCategory { +@@ -197,7 +200,7 @@ public class SiteSettingsCategory { @ContentSettingsType.EnumType int contentSettingsType) { assert contentSettingsType != -1; assert Type.ALL_SITES == 0; @@ -2661,7 +2661,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (contentSettingsType(i) == contentSettingsType) { return createFromType(browserContextHandle, i); } -@@ -206,7 +209,7 @@ public class SiteSettingsCategory { +@@ -208,7 +211,7 @@ public class SiteSettingsCategory { public static @Nullable SiteSettingsCategory createFromPreferenceKey( BrowserContextHandle browserContextHandle, String preferenceKey) { assert Type.ALL_SITES == 0; @@ -2670,8 +2670,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c if (preferenceKey(i).equals(preferenceKey)) { return createFromType(browserContextHandle, i); } -@@ -291,8 +294,7 @@ public class SiteSettingsCategory { - case Type.TRACKING_PROTECTION: +@@ -296,8 +299,7 @@ public class SiteSettingsCategory { + case Type.ZOOM: return ContentSettingsType.DEFAULT; // Conversion unavailable. } - assert false; @@ -2680,7 +2680,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } /** -@@ -393,8 +395,12 @@ public class SiteSettingsCategory { +@@ -400,8 +402,12 @@ public class SiteSettingsCategory { case Type.ZOOM: return "zoom"; default: @@ -2696,7 +2696,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java -@@ -198,6 +198,8 @@ public interface SiteSettingsDelegate { +@@ -188,6 +188,8 @@ public interface SiteSettingsDelegate { */ String getRelatedWebsiteSetOwner(String memberOrigin); @@ -2771,7 +2771,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java -@@ -129,7 +129,7 @@ public class WebsitePermissionsFetcher { +@@ -131,7 +131,7 @@ public class WebsitePermissionsFetcher { } break; default: @@ -2879,20 +2879,27 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s diff --git a/components/content_settings/core/browser/BUILD.gn b/components/content_settings/core/browser/BUILD.gn --- a/components/content_settings/core/browser/BUILD.gn +++ b/components/content_settings/core/browser/BUILD.gn -@@ -81,6 +81,13 @@ static_library("browser") { - } +@@ -81,6 +81,8 @@ static_library("browser") { configs += [ "//build/config/compiler:wexit_time_destructors" ] -+ + + deps += [ ":bromite_content_settings" ] -+} + + # TODO(crbug.com/40145057): remove deprecated RWS and this include. + # Allow access to /components/privacy_sandbox/privacy_sandbox_prefs.h + # from /chrome/browser/ui/page_info/page_info_unittest.cc +@@ -89,6 +91,11 @@ static_library("browser") { + public_deps += [ "//components/privacy_sandbox:privacy_sandbox_prefs" ] + } + +cpp_bromite_include("bromite_content_settings") { + inputs = [ "bromite_content_settings/placeholder.txt" ] + output_file = "bromite_content_settings.inc" - } - ++} ++ source_set("cookie_settings") { + sources = [ + "cookie_settings.cc", diff --git a/components/content_settings/core/browser/bromite_content_settings/placeholder.txt b/components/content_settings/core/browser/bromite_content_settings/placeholder.txt new file mode 100644 --- /dev/null @@ -2902,7 +2909,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -19,6 +19,7 @@ +@@ -18,6 +18,7 @@ #include "components/content_settings/core/browser/website_settings_registry.h" #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/features.h" @@ -2910,7 +2917,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. namespace content_settings { -@@ -848,6 +849,7 @@ void ContentSettingsRegistry::Init() { +@@ -869,6 +870,7 @@ void ContentSettingsRegistry::Init() { WebsiteSettingsRegistry::PLATFORM_CHROMEOS, ContentSettingsInfo::INHERIT_IN_INCOGNITO, PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); @@ -2921,7 +2928,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc --- a/components/content_settings/core/browser/content_settings_uma_util.cc +++ b/components/content_settings/core/browser/content_settings_uma_util.cc -@@ -226,11 +226,7 @@ void RecordContentSettingsHistogram(const std::string& name, +@@ -228,11 +228,7 @@ void RecordContentSettingsHistogram(const std::string& name, } int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) { @@ -3048,7 +3055,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry. diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn --- a/components/content_settings/core/common/BUILD.gn +++ b/components/content_settings/core/common/BUILD.gn -@@ -54,6 +54,13 @@ static_library("common") { +@@ -53,6 +53,13 @@ static_library("common") { "//net", "//url", ] @@ -3062,7 +3069,7 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte } source_set("unit_tests") { -@@ -86,6 +93,7 @@ mojom("content_settings_types") { +@@ -85,6 +92,7 @@ mojom("content_settings_types") { sources = [ "content_settings_types.mojom" ] public_deps = [ "//mojo/public/mojom/base" ] @@ -3079,7 +3086,7 @@ new file mode 100644 diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc --- a/components/content_settings/core/common/content_settings.cc +++ b/components/content_settings/core/common/content_settings.cc -@@ -18,11 +18,12 @@ +@@ -17,11 +17,12 @@ #include "components/content_settings/core/common/content_settings_metadata.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/content_settings_utils.h" @@ -3093,7 +3100,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo const GURL& primary_url) { std::erase_if(settings, [&primary_url](const ContentSettingPatternSource& source) { -@@ -106,6 +107,13 @@ std::ostream& operator<<(std::ostream& os, +@@ -105,6 +106,13 @@ std::ostream& operator<<(std::ostream& os, // static bool RendererContentSettingRules::IsRendererContentSetting( ContentSettingsType content_type) { @@ -3107,7 +3114,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo return content_type == ContentSettingsType::IMAGES || content_type == ContentSettingsType::JAVASCRIPT || content_type == ContentSettingsType::POPUPS || -@@ -115,7 +123,10 @@ bool RendererContentSettingRules::IsRendererContentSetting( +@@ -114,7 +122,10 @@ bool RendererContentSettingRules::IsRendererContentSetting( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( const GURL& outermost_main_frame_url) { @@ -3119,7 +3126,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo } RendererContentSettingRules::RendererContentSettingRules() = default; -@@ -135,7 +146,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( +@@ -134,7 +145,20 @@ RendererContentSettingRules& RendererContentSettingRules::operator=( RendererContentSettingRules&& rules) = default; bool RendererContentSettingRules::operator==( @@ -3257,7 +3264,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom --- a/components/content_settings/core/common/content_settings_types.mojom +++ b/components/content_settings/core/common/content_settings_types.mojom -@@ -492,5 +492,7 @@ enum ContentSettingsType { +@@ -496,5 +496,7 @@ enum ContentSettingsType { // when suspicious warning is shown. If the user has selected this, the // notification permission will not be revoked based on suspicious verdict. SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL, @@ -3378,7 +3385,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoPermissionsController.java -@@ -241,6 +241,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont +@@ -244,6 +244,15 @@ public class PageInfoPermissionsController extends PageInfoPreferenceSubpageCont : perm1.nameMidSentence.toString()); } @@ -3405,8 +3412,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp #include "components/content_settings/core/common/content_settings.h" #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/features.h" -@@ -206,6 +207,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( - permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS); +@@ -213,6 +214,15 @@ void PageInfoControllerAndroid::SetPermissionInfo( + } } + content_settings::WebsiteSettingsRegistry* website_settings = @@ -3421,7 +3428,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp std::map user_specified_settings_to_display; -@@ -284,6 +294,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( +@@ -291,6 +301,14 @@ std::optional PageInfoControllerAndroid::GetSettingToDisplay( return permission.setting; } @@ -3447,7 +3454,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. #include "components/content_settings/browser/ui/cookie_controls_controller.h" #include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_uma_util.h" -@@ -1391,6 +1392,14 @@ bool PageInfo::ShouldShowPermission( +@@ -1393,6 +1394,14 @@ bool PageInfo::ShouldShowPermission( } #endif // BUILDFLAG(IS_ANDROID) @@ -3462,7 +3469,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info. // Note |ContentSettingsType::ADS| will show up regardless of its default // value when it has been activated on the current origin. if (info.type == ContentSettingsType::ADS) { -@@ -1514,7 +1523,19 @@ void PageInfo::PresentSitePermissions() { +@@ -1516,7 +1525,19 @@ void PageInfo::PresentSitePermissions() { HostContentSettingsMap* content_settings = GetContentSettings(); DCHECK(web_contents_); @@ -3494,7 +3501,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in #include "components/page_info/core/features.h" #include "components/page_info/page_info.h" #include "components/page_info/page_info_ui.h" -@@ -251,6 +252,13 @@ void CreateOppositeToDefaultSiteException( +@@ -256,6 +257,13 @@ void CreateOppositeToDefaultSiteException( std::u16string GetPermissionAskStateString(ContentSettingsType type) { int message_id = kInvalidResourceID; @@ -3508,7 +3515,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in switch (type) { case ContentSettingsType::GEOLOCATION: message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK; -@@ -549,6 +557,12 @@ PageInfoUI::~PageInfoUI() = default; +@@ -560,6 +568,12 @@ PageInfoUI::~PageInfoUI() = default; // static std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -3521,7 +3528,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id); -@@ -559,6 +573,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { +@@ -570,6 +584,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { // static std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( ContentSettingsType type) { @@ -3534,7 +3541,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) { if (info.type == type) return l10n_util::GetStringUTF16(info.string_id_mid_sentence); -@@ -952,6 +972,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { +@@ -963,6 +983,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { if (info.type == type) return true; } @@ -3589,7 +3596,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc --- a/third_party/blink/renderer/core/execution_context/execution_context.cc +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc -@@ -78,6 +78,22 @@ +@@ -70,6 +70,22 @@ namespace blink { @@ -3615,7 +3622,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -44,6 +44,7 @@ +@@ -43,6 +43,7 @@ #include "third_party/blink/public/mojom/origin_trials/origin_trial_feature.mojom-blink-forward.h" #include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h" #include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h" @@ -3623,10 +3630,10 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h" #include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/execution_context/security_context.h" -@@ -136,6 +137,10 @@ class TrustedTypePolicyFactory; - class WebCodecsLogger; - class WebPrintingManager; - class WebViewAndroid; +@@ -97,6 +98,10 @@ class SecurityOrigin; + class ScriptState; + class ScriptWrappable; + class TrustedTypePolicyFactory; +class WebContentSettingsClient; + +CORE_EXPORT WebContentSettingsClient* GetContentSettingsClientFor( diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index 2bc5c4f6..0fa3d0f9 100644 --- a/build/patches/Cromite-Branding--improve-settings-ui.patch +++ b/build/patches/Cromite-Branding--improve-settings-ui.patch @@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -683,7 +683,7 @@ chrome_java_resources = [ +@@ -658,7 +658,7 @@ chrome_java_resources = [ "java/res/xml/manage_sync_preferences.xml", "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/incognito_preferences.xml", @@ -30,16 +30,16 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -11,7 +11,7 @@ found in the LICENSE file. - - +@@ -12,7 +12,7 @@ found in the LICENSE file. + android:key="settings_promo_card" + android:order="0" /> 29220 bytes .../layered_app_icon_background.png | Bin 3519 -> 142032 bytes .../values/channel_constants.xml | 8 +- - .../about_settings/AboutChromeSettings.java | 4 +- .../ChromeContextMenuPopulator.java | 2 +- .../browser/fullscreen/FullscreenToast.java | 2 +- .../inline/BromiteInlineUpdateController.java | 19 +++- @@ -69,7 +68,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html content/child/runtime_features.cc | 44 ++++----- .../Cromite-Branding.inc | 2 + tools/grit/grit/grd_reader.py | 35 +++++++ - 65 files changed, 265 insertions(+), 175 deletions(-) + 64 files changed, 263 insertions(+), 173 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc diff --git a/build/BUILD.gn b/build/BUILD.gn @@ -139,8 +138,8 @@ diff --git a/chrome/android/java/res/xml/legal_information_preferences.xml b/chr diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -12,20 +12,20 @@ found in the LICENSE file. - +@@ -13,20 +13,20 @@ found in the LICENSE file. + android:order="0" /> Cromite search
+ Cromite quick action search -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java -@@ -82,7 +82,9 @@ public class AboutChromeSettings extends ChromeBaseSettingsFragment - p.setSummary(AboutSettingsBridge.getOSVersion()); - p = findPreference(PREF_LEGAL_INFORMATION); - assumeNonNull(p); -- int currentYear = CalendarFactory.get().get(Calendar.YEAR); -+ Calendar calendar = CalendarFactory.get(); -+ calendar.setTimeInMillis(System.currentTimeMillis()); -+ int currentYear = calendar.get(Calendar.YEAR); - p.setSummary(getString(R.string.legal_information_summary, currentYear)); - - ChromeSwitchPreference allowInlineUpdate = diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java -@@ -481,8 +481,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -485,8 +485,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { && !isEmptyUrl(mParams.getUrl()) && UrlUtilities.isAcceptedScheme(mParams.getUrl())) { if (mMode == ContextMenuMode.NORMAL) { @@ -9230,7 +9215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -909,12 +909,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -913,12 +913,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { if (tab.canGoBack()) { return ActionType.NAVIGATE_BACK; } @@ -13223,7 +13208,7 @@ e)fqMZZ`3a)Ds&5H -- ++ + - -+ ++ + @@ -13321,7 +13307,7 @@ diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.x - android:layout_width="44dp" - android:layout_height="match_parent" - android:contentDescription="@string/search" -- android:src="@drawable/ic_search" +- android:src="@drawable/ic_search_24dp" - android:tooltipText="@string/accessibility_search_loupe_tooltip_text" style="@style/ToolbarMenuButton" - app:tint="@color/default_icon_color_tint_list" /> @@ -13444,7 +13430,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.build.annotations.NullMarked; import org.chromium.chrome.browser.omnibox.OmniboxMetrics; import org.chromium.chrome.browser.omnibox.R; -@@ -111,8 +112,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout { +@@ -112,8 +113,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout { // Omnibox. // Making the container `clickable=true` achieves similar goal, but this consumes all // activators, including keyboard key. @@ -13461,7 +13447,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -2380,7 +2380,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2378,7 +2378,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome @@ -13470,7 +13456,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Application version -@@ -5845,7 +5845,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5868,7 +5868,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -13526,7 +13512,7 @@ diff --git a/chrome/install_static/chromium_install_modes.cc b/chrome/install_st diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd -@@ -1020,7 +1020,7 @@ +@@ -994,7 +994,7 @@ @@ -18434,7 +18420,7 @@ i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -1106,6 +1106,7 @@ bool AutocompleteController::ShouldRunProvider( +@@ -1105,6 +1105,7 @@ bool AutocompleteController::ShouldRunProvider( #if BUILDFLAG(IS_ANDROID) if (omnibox::IsAndroidHub(input_.current_page_classification())) { @@ -19195,7 +19181,7 @@ diff --git a/components/webui/version/resources/about_version_mobile.css b/compo diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -573,19 +573,22 @@ void ResolveInvalidConfigurations() { +@@ -576,19 +576,22 @@ void ResolveInvalidConfigurations() { base::FeatureList::IsEnabled( features::kPrivacySandboxAdsAPIsM1Override)) && !base::FeatureList::IsEnabled(blink::features::kFencedFrames)) { @@ -19222,7 +19208,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Fenced frames must be enabled in order to enable local " "unpartitioned " << "data access. Use --" << switches::kEnableFeatures << "=" -@@ -593,12 +596,14 @@ void ResolveInvalidConfigurations() { +@@ -596,12 +599,14 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableFeatureFromString( "FencedFramesLocalUnpartitionedDataAccess", false); } @@ -19238,7 +19224,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "Topics cannot be enabled in this configuration. Use --" << switches::kEnableFeatures << "=" << network::features::kBrowsingTopics.name << " in addition."; -@@ -606,30 +611,23 @@ void ResolveInvalidConfigurations() { +@@ -609,30 +614,23 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableTopicsDocumentAPI(false); WebRuntimeFeatures::EnableTopicsImgAPI(false); } else { @@ -19275,7 +19261,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "AttributionReporting cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -637,23 +635,25 @@ void ResolveInvalidConfigurations() { +@@ -640,23 +638,25 @@ void ResolveInvalidConfigurations() { << " in addition."; WebRuntimeFeatures::EnableAttributionReporting(false); } diff --git a/build/patches/Customize-selection-popup.patch b/build/patches/Customize-selection-popup.patch index fab4fb31..c6c66ecc 100644 --- a/build/patches/Customize-selection-popup.patch +++ b/build/patches/Customize-selection-popup.patch @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -897,10 +897,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -888,10 +888,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt @TabLaunchType int type, @TabCreationState int creationState, boolean markedForSelection) { @@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java -@@ -250,6 +250,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat +@@ -248,6 +248,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat // Skip opening a new Tab if it doesn't make sense. if (mTab.isClosing()) return false; @@ -121,14 +121,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit WindowAndroid window = mTab.getWindowAndroid(); boolean openingPopup = window != null -@@ -294,7 +302,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat +@@ -300,7 +308,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat mTab, /* shouldPin= */ false, webContents, - TabLaunchType.FROM_LONGPRESS_FOREGROUND, + tabLaunchType, targetUrl, - !openingPopup && !willReparentTab); + addTabToModel); if (tab == null) return false; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java @@ -140,8 +140,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo +import org.chromium.base.ContextUtils; import org.chromium.base.ObserverList; import org.chromium.base.TraceEvent; - import org.chromium.base.supplier.ObservableSupplier; -@@ -247,6 +248,13 @@ public class LayoutManagerImpl + import org.chromium.base.supplier.NonNullObservableSupplier; +@@ -249,6 +250,13 @@ public class LayoutManagerImpl != TabLaunchType .FROM_COLLABORATION_BACKGROUND_IN_GROUP) || (!getTabModelSelector().isIncognitoSelected() && incognito); @@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -33,6 +33,7 @@ import androidx.core.view.WindowInsetsCompat; +@@ -36,6 +36,7 @@ import androidx.core.view.WindowInsetsCompat; import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.DeviceInfo; @@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.base.TraceEvent; import org.chromium.base.lifetime.Destroyable; import org.chromium.base.metrics.RecordUserAction; -@@ -1021,11 +1022,16 @@ public class RootUiCoordinator +@@ -1033,11 +1034,16 @@ public class RootUiCoordinator TrackerFactory.getTrackerForProfile(tab.getProfile()) .notifyEvent(EventConstants.WEB_SEARCH_PERFORMED); @@ -390,7 +390,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java -@@ -1114,7 +1114,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -1115,7 +1115,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper private boolean handleAssistMenuItemClick(int order) { // Primary assist action is always the first action in the list so offset by 1. diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch index 48a0f74c..7011ead1 100644 --- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch +++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -409,8 +409,17 @@ class LocationBarMediator +@@ -411,8 +411,17 @@ class LocationBarMediator if (!mUrlFocusedWithPastedText && !shouldRetainOmniboxOnFocus && mLocationBarLayout.shouldClearTextOnFocus()) { @@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } else if (shouldRetainOmniboxOnFocus) { mUrlCoordinator.setSelectAllOnFocus(true); } -@@ -1898,7 +1907,6 @@ class LocationBarMediator +@@ -1921,7 +1930,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -67,7 +67,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import android.os.SystemClock; import android.text.Editable; import android.text.InputType; -@@ -116,6 +117,7 @@ public class UrlBar extends AutocompleteEditText { +@@ -112,6 +113,7 @@ public class UrlBar extends AutocompleteEditText { private boolean mAllowFocus = true; private boolean mShouldSendTypingStartedEvent; @@ -75,7 +75,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private boolean mPendingScroll; private boolean mIsInCct; -@@ -369,6 +371,28 @@ public class UrlBar extends AutocompleteEditText { +@@ -374,6 +376,28 @@ public class UrlBar extends AutocompleteEditText { fixupTextDirection(); mShouldSendTypingStartedEvent = focused; diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index e76581b1..ce09af05 100644 --- a/build/patches/Disable-Accessibility-service-by-default.patch +++ b/build/patches/Disable-Accessibility-service-by-default.patch @@ -42,7 +42,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java -@@ -1142,6 +1142,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa +@@ -1205,6 +1205,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa structure.setChildCount(0); return; } diff --git a/build/patches/Disable-Android-Tab-Declutter.patch b/build/patches/Disable-Android-Tab-Declutter.patch index b00b7f22..de287a54 100644 --- a/build/patches/Disable-Android-Tab-Declutter.patch +++ b/build/patches/Disable-Android-Tab-Declutter.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -96,7 +96,8 @@ found in the LICENSE file. +@@ -97,7 +97,8 @@ found in the LICENSE file. android:fragment="org.chromium.chrome.browser.tasks.tab_management.TabsSettings" android:key="tabs" android:order="18" diff --git a/build/patches/Disable-CSSDynamicRangeLimit.patch b/build/patches/Disable-CSSDynamicRangeLimit.patch index daa4fc80..73c23e9b 100644 --- a/build/patches/Disable-CSSDynamicRangeLimit.patch +++ b/build/patches/Disable-CSSDynamicRangeLimit.patch @@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1419,7 +1419,7 @@ +@@ -1431,7 +1431,7 @@ }, { name: "CSSDynamicRangeLimit", diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index 6a2e72cb..66be0f42 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -20,7 +20,9 @@ +@@ -21,7 +21,9 @@ #include "chrome/browser/browser_features.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/commerce/shopping_service_factory.h" @@ -23,7 +23,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui #include "chrome/browser/history_embeddings/history_embeddings_utils.h" #include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h" #include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h" -@@ -359,7 +361,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -358,7 +360,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt)); #if BUILDFLAG(ENABLE_COMPOSE) diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch index 21aff747..2e89fa59 100644 --- a/build/patches/Disable-Compression-Dictionary-Transport.patch +++ b/build/patches/Disable-Compression-Dictionary-Transport.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1452,8 +1452,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1449,8 +1449,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true); registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true); registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins); diff --git a/build/patches/Disable-Device-Attributes-API.patch b/build/patches/Disable-Device-Attributes-API.patch index 55c56795..a9353d30 100644 --- a/build/patches/Disable-Device-Attributes-API.patch +++ b/build/patches/Disable-Device-Attributes-API.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/device_api/device_service_impl.cc b/chrome/browser/device_api/device_service_impl.cc --- a/chrome/browser/device_api/device_service_impl.cc +++ b/chrome/browser/device_api/device_service_impl.cc -@@ -155,6 +155,7 @@ bool IsPermissionsPolicyFeatureEnabled() { +@@ -154,6 +154,7 @@ bool IsPermissionsPolicyFeatureEnabled() { bool IsTrustedContext(content::RenderFrameHost& host, const url::Origin& origin) { @@ -18,7 +18,7 @@ diff --git a/chrome/browser/device_api/device_service_impl.cc b/chrome/browser/d // Do not create the service for the incognito mode. if (GetProfile(host)->IsIncognitoProfile()) { return false; -@@ -350,6 +351,10 @@ void DeviceServiceImpl::GetAnnotatedLocation( +@@ -349,6 +350,10 @@ void DeviceServiceImpl::GetAnnotatedLocation( void DeviceServiceImpl::GetDeviceAttribute( void (DeviceAttributeApi::*method)(DeviceAttributeCallback callback), DeviceAttributeCallback callback) { diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch index a494ace5..8438d384 100644 --- a/build/patches/Disable-FedCm.patch +++ b/build/patches/Disable-FedCm.patch @@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -640,7 +640,7 @@ void ContentSettingsRegistry::Init() { +@@ -639,7 +639,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION, @@ -47,7 +47,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2286,7 +2286,7 @@ +@@ -2321,7 +2321,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index 1b6272f8..ec18c5f2 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -28,7 +28,7 @@ diff --git a/base/android/java/src/org/chromium/base/PackageUtils.java b/base/an diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java -@@ -49,7 +49,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity; +@@ -51,7 +51,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity; import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler; import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata; import org.chromium.chrome.browser.flags.ChromeFeatureList; @@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.pdf.PdfUtils; import org.chromium.chrome.browser.profiles.Profile; -@@ -303,9 +302,6 @@ public class IntentHandler { +@@ -306,9 +305,6 @@ public class IntentHandler { public static final String EXTRA_TIPS_NOTIFICATION_FEATURE_TYPE = "org.chromium.chrome.browser.tips_notification_feature_type"; @@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** Action to launch the Chrome Item Picker UI, e.g.: tabs. */ public static final String EXTRA_OPEN_CHROME_ITEM_PICKER = "org.chromium.chrome.browser.actions.open_chrome_item_picker"; -@@ -313,7 +309,6 @@ public class IntentHandler { +@@ -316,7 +312,6 @@ public class IntentHandler { /** Optional extra for the maximum number of items the user can select. */ public static final String EXTRA_ITEM_PICKER_MAX_SELECTABLE_ITEMS = "org.chromium.chrome.browser.extras.item_picker_max_selectable_items"; @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j public static final String EXTRA_ITEM_PICKER_ERROR = "org.chromium.chrome.browser.chrome_item_picker.EXTRA_ITEM_PICKER_ERROR"; -@@ -569,8 +564,6 @@ public class IntentHandler { +@@ -572,8 +567,6 @@ public class IntentHandler { return ExternalAppId.LINE; } else if (PACKAGE_WHATSAPP.equals(packageName)) { return ExternalAppId.WHATSAPP; @@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils import org.chromium.components.externalauth.ExternalAuthUtils; /** This class provides utilities for intenting into Google Lens. */ -@@ -50,12 +49,7 @@ public class LensUtils { +@@ -49,12 +48,7 @@ public class LensUtils { if (context == null) { return ""; } @@ -87,7 +87,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils } } -@@ -78,15 +72,11 @@ public class LensUtils { +@@ -77,15 +71,11 @@ public class LensUtils { * @return Whether the package is valid. */ public static boolean isValidAgsaPackage() { diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 17394e94..302c3c06 100644 --- a/build/patches/Disable-GetInstalledRelatedApps-API.patch +++ b/build/patches/Disable-GetInstalledRelatedApps-API.patch @@ -58,7 +58,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3037,9 +3037,8 @@ +@@ -3085,9 +3085,8 @@ status: "stable", }, { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index 1b350f05..65dba78d 100644 --- a/build/patches/Disable-PrivacyGuide.patch +++ b/build/patches/Disable-PrivacyGuide.patch @@ -22,7 +22,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -336,8 +336,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -335,8 +335,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) #endif // BUILDFLAG(IS_CHROMEOS) bool show_privacy_guide = diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch index 67e1ad3c..a472a91a 100644 --- a/build/patches/Disable-Real-Box.patch +++ b/build/patches/Disable-Real-Box.patch @@ -5,15 +5,15 @@ Subject: Disable Real Box Real-box is search box in ntp --- chrome/browser/prefs/browser_prefs.cc | 2 +- - .../browser/resources/new_tab_page/app.html | 19 ------------------- + .../browser/resources/new_tab_page/app.html | 21 ------------------- .../searchbox/searchbox_handler.cc | 1 + components/search/ntp_features.cc | 4 ++-- - 4 files changed, 4 insertions(+), 22 deletions(-) + 4 files changed, 4 insertions(+), 24 deletions(-) diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -1987,7 +1987,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2026,7 +2026,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -25,7 +25,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html --- a/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html -@@ -40,25 +40,6 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js'; +@@ -40,27 +40,6 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js'; ?hidden="${!this.showScrim_}"> ` : ''}
@@ -44,17 +44,19 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res - searchbox-layout-mode="${this.realboxLayoutMode_}" - ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}" - ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}" +- ?show-canvas="${this.showCanvas_}" +- ?show-model-picker="${this.showModelPicker_}" - @searchbox-input-focus-changed="${this.onInputFocusChanged_}" - context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}" - ?multi-line-enabled="${this.multiLineEnabled_}"> - ${this.showComposebox_ ? html` - ${this.enableModalComposebox_ ? html` -
+
+ diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc --- a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc +++ b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -299,6 +299,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source, +@@ -298,6 +298,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source, Profile* profile, bool enable_voice_search, bool enable_lens_search) { diff --git a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch index d6a30c23..3bff77fb 100644 --- a/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch +++ b/build/patches/Disable-Sticky-User-Activation-Across-Same-Origin-Navigation.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -4951,8 +4951,8 @@ +@@ -5076,8 +5076,8 @@ { // Preserves the sticky user activation state after a page navigates to // another same-origin page. https://crbug.com/433729626 diff --git a/build/patches/Disable-TLS-resumption.patch b/build/patches/Disable-TLS-resumption.patch index 02f6d79f..45100e3e 100644 --- a/build/patches/Disable-TLS-resumption.patch +++ b/build/patches/Disable-TLS-resumption.patch @@ -79,7 +79,7 @@ new file mode 100644 diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc --- a/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc -@@ -218,6 +218,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params, +@@ -217,6 +217,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params, next_protos_.push_back(NextProto::kProtoHTTP11); @@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc --- a/net/quic/quic_session_pool.cc +++ b/net/quic/quic_session_pool.cc -@@ -380,6 +380,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() { +@@ -381,6 +381,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() { } // namespace @@ -175,7 +175,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket Disconnect(); } -@@ -709,6 +735,8 @@ int SSLClientSocketImpl::Init() { +@@ -711,6 +737,8 @@ int SSLClientSocketImpl::Init() { } if (session) SSL_set_session(ssl_.get(), session.get()); @@ -184,7 +184,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket } transport_adapter_ = std::make_unique( -@@ -986,6 +1014,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { +@@ -988,6 +1016,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { : SSLHandshakeDetails::kTLS13Full; } } @@ -220,7 +220,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); // Measure TLS connections that implement the renegotiation_info and EMS -@@ -1625,6 +1682,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { +@@ -1627,6 +1684,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { } bool SSLClientSocketImpl::IsCachingEnabled() const { @@ -232,7 +232,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h --- a/net/socket/ssl_client_socket_impl.h +++ b/net/socket/ssl_client_socket_impl.h -@@ -127,6 +127,8 @@ class NET_EXPORT_PRIVATE SSLClientSocketImpl +@@ -128,6 +128,8 @@ class NET_EXPORT_PRIVATE SSLClientSocketImpl friend class SSLContext; FRIEND_TEST_ALL_PREFIXES(SSLClientSocketTest, ParseServerTrustAnchorIDs); diff --git a/build/patches/Disable-Viewport-Segments.patch b/build/patches/Disable-Viewport-Segments.patch index b78b4ee3..a2c9e22a 100644 --- a/build/patches/Disable-Viewport-Segments.patch +++ b/build/patches/Disable-Viewport-Segments.patch @@ -21,7 +21,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -5592,8 +5592,7 @@ +@@ -5699,8 +5699,7 @@ status: "stable", }, { diff --git a/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch b/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch index d76537a9..f323dfd1 100644 --- a/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch +++ b/build/patches/Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -347,8 +347,13 @@ void ContentSettingsRegistry::Init() { +@@ -346,8 +346,13 @@ void ContentSettingsRegistry::Init() { ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE, PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); diff --git a/build/patches/Disable-WebGPU.patch b/build/patches/Disable-WebGPU.patch index 34ecf660..71448dac 100644 --- a/build/patches/Disable-WebGPU.patch +++ b/build/patches/Disable-WebGPU.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -552,6 +552,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -555,6 +555,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( WebRuntimeFeatures::EnableRemotePlayback(false); @@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc -@@ -196,7 +196,7 @@ BASE_FEATURE(kEnableDrDc, +@@ -190,7 +190,7 @@ BASE_FEATURE(kEnableDrDc, // enabled by default on supported platforms. #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_ANDROID) || BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP) @@ -36,7 +36,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blink/renderer/modules/webgpu/gpu.cc --- a/third_party/blink/renderer/modules/webgpu/gpu.cc +++ b/third_party/blink/renderer/modules/webgpu/gpu.cc -@@ -153,6 +153,8 @@ GPU::GPU(NavigatorBase& navigator) +@@ -157,6 +157,8 @@ GPU::GPU(NavigatorBase& navigator) GPU::~GPU() = default; WGSLLanguageFeatures* GPU::wgslLanguageFeatures() const { @@ -45,7 +45,7 @@ diff --git a/third_party/blink/renderer/modules/webgpu/gpu.cc b/third_party/blin return wgsl_language_features_.Get(); } -@@ -404,6 +406,7 @@ ScriptPromise> GPU::requestAdapter( +@@ -412,6 +414,7 @@ ScriptPromise> GPU::requestAdapter( "WebGPU is experimental on this platform. See " "https://github.com/gpuweb/gpuweb/wiki/" "Implementation-Status#implementation-status")); diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index 4402f5c8..27b55766 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -5,86 +5,85 @@ Subject: Disable all predictors code Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/browser/BUILD.gn | 3 --- - .../background_download_service_factory.cc | 2 +- - .../preloading_model_keyed_service.cc | 3 +++ - .../preloading_model_keyed_service_factory.cc | 4 +--- - .../optimization_guide/chrome_hints_manager.cc | 1 + - .../model_validator_keyed_service.cc | 6 +++++- - .../optimization_guide_keyed_service.cc | 1 - - .../password_change_delegate_impl.cc | 2 ++ - chrome/browser/permissions/BUILD.gn | 2 -- - .../permissions/chrome_permissions_client.cc | 2 -- - .../passage_embedder_delegate.cc | 2 ++ - .../permissions_ai_ui_selector.cc | 5 +++++ - .../permissions_ai_ui_selector.h | 5 ++++- - .../prediction_model_handler_provider.cc | 12 +++++++++--- - .../prediction_model_handler_provider.h | 2 ++ - .../quiet_notification_permission_ui_state.cc | 4 ++-- - .../autocomplete_action_predictor.cc | 2 ++ - .../predictors/loading_predictor_config.cc | 4 ++-- - .../browser/predictors/predictors_features.cc | 3 +-- - .../search_prefetch/field_trial_settings.cc | 4 ++++ - .../search_prefetch_url_loader_interceptor.cc | 1 + - ...chrome_browser_main_extra_parts_profiles.cc | 1 - - chrome/browser/safe_browsing/BUILD.gn | 1 - - ...cation_content_detection_service_factory.cc | 6 ++++++ - .../preloading/AndroidPrerenderManager.java | 1 + - .../ui/autofill/chrome_autofill_client.cc | 13 +------------ - chrome/browser/ui/tab_helpers.cc | 1 - - .../autofill_ml_internals_page_handler.cc | 2 ++ - .../autofill_ml_internals_page_handler.h | 3 +++ - .../autofill_ml_internals_ui.cc | 3 +++ - .../read_anything/read_aloud_app_model.cc | 16 ++++++++++++++-- - .../read_anything/read_aloud_app_model.h | 9 ++++++++- - .../read_anything_app_controller.cc | 10 ++++++++++ - .../read_anything_app_controller.h | 4 ++++ - chrome/test/BUILD.gn | 2 -- - chrome/utility/BUILD.gn | 2 +- - chrome/utility/services.cc | 8 -------- - components/BUILD.gn | 2 +- - .../browser/foundations/autofill_manager.cc | 6 ++++++ - .../browser/foundations/autofill_manager.h | 3 +++ - .../autofill_optimization_guide_decider.cc | 5 +++-- - .../field_classification_model_handler.cc | 12 ++++++++---- - .../field_classification_model_handler.h | 10 ++++++++-- - .../aim_eligibility_service_features.cc | 1 + - .../omnibox/browser/autocomplete_controller.cc | 4 ++++ - .../omnibox/browser/base_search_provider.cc | 4 ++-- - .../prediction_model_download_manager.cc | 6 ++++-- - .../delivery/prediction_model_fetcher_impl.cc | 1 + - .../core/hints/hints_fetcher.cc | 1 + - .../core/hints/hints_manager.cc | 2 ++ - .../core/optimization_guide_features.cc | 11 +++++------ - components/optimization_guide/features.gni | 3 +-- - .../core/page_content_annotations_features.cc | 7 +++++++ - .../page_content_annotations_model_manager.cc | 1 + - .../notification_content_detection/BUILD.gn | 4 ---- - components/viz/service/BUILD.gn | 4 ++-- - components/viz/service/gl/gpu_service_impl.cc | 18 ------------------ - content/browser/BUILD.gn | 6 +++--- - content/browser/gpu/gpu_process_host.cc | 6 +++--- - .../service_worker_main_resource_loader.cc | 1 + - .../Disable-all-predictors-code.inc | 2 ++ - .../Disable-all-predictors-code.inc | 1 + - .../Disable-all-predictors-code.inc | 1 + - .../Disable-all-predictors-code.inc | 1 + - .../Disable-all-predictors-code.inc | 5 +++++ - .../Disable-all-predictors-code.inc | 1 + - .../Disable-all-predictors-code.inc | 1 + - .../Disable-all-predictors-code.inc | 2 ++ - media/webrtc/BUILD.gn | 5 +++++ - media/webrtc/helpers.cc | 3 ++- - services/on_device_model/ml/BUILD.gn | 2 +- - services/on_device_model/ml/ts_model.cc | 4 ++-- - services/on_device_model/safety/BUILD.gn | 2 +- - services/webnn/BUILD.gn | 2 +- - services/webnn/features.gni | 2 +- - services/webnn/webnn_context_provider_impl.cc | 13 +------------ - .../core/html/parser/html_document_parser.cc | 1 + - .../document_speculation_rules.cc | 1 + - .../platform/runtime_enabled_features.json5 | 2 +- - 79 files changed, 198 insertions(+), 123 deletions(-) + chrome/browser/BUILD.gn | 3 -- + .../background_download_service_factory.cc | 2 +- + .../preloading_model_keyed_service.cc | 3 ++ + .../preloading_model_keyed_service_factory.cc | 4 +-- + .../chrome_hints_manager.cc | 1 + + .../model_validator_keyed_service.cc | 6 +++- + .../optimization_guide_keyed_service.cc | 1 - + .../password_change_delegate_impl.cc | 2 ++ + chrome/browser/permissions/BUILD.gn | 2 -- + .../permissions/chrome_permissions_client.cc | 2 -- + .../passage_embedder_delegate.cc | 2 ++ + .../permissions_ai_ui_selector.cc | 5 ++++ + .../permissions_ai_ui_selector.h | 5 +++- + .../prediction_model_handler_provider.cc | 12 ++++++-- + .../prediction_model_handler_provider.h | 2 ++ + .../quiet_notification_permission_ui_state.cc | 4 +-- + .../autocomplete_action_predictor.cc | 2 ++ + .../predictors/loading_predictor_config.cc | 4 +-- + .../browser/predictors/predictors_features.cc | 3 +- + .../search_prefetch/field_trial_settings.cc | 4 +++ + .../search_prefetch_url_loader_interceptor.cc | 1 + + ...hrome_browser_main_extra_parts_profiles.cc | 1 - + chrome/browser/safe_browsing/BUILD.gn | 1 - + ...ation_content_detection_service_factory.cc | 6 ++++ + .../preloading/AndroidPrerenderManager.java | 1 + + .../ui/autofill/chrome_autofill_client.cc | 13 +------- + chrome/browser/ui/tab_helpers.cc | 1 - + .../autofill_ml_internals_page_handler.cc | 2 ++ + .../autofill_ml_internals_page_handler.h | 3 ++ + .../autofill_ml_internals_ui.cc | 3 ++ + .../read_anything/read_aloud_app_model.cc | 16 ++++++++-- + .../read_anything/read_aloud_app_model.h | 9 +++++- + .../read_anything_app_controller.cc | 10 +++++++ + .../read_anything_app_controller.h | 4 +++ + chrome/test/BUILD.gn | 2 -- + chrome/utility/BUILD.gn | 2 +- + chrome/utility/services.cc | 8 ----- + components/BUILD.gn | 2 +- + .../browser/foundations/autofill_manager.cc | 6 ++++ + .../browser/foundations/autofill_manager.h | 3 ++ + .../autofill_optimization_guide_decider.cc | 5 ++-- + .../field_classification_model_handler.cc | 12 +++++--- + .../field_classification_model_handler.h | 10 +++++-- + .../aim_eligibility_service_features.cc | 1 + + .../browser/autocomplete_controller.cc | 4 +++ + .../omnibox/browser/base_search_provider.cc | 4 +-- + .../prediction_model_download_manager.cc | 6 ++-- + .../delivery/prediction_model_fetcher_impl.cc | 1 + + .../core/hints/hints_fetcher.cc | 1 + + .../core/hints/hints_manager.cc | 2 ++ + .../core/optimization_guide_features.cc | 11 ++++--- + components/optimization_guide/features.gni | 3 +- + .../core/page_content_annotations_features.cc | 7 +++++ + .../page_content_annotations_model_manager.cc | 1 + + .../notification_content_detection/BUILD.gn | 4 --- + components/viz/service/BUILD.gn | 4 +-- + components/viz/service/gl/gpu_service_impl.cc | 18 ----------- + content/browser/BUILD.gn | 6 ++-- + content/browser/gpu/gpu_process_host.cc | 6 ++-- + .../service_worker_main_resource_loader.cc | 1 + + .../Disable-all-predictors-code.inc | 2 ++ + .../Disable-all-predictors-code.inc | 1 + + .../Disable-all-predictors-code.inc | 1 + + .../Disable-all-predictors-code.inc | 1 + + .../Disable-all-predictors-code.inc | 5 ++++ + .../Disable-all-predictors-code.inc | 1 + + .../Disable-all-predictors-code.inc | 1 + + .../Disable-all-predictors-code.inc | 2 ++ + media/webrtc/BUILD.gn | 5 ++++ + media/webrtc/helpers.cc | 3 +- + services/on_device_model/ml/ts_model.cc | 4 +-- + services/on_device_model/safety/BUILD.gn | 2 +- + services/webnn/BUILD.gn | 2 +- + services/webnn/features.gni | 2 +- + services/webnn/webnn_context_provider_impl.cc | 30 +------------------ + .../core/html/parser/html_document_parser.cc | 1 + + .../document_speculation_rules.cc | 1 + + .../platform/runtime_enabled_features.json5 | 2 +- + 78 files changed, 197 insertions(+), 139 deletions(-) create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc @@ -97,7 +96,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -731,8 +731,6 @@ static_library("browser") { +@@ -718,8 +718,6 @@ static_library("browser") { "navigation_predictor/navigation_predictor_keyed_service_factory.h", "navigation_predictor/navigation_predictor_metrics_document_data.cc", "navigation_predictor/navigation_predictor_metrics_document_data.h", @@ -106,7 +105,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "navigation_predictor/preloading_model_keyed_service.cc", "navigation_predictor/preloading_model_keyed_service.h", "navigation_predictor/preloading_model_keyed_service_factory.cc", -@@ -2364,7 +2362,6 @@ static_library("browser") { +@@ -2329,7 +2327,6 @@ static_library("browser") { "//components/resources", "//components/safe_browsing/content/browser", "//components/safe_browsing/content/browser:safe_browsing_service", @@ -179,7 +178,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc b/chrome/browser/optimization_guide/model_validator_keyed_service.cc --- a/chrome/browser/optimization_guide/model_validator_keyed_service.cc +++ b/chrome/browser/optimization_guide/model_validator_keyed_service.cc -@@ -69,13 +69,13 @@ namespace optimization_guide { +@@ -68,13 +68,13 @@ namespace optimization_guide { ModelValidatorKeyedService::ModelValidatorKeyedService(Profile* profile) : profile_(profile) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -194,7 +193,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc if (switches::ShouldValidateModel()) { // Create the validator object which will get destroyed when the model // load is complete. -@@ -136,6 +136,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged( +@@ -135,6 +135,7 @@ void ModelValidatorKeyedService::OnPrimaryAccountChanged( void ModelValidatorKeyedService::StartModelExecutionValidation() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); @@ -202,7 +201,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); if (!opt_guide_service) { -@@ -154,6 +155,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() { +@@ -153,6 +154,7 @@ void ModelValidatorKeyedService::StartModelExecutionValidation() { /*options=*/{}, base::BindOnce(&ModelValidatorKeyedService::OnModelExecuteResponse, weak_ptr_factory_.GetWeakPtr())); @@ -210,7 +209,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc } void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( -@@ -171,6 +173,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( +@@ -170,6 +172,7 @@ void ModelValidatorKeyedService::StartOnDeviceModelExecutionValidation( void ModelValidatorKeyedService::PerformOnDeviceModelExecutionValidation( std::unique_ptr input) { @@ -218,7 +217,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); auto* opt_guide_service = OptimizationGuideKeyedServiceFactory::GetForProfile(profile_); -@@ -218,6 +221,7 @@ void ModelValidatorKeyedService::ExecuteModel( +@@ -217,6 +220,7 @@ void ModelValidatorKeyedService::ExecuteModel( *metadata, base::BindRepeating( &ModelValidatorKeyedService::OnDeviceModelExecuteResponse, weak_ptr_factory_.GetWeakPtr(), std::move(request))); @@ -229,7 +228,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc -@@ -420,7 +420,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( +@@ -422,7 +422,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( void OptimizationGuideKeyedService::RegisterOptimizationTypes( const std::vector& optimization_types) { @@ -240,13 +239,14 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service. diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/chrome/browser/password_manager/password_change_delegate_impl.cc --- a/chrome/browser/password_manager/password_change_delegate_impl.cc +++ b/chrome/browser/password_manager/password_change_delegate_impl.cc -@@ -353,11 +353,13 @@ void PasswordChangeDelegateImpl::StartPasswordChangeFlow() { +@@ -354,12 +354,14 @@ void PasswordChangeDelegateImpl::StartPasswordChangeFlow() { // a local ML model for field classification. // TODO(452883239): Clean this up when model is downloaded on start-up for // everybody. +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) if (base::FeatureList::IsEnabled( - password_manager::features::kDownloadModelForPasswordChange)) { + password_manager::features:: + kProactivelyDownloadModelForPasswordChange)) { PasswordFieldClassificationModelHandlerFactory::GetForBrowserContext( originator_->GetBrowserContext()); } @@ -269,7 +269,7 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc --- a/chrome/browser/permissions/chrome_permissions_client.cc +++ b/chrome/browser/permissions/chrome_permissions_client.cc -@@ -482,8 +482,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -474,8 +474,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -343,7 +343,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h --- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h +++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h -@@ -118,13 +118,14 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector { +@@ -119,13 +119,14 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector { void set_snapshot_for_testing(SkBitmap snapshot); #endif @@ -359,7 +359,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel void set_callback_for_testing(DecisionMadeCallback callback) { callback_ = std::move(callback); } -@@ -175,10 +176,12 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector { +@@ -176,10 +177,12 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector { // later. When the text is fetched asynchronously with success, // model_execution_callback will get called to continue the chain of // asynchronously added input data. @@ -425,7 +425,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h --- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h +++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h -@@ -55,9 +55,11 @@ class PredictionModelHandlerProvider +@@ -61,9 +61,11 @@ class PredictionModelHandlerProvider #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) private: @@ -436,7 +436,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand +#endif #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) - std::unique_ptr + // LINT.IfChange(ModelHandlers) diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc --- a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc +++ b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc @@ -516,9 +516,9 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -1217,7 +1217,6 @@ void ChromeBrowserMainExtraPartsProfiles:: - #else - policy::UserPolicySigninServiceFactory::GetInstance(); +@@ -1208,7 +1208,6 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + policy::UserPolicyOidcSigninServiceFactory::GetInstance(); #endif - PredictionModelHandlerProviderFactory::GetInstance(); PredictionServiceFactory::GetInstance(); @@ -527,7 +527,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -54,7 +54,6 @@ static_library("safe_browsing") { +@@ -57,7 +57,6 @@ static_library("safe_browsing") { "//components/resources:components_resources_grit", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -586,7 +586,7 @@ diff --git a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/b diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -564,7 +564,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { +@@ -566,7 +566,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { } AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() { @@ -595,7 +595,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows } AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() { -@@ -1384,18 +1384,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( +@@ -1396,18 +1396,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( optimization_guide::ModelQualityLogsUploaderService* ChromeAutofillClient::GetMqlsUploadService() { @@ -617,14 +617,14 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -464,7 +464,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -458,7 +458,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); - NavigationPredictorPreconnectClient::CreateForWebContents(web_contents); - OpenerHeuristicService::Get(web_contents->GetBrowserContext()); if (optimization_guide::features::IsOptimizationHintsEnabled()) { OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents); + } diff --git a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc --- a/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc +++ b/chrome/browser/ui/webui/autofill_ml_internals/autofill_ml_internals_page_handler.cc @@ -821,7 +821,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr #include "chrome/renderer/accessibility/read_anything/read_aloud_traversal_utils.h" #include "chrome/renderer/accessibility/read_anything/read_anything_app_model.h" #include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h" -@@ -1810,6 +1812,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1928,6 +1930,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); @@ -829,7 +829,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr // Get the dependency parser model used by phrase-based highlighting. if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) { return; -@@ -1818,6 +1821,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -1936,6 +1939,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); @@ -837,7 +837,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::OnCopy() const { -@@ -2062,8 +2066,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { +@@ -2192,8 +2196,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { } void ReadAnythingAppController::PreprocessTextForSpeech() { @@ -848,7 +848,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::MovePositionToNextGranularity() { -@@ -2320,14 +2326,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { +@@ -2536,14 +2542,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { @@ -880,7 +880,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; -@@ -313,7 +315,9 @@ class ReadAnythingAppController +@@ -339,7 +341,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); @@ -893,7 +893,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -5812,8 +5812,6 @@ if (!is_android) { +@@ -5843,8 +5843,6 @@ if (!is_android) { "//chrome/browser/ui/exclusive_access:test_support", "//chrome/browser/ui/hats", "//components/safe_browsing/content/browser:safe_browsing_blocking_page", @@ -917,7 +917,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc --- a/chrome/utility/services.cc +++ b/chrome/utility/services.cc -@@ -245,13 +245,6 @@ auto RunMirroringService( +@@ -242,13 +242,6 @@ auto RunMirroringService( #endif // !BUILDFLAG(IS_ANDROID) @@ -931,18 +931,18 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) auto RunSpeechRecognitionService( mojo::PendingReceiver receiver) { -@@ -440,7 +433,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { - services.Add(RunWebAppOriginAssociationParser); +@@ -436,7 +429,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) { + services.Add(RunUnzipper); services.Add(RunCSVPasswordParser); services.Add(ContentBookmarkParser); - services.Add(RunPassageEmbeddingsService); #if !BUILDFLAG(IS_ANDROID) - services.Add(RunProfileImporter); + services.Add(RunOakSessionService); diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -629,7 +629,7 @@ test("components_unittests") { +@@ -630,7 +630,7 @@ test("components_unittests") { "//components/media_router/common/providers/cast/channel:unit_tests", "//components/one_time_tokens/core/browser:unit_tests", "//components/page_info:unit_tests", @@ -954,7 +954,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc --- a/components/autofill/core/browser/foundations/autofill_manager.cc +++ b/components/autofill/core/browser/foundations/autofill_manager.cc -@@ -135,8 +135,10 @@ struct AutofillManager::AsyncContext { +@@ -136,8 +136,10 @@ struct AutofillManager::AsyncContext { std::vector forms; std::vector regex_predictions; @@ -965,7 +965,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ GeoIpCountryCode country_code; LanguageCode current_page_language; std::unique_ptr log_manager; -@@ -894,12 +896,14 @@ void AutofillManager::UpdateFormCache( +@@ -903,12 +905,14 @@ void AutofillManager::UpdateFormCache( auto apply_predictions = [](FormStructure& form_structure, const AsyncContext& context, size_t i) { @@ -980,7 +980,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ if (!context.regex_predictions.empty()) { context.regex_predictions[i].ApplyTo(form_structure.fields()); } -@@ -990,6 +994,7 @@ void AutofillManager::LogCurrentFieldTypes( +@@ -1022,6 +1026,7 @@ void AutofillManager::LogCurrentFieldTypes( } } @@ -988,7 +988,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ void AutofillManager::SubscribeToMlModelChanges( FieldClassificationModelHandler& handler) { switch (handler.optimization_target()) { -@@ -1013,5 +1018,6 @@ void AutofillManager::SubscribeToMlModelChanges( +@@ -1045,5 +1050,6 @@ void AutofillManager::SubscribeToMlModelChanges( NOTREACHED(); } } @@ -1006,7 +1006,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c #include "components/translate/core/browser/translate_driver.h" namespace autofill { -@@ -374,10 +375,12 @@ class AutofillManager +@@ -378,10 +379,12 @@ class AutofillManager // Reparses all known forms. void ReparseKnownForms(); @@ -1022,7 +1022,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c diff --git a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc --- a/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc +++ b/components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc -@@ -273,6 +273,7 @@ void AutofillOptimizationGuideDecider::OnPaymentsDataLoaded( +@@ -284,6 +284,7 @@ void AutofillOptimizationGuideDecider::OnPaymentsDataLoaded( // If we do not have any optimization types to register, do not do anything. if (!optimization_types.empty()) { @@ -1030,7 +1030,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut decider_->RegisterOptimizationTypes( std::vector( std::move(optimization_types).extract())); -@@ -380,7 +381,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockSingleFieldSuggestions( +@@ -388,7 +389,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockSingleFieldSuggestions( const AutofillField* field) const { // If the field's storable type is `IBAN_VALUE`, check whether IBAN // suggestions should be blocked based on `url`. @@ -1039,7 +1039,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut optimization_guide::OptimizationGuideDecision decision = decider_->CanApplyOptimization( url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED, -@@ -406,7 +407,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockFormFieldSuggestion( +@@ -414,7 +415,7 @@ bool AutofillOptimizationGuideDecider::ShouldBlockFormFieldSuggestion( const CreditCard& card) const { if (auto optimization_type = GetVcnMerchantOptOutOptimizationTypeForCard(card); @@ -1071,7 +1071,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode // Store the model in memory as soon as it is available and keep it loaded for // the whole browser session since we query predictions very regularly. // TODO(crbug.com/40276177): Maybe change both back to default behavior if we -@@ -164,6 +162,7 @@ void FieldClassificationModelHandler::ApplySmallFormRules( +@@ -166,6 +164,7 @@ void FieldClassificationModelHandler::ApplySmallFormRules( } } @@ -1079,7 +1079,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode autofill_ml_internals::mojom::MlPredictionLogPtr FieldClassificationModelHandler::CreateMlPredictionLog( const FormData& form) const { -@@ -236,6 +235,7 @@ FieldClassificationModelHandler::CreateMlPredictionLog( +@@ -238,6 +237,7 @@ FieldClassificationModelHandler::CreateMlPredictionLog( prediction_log->start_time = base::Time::Now(); return prediction_log; } @@ -1087,7 +1087,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode void PopulateMlPredictionLogAfterInference( autofill_ml_internals::mojom::MlPredictionLog& prediction_log, -@@ -264,9 +264,11 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm( +@@ -267,9 +267,11 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm( std::optional prediction_log = std::nullopt; @@ -1099,7 +1099,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode FieldClassificationModelEncoder::ModelInput encoded_input = state_->encoder.EncodeForm(form); -@@ -331,11 +333,13 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm( +@@ -335,11 +337,13 @@ void FieldClassificationModelHandler::GetModelPredictionsForForm( predicted_types); } } @@ -1138,7 +1138,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode ~FieldClassificationModelHandler() override; // This function asynchronously queries predictions for the `form_structure` -@@ -136,8 +138,10 @@ class FieldClassificationModelHandler +@@ -143,8 +145,10 @@ class FieldClassificationModelHandler ModelInputHash CalculateModelInputHash( const FieldClassificationModelEncoder::ModelInput& input); @@ -1149,7 +1149,7 @@ diff --git a/components/autofill/core/browser/ml_model/field_classification_mode // Converts a `TokenId` to the string representation. std::string TokenIdToString( -@@ -163,7 +167,9 @@ class FieldClassificationModelHandler +@@ -170,7 +174,9 @@ class FieldClassificationModelHandler ModelChangeCallbackList model_change_callback_list_; @@ -1173,7 +1173,7 @@ diff --git a/components/omnibox/browser/aim_eligibility_service_features.cc b/co diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -53,7 +53,9 @@ +@@ -52,7 +52,9 @@ #include "components/omnibox/browser/autocomplete_match.h" #include "components/omnibox/browser/autocomplete_match_type.h" #include "components/omnibox/browser/autocomplete_provider.h" @@ -1183,7 +1183,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h" #include "components/omnibox/browser/bookmark_provider.h" #include "components/omnibox/browser/bookmark_scoring_signals_annotator.h" -@@ -128,6 +130,7 @@ using ProviderType = AutocompleteProvider::Type; +@@ -127,6 +129,7 @@ using ProviderType = AutocompleteProvider::Type; constexpr bool is_android = !!BUILDFLAG(IS_ANDROID); @@ -1191,7 +1191,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ void RecordMlScoreCoverage(size_t matches_with_non_null_scores, size_t total_scored_matches) { int percent_score_coverage = -@@ -236,6 +239,7 @@ void RecordTotalMatchesScored(size_t num_scored) { +@@ -235,6 +238,7 @@ void RecordTotalMatchesScored(size_t num_scored) { base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches", num_scored); } @@ -1259,7 +1259,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo diff --git a/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc --- a/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc +++ b/components/optimization_guide/core/delivery/prediction_model_fetcher_impl.cc -@@ -52,6 +52,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels( +@@ -53,6 +53,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels( proto::RequestContext request_context, const std::string& locale, ModelsFetchedCallback models_fetched_callback) { @@ -1281,7 +1281,7 @@ diff --git a/components/optimization_guide/core/hints/hints_fetcher.cc b/compone diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/components/optimization_guide/core/hints/hints_manager.cc --- a/components/optimization_guide/core/hints/hints_manager.cc +++ b/components/optimization_guide/core/hints/hints_manager.cc -@@ -457,6 +457,7 @@ void HintsManager::Shutdown() { +@@ -461,6 +461,7 @@ void HintsManager::Shutdown() { OptimizationGuideDecision HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision( OptimizationTypeDecision optimization_type_decision) { @@ -1289,7 +1289,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone switch (optimization_type_decision) { case OptimizationTypeDecision::kAllowedByOptimizationFilter: case OptimizationTypeDecision::kAllowedByHint: -@@ -2057,4 +2058,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys( +@@ -2063,4 +2064,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys( hint_cache_->RemoveHintsForHosts(std::move(on_success), hint_keys); } @@ -1298,7 +1298,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc --- a/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc -@@ -41,11 +41,7 @@ namespace features { +@@ -40,11 +40,7 @@ namespace features { namespace { constexpr auto enabled_by_default_mobile_only = @@ -1310,7 +1310,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -254,8 +250,7 @@ size_t MaxHostKeyedHintCacheSize() { +@@ -253,8 +249,7 @@ size_t MaxHostKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -1320,7 +1320,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -603,5 +598,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() { +@@ -602,5 +597,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() { return kGetAIPageContentMainFrameTimeoutParam.Get(); } @@ -1346,7 +1346,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc --- a/components/page_content_annotations/core/page_content_annotations_features.cc +++ b/components/page_content_annotations/core/page_content_annotations_features.cc -@@ -69,6 +69,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{ +@@ -55,6 +55,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{ bool IsSupportedLocale(const std::string& locale, const std::string& supported_locales) { @@ -1354,7 +1354,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (supported_locales == "*") { return true; } -@@ -88,6 +89,7 @@ bool IsSupportedLocale(const std::string& locale, +@@ -74,6 +75,7 @@ bool IsSupportedLocale(const std::string& locale, bool IsSupportedCountry(const std::string& country_code, const std::string& supported_countries) { @@ -1362,7 +1362,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (supported_countries == "*") { return true; } -@@ -295,6 +297,7 @@ bool IsSupportedLocaleForFeature( +@@ -270,6 +272,7 @@ bool IsSupportedLocaleForFeature( const std::string& locale, const base::Feature& feature, const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") { @@ -1370,7 +1370,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (!base::FeatureList::IsEnabled(feature)) { return false; } -@@ -312,6 +315,7 @@ bool IsSupportedLocaleForFeature( +@@ -287,6 +290,7 @@ bool IsSupportedLocaleForFeature( bool IsSupportedCountryForFeature(const std::string& country_code, const base::Feature& feature, const std::string& default_value) { @@ -1378,7 +1378,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (!base::FeatureList::IsEnabled(feature)) { return false; } -@@ -326,4 +330,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code, +@@ -301,4 +305,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code, return IsSupportedCountry(country_code, value); } @@ -1428,7 +1428,7 @@ diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/service/gl/gpu_service_impl.cc --- a/components/viz/service/gl/gpu_service_impl.cc +++ b/components/viz/service/gl/gpu_service_impl.cc -@@ -649,24 +649,6 @@ void GpuServiceImpl::BindWebNNContextProvider( +@@ -657,24 +657,6 @@ void GpuServiceImpl::BindWebNNContextProvider( std::move(pending_receiver), client_id)); return; } @@ -1456,7 +1456,7 @@ diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/serv diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -270,9 +270,9 @@ source_set("browser") { +@@ -271,9 +271,9 @@ source_set("browser") { "//services/viz/public/cpp/gpu", "//services/viz/public/mojom", "//services/webnn:buildflags", @@ -1472,7 +1472,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc --- a/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc -@@ -1346,9 +1346,9 @@ bool GpuProcessHost::LaunchGpuProcess() { +@@ -1338,9 +1338,9 @@ bool GpuProcessHost::LaunchGpuProcess() { cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames); cmd_line->CopySwitchesFrom(browser_command_line, switches::kGLSwitchesCopiedFromGpuProcessHost); @@ -1488,10 +1488,10 @@ diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_p diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc --- a/content/browser/service_worker/service_worker_main_resource_loader.cc +++ b/content/browser/service_worker/service_worker_main_resource_loader.cc -@@ -550,6 +550,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload( - bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( +@@ -537,6 +537,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( scoped_refptr context, - scoped_refptr version) { + scoped_refptr version, + base::OnceCallback clone_completed_for_fetch_handler_callback) { + if ((true)) return false; // Set fetch_handler_bypass_option to tell the renderer that // RaceNetworkRequest is enabled. @@ -1592,18 +1592,6 @@ diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc if (residual_echo_estimator_model) { optimization_guide::TFLiteOpResolver op_resolver; echo_estimator = webrtc::CreateNeuralResidualEchoEstimator( -diff --git a/services/on_device_model/ml/BUILD.gn b/services/on_device_model/ml/BUILD.gn ---- a/services/on_device_model/ml/BUILD.gn -+++ b/services/on_device_model/ml/BUILD.gn -@@ -83,7 +83,7 @@ if (use_blink || (is_ios && build_with_internal_optimization_guide)) { - if (use_blink) { - deps += [ "//gpu/config" ] - } -- if (!is_fuchsia && build_with_tflite_lib) { -+ if (build_with_tflite_lib && !is_fuchsia) { - deps += [ "//services/on_device_model/safety:bert_safety_model" ] - } - if (is_win || is_mac || is_linux) { diff --git a/services/on_device_model/ml/ts_model.cc b/services/on_device_model/ml/ts_model.cc --- a/services/on_device_model/ml/ts_model.cc +++ b/services/on_device_model/ml/ts_model.cc @@ -1640,7 +1628,7 @@ diff --git a/services/on_device_model/safety/BUILD.gn b/services/on_device_model diff --git a/services/webnn/BUILD.gn b/services/webnn/BUILD.gn --- a/services/webnn/BUILD.gn +++ b/services/webnn/BUILD.gn -@@ -169,7 +169,7 @@ component("webnn_service") { +@@ -175,7 +175,7 @@ component("webnn_service") { } } @@ -1664,20 +1652,37 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webnn_context_provider_impl.cc --- a/services/webnn/webnn_context_provider_impl.cc +++ b/services/webnn/webnn_context_provider_impl.cc -@@ -244,18 +244,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( +@@ -237,35 +237,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( } #if BUILDFLAG(IS_WIN) - if (ort::ShouldCreateOrtContext(*options)) { +- const base::CommandLine* command_line = +- base::CommandLine::ForCurrentProcess(); +- - scoped_trace.AddStep("EnsureWebNNExecutionProvidersReady"); - +- // If ignore IHV EPs, use empty `ep_package_info` to create the ORT context. +- if (command_line->HasSwitch(switches::kWebNNOrtIgnoreIhvEps)) { +- DidEnsureWebNNExecutionProvidersReady( +- std::move(scoped_trace), std::move(options), +- std::move(write_tensor_producer), std::move(write_tensor_consumer), +- std::move(read_tensor_producer), std::move(read_tensor_consumer), +- command_buffer_id, std::move(gpu_sequence), +- std::move(owning_task_runner), std::move(receiver), std::move(remote), +- std::move(callback), +- /*ep_package_info=*/{}); +- return; +- } +- - gpu_host_->EnsureWebNNExecutionProvidersReady(base::BindOnce( - &WebNNContextProviderImpl::DidEnsureWebNNExecutionProvidersReady, - AsWeakPtr(), std::move(scoped_trace), std::move(options), - std::move(write_tensor_producer), std::move(write_tensor_consumer), - std::move(read_tensor_producer), std::move(read_tensor_consumer), -- command_buffer_id, std::move(sequence), std::move(owning_task_runner), -- std::move(receiver), std::move(remote), std::move(callback))); +- command_buffer_id, std::move(gpu_sequence), +- std::move(owning_task_runner), std::move(receiver), std::move(remote), +- std::move(callback))); - return; - } else if (dml::ShouldCreateDmlContext(*options)) { + if (dml::ShouldCreateDmlContext(*options)) { @@ -1687,7 +1692,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc b/third_party/blink/renderer/core/html/parser/html_document_parser.cc --- a/third_party/blink/renderer/core/html/parser/html_document_parser.cc +++ b/third_party/blink/renderer/core/html/parser/html_document_parser.cc -@@ -1846,6 +1846,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( +@@ -1832,6 +1832,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( } bool HTMLDocumentParser::ShouldSkipPreloadScan() { @@ -1698,7 +1703,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc --- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc +++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc -@@ -659,6 +659,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { +@@ -665,6 +665,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() { return; } @@ -1709,7 +1714,7 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3989,7 +3989,7 @@ +@@ -4078,7 +4078,7 @@ // // It also has some feature params defined throughout the codebase. name: "Prerender2", diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch index 7ba2f9ff..3bf18a32 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1858,6 +1858,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1880,6 +1880,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -29,7 +29,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -187,7 +187,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -185,7 +185,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -85,7 +85,7 @@ diff --git a/chrome/browser/user_education/user_education_service_factory.cc b/c diff --git a/components/user_education/common/feature_promo/feature_promo_registry.cc b/components/user_education/common/feature_promo/feature_promo_registry.cc --- a/components/user_education/common/feature_promo/feature_promo_registry.cc +++ b/components/user_education/common/feature_promo/feature_promo_registry.cc -@@ -20,6 +20,7 @@ FeaturePromoRegistry& FeaturePromoRegistry::operator=( +@@ -19,6 +19,7 @@ FeaturePromoRegistry& FeaturePromoRegistry::operator=( FeaturePromoRegistry::~FeaturePromoRegistry() = default; void FeaturePromoRegistry::RegisterFeature(FeaturePromoSpecification spec) { @@ -93,7 +93,7 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist const base::Feature* const iph_feature = spec.feature(); CHECK(iph_feature); CHECK_NE(FeaturePromoSpecification::PromoType::kUnspecified, -@@ -35,6 +36,7 @@ NewBadgeRegistry& NewBadgeRegistry::operator=( +@@ -34,6 +35,7 @@ NewBadgeRegistry& NewBadgeRegistry::operator=( NewBadgeRegistry::~NewBadgeRegistry() = default; void NewBadgeRegistry::RegisterFeature(NewBadgeSpecification spec) { diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index b4ec7e8d..6a3c2ecc 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -54,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc -@@ -1352,6 +1352,7 @@ network::mojom::AttributionSupport +@@ -1357,6 +1357,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -62,7 +62,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv // WebView only supports OS-level attribution and not web-attribution. switch (state) { case AttributionReportingOsApiState::kDisabled: -@@ -1370,6 +1371,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1375,6 +1376,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -74,7 +74,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java --- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java +++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java -@@ -202,7 +202,7 @@ public class AwSettings { +@@ -201,7 +201,7 @@ public class AwSettings { private boolean mSpatialNavigationEnabled; // Default depends on device features. private boolean mEnableSupportedHardwareAcceleratedFeatures; private int mMixedContentMode = WebSettings.MIXED_CONTENT_NEVER_ALLOW; @@ -83,7 +83,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1795,7 +1795,7 @@ public class AwSettings { +@@ -1806,7 +1806,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -95,7 +95,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja diff --git a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml --- a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml +++ b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml -@@ -178,9 +178,6 @@ +@@ -184,9 +184,6 @@ android:exported="true"> @@ -116,7 +116,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -525,7 +530,7 @@ are declared in tools/grit/grit_args.gni. +@@ -528,7 +533,7 @@ are declared in tools/grit/grit_args.gni. Disable @@ -143,7 +143,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -2348,6 +2348,9 @@ +@@ -2428,6 +2428,9 @@ URL with %s in place of query @@ -421,7 +421,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3735,6 +3735,9 @@ static_library("browser") { +@@ -3704,6 +3704,9 @@ static_library("browser") { "//components/user_scripts/android", ] } @@ -434,7 +434,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc --- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc +++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc -@@ -368,6 +368,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -375,6 +375,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( #endif // !BUILDFLAG(IS_CHROMEOS) >(map); @@ -540,27 +540,27 @@ diff --git a/chrome/browser/resources/settings/people_page/sync_controls.ts b/ch import {PluralStringProxyImpl} from 'chrome://resources/js/plural_string_proxy.js'; import {sanitizeInnerHtml} from 'chrome://resources/js/parse_html_subset.js'; +// - import {BatchUploadPromoProxy} from 'chrome://resources/js/batch_upload_promo/batch_upload_promo_proxy.js'; + import {BatchUploadPromoProxyImpl} from 'chrome://resources/js/batch_upload_promo/batch_upload_promo_proxy.js'; // +// // clang-format on -@@ -166,7 +168,7 @@ export class SettingsSyncControlsElement extends +@@ -159,7 +161,7 @@ export class SettingsSyncControlsElement extends this.addWebUiListener( 'sync-prefs-changed', this.handleSyncPrefsChanged_.bind(this)); - // + // if (loadTimeData.getBoolean('unoPhase2FollowUp')) { - BatchUploadPromoProxy.getInstance() + BatchUploadPromoProxyImpl.getInstance() .callbackRouter.onLocalDataCountChanged.addListener( -@@ -261,7 +263,9 @@ export class SettingsSyncControlsElement extends +@@ -251,7 +253,9 @@ export class SettingsSyncControlsElement extends // Prevent navigation to href='#' and open the batch upload dialog instead. event.preventDefault(); +// - BatchUploadPromoProxy.getInstance().handler.onBatchUploadPromoClicked(); + BatchUploadPromoProxyImpl.getInstance().handler.onBatchUploadPromoClicked(); +// } // @@ -906,9 +906,9 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -691,7 +691,11 @@ static_library("ui") { - ] - } +@@ -680,7 +680,11 @@ static_library("ui") { + if (is_desktop_android) { + deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ] } - + if (is_android) { @@ -919,7 +919,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn # TODO(crbug.com/413572035): Move into build files of the actual # modules depending on this. eg: autofill, user_education. if (is_chrome_branded) { -@@ -1027,6 +1031,25 @@ static_library("ui") { +@@ -1028,6 +1032,25 @@ static_library("ui") { "//extensions/browser:extension_action_enums", ] } @@ -1141,10 +1141,14 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -455,4 +460,7 @@ void RegisterChromeWebUIConfigs() { +@@ -456,8 +461,10 @@ void RegisterChromeWebUIConfigs() { #if BUILDFLAG(ENTERPRISE_WATERMARK) map.AddWebUIConfig(std::make_unique()); #endif +- + #if BUILDFLAG(IS_MAC) + map.AddWebUIConfig(std::make_unique()); + #endif // BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_ANDROID) + map.AddWebUIConfig(std::make_unique()); +#endif // BUILDFLAG(IS_ANDROID) @@ -1152,7 +1156,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui/favicon_source.cc --- a/chrome/browser/ui/webui/favicon_source.cc +++ b/chrome/browser/ui/webui/favicon_source.cc -@@ -235,6 +235,7 @@ bool FaviconSource::ShouldServiceRequest( +@@ -242,6 +242,7 @@ bool FaviconSource::ShouldServiceRequest( render_process_id); } @@ -1160,7 +1164,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui ui::NativeTheme* FaviconSource::GetNativeTheme( const content::WebContents::Getter& wc_getter) { #if BUILDFLAG(IS_ANDROID) -@@ -243,6 +244,7 @@ ui::NativeTheme* FaviconSource::GetNativeTheme( +@@ -250,6 +251,7 @@ ui::NativeTheme* FaviconSource::GetNativeTheme( return webui::GetNativeThemeDeprecated(wc_getter.Run()); #endif } @@ -1168,7 +1172,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui void FaviconSource::OnFaviconDataAvailable( content::URLDataSource::GotDataCallback callback, -@@ -265,8 +267,12 @@ void FaviconSource::SendDefaultResponse( +@@ -273,8 +275,12 @@ void FaviconSource::SendDefaultResponse( SendDefaultResponse( std::move(callback), parsed.size_in_dip, parsed.device_scale_factor, !parsed.force_light_mode && @@ -1181,7 +1185,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui parsed.force_empty_default_favicon ? DefaultFaviconBehavior::kUseEmptyIcon : DefaultFaviconBehavior::kUseGlobeIcon); -@@ -289,8 +295,12 @@ void FaviconSource::SendDefaultResponse( +@@ -297,8 +303,12 @@ void FaviconSource::SendDefaultResponse( DefaultFaviconBehavior behavior) { SendDefaultResponse(std::move(callback), 16, 1.0f, !force_light_mode && @@ -1194,7 +1198,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui behavior); } -@@ -309,6 +319,7 @@ void FaviconSource::SendDefaultResponse( +@@ -317,6 +327,7 @@ void FaviconSource::SendDefaultResponse( int resource_id; switch (size_in_dip) { @@ -1202,7 +1206,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui case 64: resource_id = dark_mode ? IDR_DEFAULT_FAVICON_DARK_64 : IDR_DEFAULT_FAVICON_64; -@@ -317,6 +328,7 @@ void FaviconSource::SendDefaultResponse( +@@ -325,6 +336,7 @@ void FaviconSource::SendDefaultResponse( resource_id = dark_mode ? IDR_DEFAULT_FAVICON_DARK_32 : IDR_DEFAULT_FAVICON_32; break; @@ -1213,7 +1217,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/favicon_source.h --- a/chrome/browser/ui/webui/favicon_source.h +++ b/chrome/browser/ui/webui/favicon_source.h -@@ -69,7 +69,9 @@ class FaviconSource : public content::URLDataSource { +@@ -68,7 +68,9 @@ class FaviconSource : public content::URLDataSource { int render_process_id) override; protected: @@ -1358,7 +1362,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2790,6 +2790,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { +@@ -2872,6 +2872,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { {"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL}, {"searchEnginesQueryURLExplanation", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION}, @@ -1367,7 +1371,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide {"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT}, {"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE}, {"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE}, -@@ -4105,7 +4107,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -4185,7 +4187,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, AddSiteSettingsStrings(html_source, profile); AddSiteDataPageStrings(html_source, profile); AddStorageAccessStrings(html_source); @@ -1904,7 +1908,7 @@ new file mode 100644 diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc --- a/components/search_engines/android/template_url_service_android.cc +++ b/components/search_engines/android/template_url_service_android.cc -@@ -423,7 +423,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine( +@@ -419,7 +419,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( if (regulatory_api_turl->safe_for_autoreplace()) { template_url_service_->ResetTemplateURL( regulatory_api_turl, regulatory_api_turl->short_name(), @@ -1916,7 +1920,7 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc --- a/components/search_engines/search_engines_switches.cc +++ b/components/search_engines/search_engines_switches.cc -@@ -43,6 +43,7 @@ const base::FeatureParam kSearchEngineChoiceTriggerRepromptParams{ +@@ -48,6 +48,7 @@ const base::FeatureParam kSearchEngineChoiceTriggerRepromptParams{ &kSearchEngineChoiceTriggerReprompt, /*name=*/"reprompt", /*default_value=*/kSearchEngineChoiceNoRepromptString}; @@ -1927,7 +1931,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -2208,6 +2208,10 @@ void TemplateURL::SetURL(const std::string& url) { +@@ -2215,6 +2215,10 @@ void TemplateURL::SetURL(const std::string& url) { url_ref().InvalidateCachedValues(); } @@ -1941,7 +1945,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h --- a/components/search_engines/template_url.h +++ b/components/search_engines/template_url.h -@@ -1014,6 +1014,7 @@ class TemplateURL { +@@ -1013,6 +1013,7 @@ class TemplateURL { bool CreatedByRegulatoryProgram() const; void SetURL(const std::string& url); @@ -1952,7 +1956,7 @@ diff --git a/components/search_engines/template_url.h b/components/search_engine diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc -@@ -803,13 +803,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( +@@ -802,13 +802,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1969,7 +1973,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear return Add(std::move(template_url)); } -@@ -1030,7 +1032,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { +@@ -1029,7 +1031,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -1979,7 +1983,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear DCHECK(!IsCreatedByExtension(*url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -1050,6 +1053,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, +@@ -1049,6 +1052,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, // The urls have changed, reset the favicon url. data.favicon_url = GURL(); } @@ -2013,7 +2017,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui_impl.cc --- a/content/browser/webui/web_ui_impl.cc +++ b/content/browser/webui/web_ui_impl.cc -@@ -376,6 +376,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message, +@@ -403,6 +403,10 @@ void WebUIImpl::RegisterMessageCallback(std::string_view message, message_callbacks_.emplace(message, std::move(callback)); } @@ -2024,7 +2028,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, const std::string& message, base::Value::List args) { -@@ -389,9 +393,15 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, +@@ -416,9 +420,15 @@ void WebUIImpl::ProcessWebUIMessage(const GURL& source_url, return; } @@ -2046,7 +2050,7 @@ diff --git a/content/browser/webui/web_ui_impl.cc b/content/browser/webui/web_ui diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_impl.h --- a/content/browser/webui/web_ui_impl.h +++ b/content/browser/webui/web_ui_impl.h -@@ -86,6 +86,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { +@@ -92,6 +92,7 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { void ProcessWebUIMessage(const GURL& source_url, const std::string& message, base::Value::List args) override; @@ -2054,8 +2058,8 @@ diff --git a/content/browser/webui/web_ui_impl.h b/content/browser/webui/web_ui_ bool CanCallJavascript() override; void CallJavascriptFunctionUnsafe( std::string_view function_name, -@@ -169,6 +170,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { - +@@ -177,6 +178,8 @@ class CONTENT_EXPORT WebUIImpl : public WebUI, public mojom::WebUIHost { + std::unique_ptr broker_; std::unique_ptr controller_; + bool do_not_crash_on_unhandled_message_ = false; @@ -2103,7 +2107,7 @@ diff --git a/third_party/polymer/v3_0/BUILD.gn b/third_party/polymer/v3_0/BUILD. if (is_chromeos_ash) { js_files += [ "iron-a11y-announcer/iron-a11y-announcer.js", -@@ -237,6 +247,12 @@ ts_library("library") { +@@ -233,6 +243,12 @@ ts_library("library") { [ "components-chromium/iron-fit-behavior/iron-fit-behavior.d.ts" ] } @@ -2298,8 +2302,8 @@ diff --git a/ui/webui/resources/cr_components/theme_color_picker/BUILD.gn b/ui/w diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_elements/BUILD.gn --- a/ui/webui/resources/cr_elements/BUILD.gn +++ b/ui/webui/resources/cr_elements/BUILD.gn -@@ -36,7 +36,7 @@ build_webui("build") { - "cr_tabs/cr_tabs.css", +@@ -49,7 +49,7 @@ build_webui("build") { + "cr_icon_button/cr_icon_button.css", ] - if ((!is_android && !is_ios) || is_desktop_android) { @@ -2307,7 +2311,7 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_ele web_component_files += [ "cr_a11y_announcer/cr_a11y_announcer.ts" ] ts_files += [ -@@ -141,7 +141,7 @@ build_webui("build") { +@@ -144,7 +144,7 @@ build_webui("build") { ] } diff --git a/build/patches/Enable-snackbar-swipe.patch b/build/patches/Enable-snackbar-swipe.patch index 93f23b85..5f19ecfc 100644 --- a/build/patches/Enable-snackbar-swipe.patch +++ b/build/patches/Enable-snackbar-swipe.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java --- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java +++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarView.java -@@ -10,13 +10,16 @@ import android.animation.Animator; +@@ -8,13 +8,16 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.Activity; @@ -29,8 +29,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro import android.view.View.OnLayoutChangeListener; import android.view.ViewGroup; import android.widget.FrameLayout; -@@ -33,6 +36,9 @@ import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; - import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerFactory; +@@ -30,6 +33,9 @@ import org.chromium.build.annotations.Nullable; + import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController; import org.chromium.chrome.ui.messages.R; import org.chromium.components.browser_ui.styles.SemanticColorUtils; +import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener; @@ -38,8 +38,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro +import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.SwipeHandler; import org.chromium.components.browser_ui.widget.text.TemplatePreservingTextView; import org.chromium.ui.base.WindowAndroid; - import org.chromium.ui.edge_to_edge.EdgeToEdgePadAdjuster; -@@ -46,7 +52,7 @@ import org.chromium.ui.interpolators.Interpolators; + import org.chromium.ui.insets.InsetObserver; +@@ -42,7 +48,7 @@ import org.chromium.ui.interpolators.Interpolators; // TODO (jianli): Change this class and its methods back to package protected after the offline // indicator experiment is done. @NullMarked @@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro private static final int MAX_LINES = 5; private static final int DEFAULT_LINES = 2; -@@ -88,6 +94,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -83,6 +89,16 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { } }; @@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro /** * Creates an instance of the {@link SnackbarView}. * -@@ -147,13 +163,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { +@@ -116,13 +132,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { // Make sure clicks are not consumed by content beneath the container view. mContainerView.setClickable(true); @@ -85,11 +85,10 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro mSnackbarView = mContainerView.findViewById(R.id.snackbar); mAnimationDuration = mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime); -@@ -508,4 +523,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { - public @Nullable EdgeToEdgePadAdjuster getEdgeToEdgePadAdjusterForTesting() { - return mEdgeToEdgePadAdjuster; +@@ -235,6 +250,60 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver { + return mContainerView.isShown(); } -+ + + @Override + public boolean onTouch(View v, MotionEvent event) { + return mSwipeGestureListener.onTouchEvent(event); @@ -111,7 +110,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro + mContainerView.setTranslationX(tx); + } + -+ @Override ++ @Override + public void onSwipeFinished() { + if (!mSwipeStarted) return; + mSwipeStarted = false; @@ -143,5 +142,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro + public boolean isSwipeEnabled(@ScrollDirection int direction) { + return direction == ScrollDirection.LEFT || direction == ScrollDirection.RIGHT; + } - } ++ + void bringToFront() { + mContainerView.bringToFront(); + } -- diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch index aaa2909a..84a7adf9 100644 --- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch +++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch @@ -101,7 +101,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts --- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts +++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.ts -@@ -1468,6 +1468,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume +@@ -1489,6 +1489,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content."); inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking."); inspectorBackend.registerCommand("Debugger.setBlackboxExecutionContexts", [{"name": "uniqueIds", "type": "array", "optional": false, "description": "Array of execution context unique ids for the debugger to ignore.", "typeRef": "string"}], [], "Replace previous blackbox execution contexts with passed ones. Forces backend to skip stepping/pausing in scripts in these execution contexts. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful."); @@ -115,7 +115,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts -@@ -5157,6 +5157,10 @@ export namespace ProtocolMapping { +@@ -5195,6 +5195,10 @@ export namespace ProtocolMapping { paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest]; returnType: void; }; @@ -129,7 +129,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts -@@ -4616,6 +4616,8 @@ declare namespace ProtocolProxyApi { +@@ -4648,6 +4648,8 @@ declare namespace ProtocolProxyApi { */ invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise; @@ -141,7 +141,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts --- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts +++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts -@@ -19979,6 +19979,10 @@ export namespace Debugger { +@@ -20379,6 +20379,10 @@ export namespace Debugger { uniqueIds: string[]; } @@ -155,7 +155,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json --- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json +++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json -@@ -30380,8 +30380,17 @@ +@@ -30891,8 +30891,17 @@ "$ref": "WasmDisassemblyChunk" } ] @@ -175,7 +175,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools "name": "nextWasmDisassemblyChunk", "description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.", "experimental": true, -@@ -33571,4 +33580,4 @@ +@@ -34082,4 +34091,4 @@ ] } ] @@ -199,7 +199,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h --- a/v8/src/common/message-template.h +++ b/v8/src/common/message-template.h -@@ -763,6 +763,7 @@ namespace internal { +@@ -775,6 +775,7 @@ namespace internal { /* AggregateError */ \ T(AllPromisesRejected, "All promises were rejected") \ T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \ diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index 0bfc7b21..6e3c5f7d 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -160,7 +160,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j -@@ -90,11 +81,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon +@@ -91,11 +82,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon android:key="autofill_options" android:order="16" android:title="@string/autofill_options_title" /> @@ -172,7 +172,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j @@ -904,7 +904,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h -@@ -730,11 +730,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -727,11 +727,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { CreateURLLoaderHandlerForServiceWorkerNavigationPreload( content::FrameTreeNodeId frame_tree_node_id, const network::ResourceRequest& resource_request) override; @@ -1171,7 +1171,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/autofill/core/common/autofill_prefs.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/browsing_data/core/pref_names.h" -@@ -183,6 +184,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -182,6 +183,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { } s_allowlist = new PrefsUtil::TypedPrefMap(); @@ -1194,7 +1194,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -259,7 +259,6 @@ +@@ -255,7 +255,6 @@ #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" #include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h" @@ -1202,7 +1202,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "components/adblock/content/browser/factories/content_security_policy_injector_factory.h" #include "components/adblock/content/browser/factories/element_hider_factory.h" #include "components/adblock/content/browser/factories/resource_classification_runner_factory.h" -@@ -967,7 +966,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -953,7 +952,6 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -1221,7 +1221,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc "appearance_page/appearance_fonts_page.ts", "appearance_page/appearance_page_index.ts", "appearance_page/appearance_page.ts", -@@ -442,6 +443,7 @@ build_webui("build") { +@@ -446,6 +447,7 @@ build_webui("build") { ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", "//tools/typescript/definitions/chrome_event.d.ts", @@ -1790,7 +1790,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -272,6 +272,10 @@ function createRoutes(): SettingsRoutes { +@@ -277,6 +277,10 @@ function createRoutes(): SettingsRoutes { '/onStartup', 'onStartup', loadTimeData.getString('onStartup')); } @@ -1815,14 +1815,14 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts --- a/chrome/browser/resources/settings/settings.ts +++ b/chrome/browser/resources/settings/settings.ts -@@ -56,6 +56,7 @@ export {HomeUrlInputElement} from './appearance_page/home_url_input.js'; +@@ -65,6 +65,7 @@ export {HomeUrlInputElement} from './appearance_page/home_url_input.js'; export {SettingsAutofillAiEntriesListElement} from './autofill_page/autofill_ai_entries_list.js'; export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js'; export {SettingsAutofillPageIndexElement} from './autofill_page/autofill_page_index.js'; +export {SettingsAdblockPageElement} from './adblock_page/adblock_page.js'; - export {PasswordCheckReferrer, PasswordManagerImpl, PasswordManagerPage, PasswordManagerProxy} from './autofill_page/password_manager_proxy.js'; + export {PasswordCheckReferrer, PasswordManagerImpl, PasswordManagerPage} from './autofill_page/password_manager_proxy.js'; + export type {PasswordManagerProxy} from './autofill_page/password_manager_proxy.js'; export {BaseMixin} from './base_mixin.js'; - export {SettingsCheckboxListEntryElement} from './controls/settings_checkbox_list_entry.js'; diff --git a/chrome/browser/resources/settings/settings_main/settings_main.html b/chrome/browser/resources/settings/settings_main/settings_main.html --- a/chrome/browser/resources/settings/settings_main/settings_main.html +++ b/chrome/browser/resources/settings/settings_main/settings_main.html @@ -1869,7 +1869,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -351,7 +351,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -345,7 +345,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { auto* original_profile = profile->GetOriginalProfile(); adblock::EnsureBackgroundServicesStarted(original_profile); adblock::RegisterAdblockWebContentObserver< @@ -12898,7 +12898,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc -@@ -1158,7 +1158,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( +@@ -1145,7 +1145,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( DCHECK(browser_context); } @@ -12907,7 +12907,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b return false; } -@@ -1167,9 +1167,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { +@@ -1154,9 +1154,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { } void ContentBrowserClient::CreateWebSocket( @@ -12922,7 +12922,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h -@@ -2151,7 +2151,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2140,7 +2140,7 @@ class CONTENT_EXPORT ContentBrowserClient { scoped_refptr navigation_response_task_runner); // Returns true when the embedder wants to intercept a websocket connection. @@ -12931,7 +12931,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br // Returns the WebSocket creation options. virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame); -@@ -2173,9 +2173,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2162,9 +2162,11 @@ class CONTENT_EXPORT ContentBrowserClient { // Always called on the UI thread and only when the Network Service is // enabled. virtual void CreateWebSocket( @@ -12977,7 +12977,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc --- a/third_party/blink/renderer/core/css/style_engine.cc +++ b/third_party/blink/renderer/core/css/style_engine.cc -@@ -646,6 +646,14 @@ void StyleEngine::PrepareUpdateActiveStyleSheetsInShadow( +@@ -652,6 +652,14 @@ void StyleEngine::PrepareUpdateActiveStyleSheetsInShadow( collection->PrepareUpdateActiveStyleSheets(medium); } @@ -12995,7 +12995,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h --- a/third_party/blink/renderer/core/css/style_engine.h +++ b/third_party/blink/renderer/core/css/style_engine.h -@@ -280,6 +280,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected, +@@ -289,6 +289,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected, const ComputedStyle* embedder_style) const; void ViewportStyleSettingChanged(); @@ -13051,7 +13051,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc --- a/third_party/blink/renderer/core/html/html_element.cc +++ b/third_party/blink/renderer/core/html/html_element.cc -@@ -2842,13 +2842,7 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -2917,13 +2917,7 @@ void HTMLElement::setSpellcheck(bool enable) { } void HTMLElement::click() { diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index b76bf28e..f2f4be1b 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -43,7 +43,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -300,6 +300,7 @@ static_library("safe_browsing") { +@@ -309,6 +309,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom", @@ -90,7 +90,7 @@ diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc --- a/components/omnibox/browser/omnibox_field_trial.cc +++ b/components/omnibox/browser/omnibox_field_trial.cc -@@ -833,11 +833,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default; +@@ -818,11 +818,11 @@ MLConfig& MLConfig::operator=(const MLConfig& other) = default; ScopedMLConfigForTesting::ScopedMLConfigForTesting() : original_config_(std::make_unique(GetMLConfig())) { @@ -131,7 +131,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc --- a/content/browser/browser_interface_binders.cc +++ b/content/browser/browser_interface_binders.cc -@@ -358,6 +358,7 @@ void BindDateTimeChooserForFrame( +@@ -359,6 +359,7 @@ void BindDateTimeChooserForFrame( void BindTextSuggestionHostForFrame( RenderFrameHost* host, mojo::PendingReceiver receiver) { diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch index ed1e4a6b..e35c3930 100644 --- a/build/patches/Fonts-fingerprinting-mitigation.patch +++ b/build/patches/Fonts-fingerprinting-mitigation.patch @@ -120,7 +120,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h --- a/third_party/blink/public/common/features.h +++ b/third_party/blink/public/common/features.h -@@ -252,6 +252,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int, +@@ -251,6 +251,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int, BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLessAggressiveParkableString); BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCombineNewWindowIPCs); @@ -134,7 +134,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -801,6 +801,7 @@ component("platform") { +@@ -798,6 +798,7 @@ component("platform") { "fonts/simple_font_data.cc", "fonts/simple_font_data.h", "fonts/skia/font_cache_skia.cc", @@ -145,7 +145,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/fonts/font_cache.h b/third_party/blink/renderer/platform/fonts/font_cache.h --- a/third_party/blink/renderer/platform/fonts/font_cache.h +++ b/third_party/blink/renderer/platform/fonts/font_cache.h -@@ -315,7 +315,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -283,7 +283,7 @@ class PLATFORM_EXPORT FontCache final { sk_sp CreateTypeface(const FontDescription&, const FontFaceCreationParams&, @@ -433,7 +433,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc --- a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc +++ b/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc -@@ -61,12 +61,35 @@ +@@ -62,12 +62,35 @@ #error This file should not be used by MacOS. #endif @@ -448,7 +448,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b namespace blink { AtomicString ToAtomicString(const SkString& str) { - return AtomicString::FromUTF8(std::string_view(str.begin(), str.end())); + return AtomicString::FromUTF8(base::as_string_view(str)); } +sk_sp ReturnIfAllowed(sk_sp typeface, const std::string& name, bool check_fonts) { @@ -469,7 +469,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b namespace { const FontPlatformData* CreateFontPlatformDataForTypeface( sk_sp typeface, -@@ -263,7 +286,7 @@ const SimpleFontData* FontCache::GetLastResortFallbackFont( +@@ -264,7 +287,7 @@ const SimpleFontData* FontCache::GetLastResortFallbackFont( sk_sp FontCache::CreateTypeface( const FontDescription& font_description, const FontFaceCreationParams& creation_params, @@ -478,7 +478,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Revisit this and other font code for Fuchsia. -@@ -281,6 +304,16 @@ sk_sp FontCache::CreateTypeface( +@@ -282,6 +305,16 @@ sk_sp FontCache::CreateTypeface( DCHECK_NE(family, font_family_names::kSystemUi); // convert the name to utf8 name = family.Utf8(); @@ -495,7 +495,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b #if BUILDFLAG(IS_ANDROID) // If this is a locale-specific family, try looking up locale-specific -@@ -288,11 +321,11 @@ sk_sp FontCache::CreateTypeface( +@@ -289,11 +322,11 @@ sk_sp FontCache::CreateTypeface( if (const char* locale_family = GetLocaleSpecificFamilyName(family)) { if (sk_sp typeface = CreateLocaleSpecificTypeface(font_description, locale_family)) @@ -510,7 +510,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b } #if !BUILDFLAG(IS_WIN) -@@ -302,6 +335,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -303,6 +336,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( float font_size, AlternateFontName alternate_name) { std::string name; @@ -518,7 +518,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b sk_sp typeface; #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -322,7 +356,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( +@@ -323,7 +357,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData( noto_color_emoji_from_gmscore)) { typeface = CreateTypefaceFromUniqueName(creation_params); } else { diff --git a/build/patches/Force-use-vpython3-for-some-scripts.patch b/build/patches/Force-use-vpython3-for-some-scripts.patch index 7cc9a24e..4242c8f5 100644 --- a/build/patches/Force-use-vpython3-for-some-scripts.patch +++ b/build/patches/Force-use-vpython3-for-some-scripts.patch @@ -40,7 +40,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte "--output", rebase_path(invoker.build_config, root_build_dir), "--depfile", -@@ -3032,17 +3035,18 @@ if (enable_java_templates) { +@@ -3031,17 +3034,18 @@ if (enable_java_templates) { } action_with_pydeps(target_name) { @@ -62,7 +62,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte inputs = javac_paths_for_inputs } -@@ -3058,7 +3062,10 @@ if (enable_java_templates) { +@@ -3057,7 +3061,10 @@ if (enable_java_templates) { deps += invoker.deps } @@ -74,7 +74,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte if (invoker.enable_errorprone) { _stamp_file = "$target_out_dir/$target_name.stamp" outputs = [ _stamp_file ] -@@ -3257,7 +3264,8 @@ if (enable_java_templates) { +@@ -3256,7 +3263,8 @@ if (enable_java_templates) { } action_with_pydeps(target_name) { @@ -84,7 +84,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte depfile = "$target_gen_dir/$target_name.d" deps = _srcjar_deps if (defined(invoker.deps)) { -@@ -3286,6 +3294,8 @@ if (enable_java_templates) { +@@ -3285,6 +3293,8 @@ if (enable_java_templates) { "$target_gen_dir/${invoker.main_target_name}/generated_java", root_build_dir) args = [ @@ -197,7 +197,7 @@ diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn gen_header_path = "$buildflag_gen_dir_/perfetto_build_flags.h" perfetto_component_build = false -@@ -114,6 +115,8 @@ action("gen_buildflags") { +@@ -115,6 +116,8 @@ action("gen_buildflags") { rel_out_path = rebase_path(gen_header_path, "$root_build_dir") args = [ @@ -306,8 +306,8 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json diff --git a/tools/metrics/generate_allowlist_from_histograms_file.gni b/tools/metrics/generate_allowlist_from_histograms_file.gni --- a/tools/metrics/generate_allowlist_from_histograms_file.gni +++ b/tools/metrics/generate_allowlist_from_histograms_file.gni -@@ -26,12 +26,13 @@ template("generate_allowlist_from_histograms_file") { - action(target_name) { +@@ -28,12 +28,13 @@ template("generate_allowlist_from_histograms_file") { + action_with_pydeps(target_name) { output_file = "$target_gen_dir/" + invoker.output_file - script = diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch index ef7c62ea..b8c93cf8 100644 --- a/build/patches/Hardening-against-incognito-mode-detection.patch +++ b/build/patches/Hardening-against-incognito-mode-detection.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota/quota_manager_impl.cc --- a/storage/browser/quota/quota_manager_impl.cc +++ b/storage/browser/quota/quota_manager_impl.cc -@@ -1785,7 +1785,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( +@@ -1786,7 +1786,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( return kNoLimit; } @@ -20,7 +20,7 @@ diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota storage_key.origin().GetURL())) { return settings.session_only_per_storage_key_quota; } -@@ -2454,7 +2454,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) { +@@ -2455,7 +2455,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) { void QuotaManagerImpl::IsSimulateStoragePressureAvailable( IsSimulateStoragePressureAvailableCallback callback) { // We assume this is only the case in incognito. If it changes, update this. diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 803ced29..60d91f17 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -41,7 +41,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -130,6 +130,12 @@ found in the LICENSE file. +@@ -123,6 +123,12 @@ found in the LICENSE file. android:key="javascript_optimizer" android:title="@string/website_settings_privacy_and_security_javascript_optimizer_row_label" android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings" /> @@ -57,15 +57,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -64,6 +64,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; +@@ -66,6 +66,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsFragment; import org.chromium.components.browser_ui.settings.SettingsNavigation; import org.chromium.components.browser_ui.settings.SettingsUtils; +import org.chromium.components.browser_ui.settings.SpinnerPreference; + import org.chromium.components.browser_ui.settings.search.SettingsIndexData; import org.chromium.components.browser_ui.site_settings.ContentSettingsResources; import org.chromium.components.browser_ui.site_settings.SingleCategorySettings; - import org.chromium.components.browser_ui.site_settings.WebsitePreferenceBridge; -@@ -97,6 +98,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -100,6 +101,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate; @@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting /** Fragment to keep track of the all the privacy related preferences. */ @NullMarked public class PrivacySettings extends ChromeBaseSettingsFragment -@@ -161,6 +165,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -163,6 +167,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private ChromeSwitchPreference allowCustomTabIntentsPref; private ChromeSwitchPreference openExternalLinksPref; @@ -84,7 +84,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @Override public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); -@@ -309,6 +315,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -296,6 +302,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); syncAndServicesLink.setSummary(buildFooterString()); @@ -123,9 +123,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + }); + Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES); - if (showTrackingProtectionUi()) { - if (thirdPartyCookies != null) thirdPartyCookies.setVisible(false); -@@ -636,6 +676,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + if (thirdPartyCookies != null) { + thirdPartyCookies +@@ -646,6 +686,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment || ((System.currentTimeMillis() - updateTimeMs) < TimeUnit.DAYS.toMillis(90)); } @@ -166,7 +166,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro #include "components/embedder_support/pref_names.h" #include "components/language/core/browser/pref_names.h" #include "components/live_caption/pref_names.h" -@@ -238,6 +239,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -237,6 +238,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] = settings_api::PrefType::kBoolean; @@ -191,7 +191,7 @@ diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -375,6 +375,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, +@@ -374,6 +374,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path, void ProfileImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false); @@ -264,7 +264,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1270,6 +1270,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1267,6 +1267,18 @@ Your Google account may have other forms of browsing history like searches and a Browsing history @@ -286,7 +286,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2252,6 +2252,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2298,6 +2298,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE}, {"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD}, {"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC}, @@ -425,19 +425,19 @@ new file mode 100644 diff --git a/components/history/core/browser/browsing_history_service.cc b/components/history/core/browser/browsing_history_service.cc --- a/components/history/core/browser/browsing_history_service.cc +++ b/components/history/core/browser/browsing_history_service.cc -@@ -656,7 +656,7 @@ void BrowsingHistoryService::ReturnResultsToDriver( - MergeDuplicateResults(state.get(), &results); - - const base::Time local_expiry_threshold = -- clock_->Now() - base::Days(HistoryBackend::kExpireDaysThreshold); -+ clock_->Now() - base::Days(90); // dont care - base::flat_map pre_expiry_counts; - base::flat_map post_expiry_counts; - for (const HistoryEntry& entry : results) { +@@ -758,7 +758,7 @@ void BrowsingHistoryService::RecordResultsMetrics( + // Count the number of local, remote, and combined entries, each split by + // entries before vs after the local expiry threshold (90 days). + const base::Time local_expiry_threshold = +- clock_->Now() - base::Days(HistoryBackend::kExpireDaysThreshold); ++ clock_->Now() - base::Days(90); // dont care + base::flat_map pre_expiry_counts; + base::flat_map post_expiry_counts; + for (const HistoryEntry& entry : results) { diff --git a/components/history/core/browser/expire_history_backend.cc b/components/history/core/browser/expire_history_backend.cc --- a/components/history/core/browser/expire_history_backend.cc +++ b/components/history/core/browser/expire_history_backend.cc -@@ -390,7 +390,7 @@ const ExpiringVisitsReader* +@@ -391,7 +391,7 @@ const ExpiringVisitsReader* void ExpireHistoryBackend::StartExpiringOldStuff( base::TimeDelta expiration_threshold) { @@ -446,7 +446,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone // Remove all readers, just in case this was method was called before. readers_.clear(); -@@ -406,6 +406,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff( +@@ -407,6 +407,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff( ScheduleExpire(); } @@ -458,7 +458,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone void ExpireHistoryBackend::DeleteFaviconsIfPossible(DeleteEffects* effects) { if (!favicon_db_) return; -@@ -654,6 +659,12 @@ void ExpireHistoryBackend::DoExpireIteration() { +@@ -655,6 +660,12 @@ void ExpireHistoryBackend::DoExpireIteration() { return; } @@ -474,7 +474,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone diff --git a/components/history/core/browser/expire_history_backend.h b/components/history/core/browser/expire_history_backend.h --- a/components/history/core/browser/expire_history_backend.h +++ b/components/history/core/browser/expire_history_backend.h -@@ -81,6 +81,8 @@ class ExpireHistoryBackend { +@@ -82,6 +82,8 @@ class ExpireHistoryBackend { // will continue until the object is deleted. void StartExpiringOldStuff(base::TimeDelta expiration_threshold); @@ -486,7 +486,7 @@ diff --git a/components/history/core/browser/expire_history_backend.h b/componen diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc --- a/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc -@@ -164,6 +164,10 @@ const int kCommitIntervalSeconds = 10; +@@ -163,6 +163,10 @@ const int kCommitIntervalSeconds = 10; // deleting some. const int kMaxRedirectCount = 32; @@ -497,7 +497,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his // The maximum number of days for which domain visit metrics are computed // each time HistoryBackend::GetDomainDiversity() is called. constexpr int kDomainDiversityMaxBacktrackedDays = 7; -@@ -1333,6 +1337,19 @@ void HistoryBackend::InitImpl( +@@ -1328,6 +1332,19 @@ void HistoryBackend::InitImpl( expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } @@ -514,13 +514,13 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his + } +} + - void HistoryBackend::OnMemoryPressure( - base::MemoryPressureLevel memory_pressure_level) { - // TODO(sebmarchand): Check if MEMORY_PRESSURE_LEVEL_MODERATE should also be + void HistoryBackend::CloseAllDatabases() { + // Reset to avoid dangling pointers to the database. + history_sync_bridge_.reset(); diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h --- a/components/history/core/browser/history_backend.h +++ b/components/history/core/browser/history_backend.h -@@ -205,10 +205,6 @@ class HistoryBackend : public base::RefCountedThreadSafe, +@@ -203,10 +203,6 @@ class HistoryBackend : public base::RefCountedThreadSafe, // Check if the transition should increment the typed_count of a visit. static bool IsTypedIncrement(ui::PageTransition transition); @@ -531,7 +531,7 @@ diff --git a/components/history/core/browser/history_backend.h b/components/hist // Init must be called to complete object creation. This object can be // constructed on any thread, but all other functions including Init() must // be called on the history thread. -@@ -236,6 +232,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, +@@ -234,6 +230,8 @@ class HistoryBackend : public base::RefCountedThreadSafe, void Init(bool force_fail, const HistoryDatabaseParams& history_database_params); @@ -600,7 +600,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his diff --git a/components/history/core/browser/history_service.h b/components/history/core/browser/history_service.h --- a/components/history/core/browser/history_service.h +++ b/components/history/core/browser/history_service.h -@@ -36,6 +36,8 @@ +@@ -37,6 +37,8 @@ #include "components/favicon_base/favicon_callback.h" #include "components/favicon_base/favicon_types.h" #include "components/favicon_base/favicon_usage_data.h" @@ -609,7 +609,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist #include "components/history/core/browser/history_types.h" #include "components/history/core/browser/keyword_id.h" #include "components/history/core/browser/url_row.h" -@@ -118,6 +120,8 @@ class HistoryService : public KeyedService, +@@ -119,6 +121,8 @@ class HistoryService : public KeyedService, // Returns the directory containing the History databases. const base::FilePath& history_dir() const { return history_dir_; } @@ -618,7 +618,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist // Triggers the backend to load if it hasn't already, and then returns whether // it's finished loading. // Note: Virtual needed for mocking. -@@ -1175,6 +1179,10 @@ class HistoryService : public KeyedService, +@@ -1176,6 +1180,10 @@ class HistoryService : public KeyedService, raw_ptr local_device_info_provider_ = nullptr; diff --git a/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch b/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch index 2bb1a0a8..565a782a 100644 --- a/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch +++ b/build/patches/Immediately-destroy-shared-workers-when-closing-the-page.patch @@ -24,7 +24,7 @@ diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser // These values are persisted to logs. Entries should not be renumbered and // numeric values should never be reused. -@@ -1033,17 +1033,6 @@ void SharedWorkerHost::OnClientConnectionLost() { +@@ -1037,17 +1037,6 @@ void SharedWorkerHost::OnClientConnectionLost() { break; } } diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch index f2efa71f..e7cac5b2 100644 --- a/build/patches/Improve-the-browser-sandbox.patch +++ b/build/patches/Improve-the-browser-sandbox.patch @@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -359,7 +359,7 @@ namespace features { +@@ -361,7 +361,7 @@ namespace features { // this feature is disabled any failed launches in the current browser session // will still result in sandbox being disabled for the lifetime of the running // browser. diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch index 5a1afcb5..48bc9af9 100644 --- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch +++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc --- a/components/omnibox/browser/autocomplete_result.cc +++ b/components/omnibox/browser/autocomplete_result.cc -@@ -102,10 +102,11 @@ constexpr size_t kMaxPedalMatchIndex = +@@ -101,10 +101,11 @@ constexpr size_t kMaxPedalMatchIndex = size_t AutocompleteResult::GetMaxMatches( bool is_zero_suggest, AutocompleteInput::FeaturedKeywordMode featured_keyword_mode) { diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch index ad866265..fc219d06 100644 --- a/build/patches/Internal-firewall.patch +++ b/build/patches/Internal-firewall.patch @@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2551,6 +2551,7 @@ static_library("browser") { +@@ -2516,6 +2516,7 @@ static_library("browser") { "//third_party/ungoogled:switches", "//services/device/public/mojom", "//services/device/public/mojom:usb", @@ -71,7 +71,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -240,6 +240,7 @@ +@@ -236,6 +236,7 @@ #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" @@ -131,7 +131,7 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro diff --git a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc --- a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc +++ b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc -@@ -242,13 +242,43 @@ void DuplicateCheckDone(const GURL& url, +@@ -241,13 +241,43 @@ void DuplicateCheckDone(const GURL& url, base::BindOnce(&OnDuplicateDialogConfirmed, std::move(callback))); } @@ -301,7 +301,7 @@ new file mode 100644 diff --git a/net/BUILD.gn b/net/BUILD.gn --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1184,6 +1184,7 @@ component("net") { +@@ -1202,6 +1202,7 @@ component("net") { "//components/unexportable_keys", "//components/network_session_configurator/common", "//net/http:transport_security_state_generated_files", @@ -326,7 +326,7 @@ diff --git a/net/traffic_annotation/network_traffic_annotation.h b/net/traffic_a diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -431,6 +431,9 @@ URLRequestHttpJob::URLRequestHttpJob( +@@ -432,6 +432,9 @@ URLRequestHttpJob::URLRequestHttpJob( : URLRequestJob(request), http_user_agent_settings_(http_user_agent_settings) { ResetTimer(); @@ -336,7 +336,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } URLRequestHttpJob::~URLRequestHttpJob() { -@@ -725,6 +728,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { +@@ -726,6 +729,18 @@ void URLRequestHttpJob::MaybeStartTransactionInternal(int result) { void URLRequestHttpJob::StartTransactionInternal() { DCHECK(!override_response_headers_); @@ -366,9 +366,9 @@ diff --git a/net/url_request/url_request_http_job.h b/net/url_request/url_reques #if BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS) #include "net/device_bound_sessions/session_service.h" -@@ -99,6 +100,8 @@ class NET_EXPORT_PRIVATE URLRequestHttpJob : public URLRequestJob { - return priority_; - } +@@ -97,6 +98,8 @@ class NET_EXPORT_PRIVATE URLRequestHttpJob : public URLRequestJob { + + RequestPriority priority() const { return priority_; } + std::unique_ptr firewall_service_; + @@ -1677,7 +1677,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont #include "services/network/brokered_client_socket_factory.h" #include "services/network/connection_change_observer.h" #include "services/network/cookie_manager.h" -@@ -1852,6 +1853,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1830,6 +1831,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { void NetworkContext::CreateUDPSocket( mojo::PendingReceiver receiver, mojo::PendingRemote listener) { @@ -1687,7 +1687,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener)); } -@@ -1865,6 +1869,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1843,6 +1847,17 @@ void NetworkContext::CreateRestrictedUDPSocket( bool allow_multicast, CreateRestrictedUDPSocketCallback callback) { // SimpleHostResolver is transitively owned by |this|. @@ -1705,7 +1705,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateRestrictedUDPSocket( addr, mode, traffic_annotation, std::move(params), std::move(receiver), std::move(listener), SimpleHostResolver::Create(this), allow_multicast, -@@ -1877,6 +1892,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1855,6 +1870,17 @@ void NetworkContext::CreateTCPServerSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPServerSocketCallback callback) { @@ -1723,7 +1723,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPServerSocket( local_addr, std::move(options), static_cast(traffic_annotation), -@@ -1891,6 +1917,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1869,6 +1895,21 @@ void NetworkContext::CreateTCPConnectedSocket( mojo::PendingReceiver receiver, mojo::PendingRemote observer, CreateTCPConnectedSocketCallback callback) { @@ -1745,7 +1745,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPConnectedSocket( local_addr, remote_addr_list, std::move(tcp_connected_socket_options), static_cast(traffic_annotation), -@@ -1902,6 +1943,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1880,6 +1921,20 @@ void NetworkContext::CreateTCPBoundSocket( const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, mojo::PendingReceiver receiver, CreateTCPBoundSocketCallback callback) { @@ -1766,7 +1766,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont socket_factory_->CreateTCPBoundSocket( local_addr, static_cast(traffic_annotation), -@@ -1969,6 +2024,24 @@ void NetworkContext::CreateWebSocket( +@@ -1947,6 +2002,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const std::optional& throttling_profile_id) { @@ -1794,7 +1794,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network/public/cpp/simple_url_loader.cc --- a/services/network/public/cpp/simple_url_loader.cc +++ b/services/network/public/cpp/simple_url_loader.cc -@@ -1288,6 +1288,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( +@@ -1273,6 +1273,8 @@ SimpleURLLoaderImpl::SimpleURLLoaderImpl( timeout_timer_(timeout_tick_clock_) { // Allow creation and use on different threads. DETACH_FROM_SEQUENCE(sequence_checker_); @@ -1803,7 +1803,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.cc b/services/network #if DCHECK_IS_ON() if (resource_request_->request_body) { for (const DataElement& element : -@@ -1803,6 +1805,21 @@ void SimpleURLLoaderImpl::StartRequest( +@@ -1770,6 +1772,21 @@ void SimpleURLLoaderImpl::StartRequest( resource_request_->request_body->AppendDataPipe( string_upload_data_pipe_getter_->GetRemoteForNewUpload()); } @@ -1836,7 +1836,7 @@ diff --git a/services/network/public/cpp/simple_url_loader.h b/services/network/ class GURL; -@@ -463,6 +464,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader { +@@ -469,6 +470,8 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader { protected: SimpleURLLoader(); diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch index d8418402..95746fcf 100644 --- a/build/patches/JIT-site-settings.patch +++ b/build/patches/JIT-site-settings.patch @@ -279,7 +279,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -579,7 +579,7 @@ void ContentSettingsRegistry::Init() { +@@ -578,7 +578,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit", @@ -291,7 +291,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -4270,12 +4270,17 @@ UrlInfo NavigationRequest::GetUrlInfo() { +@@ -4254,12 +4254,17 @@ UrlInfo NavigationRequest::GetUrlInfo() { // Compute the WebExposedIsolationInfo that will be bundled into UrlInfo. auto web_exposed_isolation_info = ComputeWebExposedIsolationInfo(); @@ -313,7 +313,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3608,6 +3608,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3618,6 +3618,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine( if (IsJitDisabled()) { AppendToCommaSeparatedSwitch( command_line, blink::switches::kJavaScriptFlags, "--jitless"); @@ -326,7 +326,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc --- a/content/browser/site_info.cc +++ b/content/browser/site_info.cc -@@ -305,6 +305,13 @@ SiteInfo SiteInfo::Create(const IsolationContext& isolation_context, +@@ -308,6 +308,13 @@ SiteInfo SiteInfo::Create(const IsolationContext& isolation_context, is_jitless = is_jitless || GetContentClient()->browser()->IsJitDisabledForSite( browser_context, agent_cluster_url_or_default); diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch index 0a589b56..81017315 100644 --- a/build/patches/Keep-ComputePressure-disabled.patch +++ b/build/patches/Keep-ComputePressure-disabled.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1183,11 +1183,9 @@ +@@ -1187,11 +1187,9 @@ status: "stable", }, { diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch index 92894995..28d5c091 100644 --- a/build/patches/Keep-Manta-Service-Disabled.patch +++ b/build/patches/Keep-Manta-Service-Disabled.patch @@ -10,7 +10,7 @@ Subject: Keep Manta Service Disabled diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -1044,7 +1044,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1031,7 +1031,6 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) ManagedConfigurationAPIFactory::GetInstance(); #endif diff --git a/build/patches/Keep-disabled-CpuPerformance.patch b/build/patches/Keep-disabled-CpuPerformance.patch index 60d6b5ad..f533396f 100644 --- a/build/patches/Keep-disabled-CpuPerformance.patch +++ b/build/patches/Keep-disabled-CpuPerformance.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -1266,8 +1266,7 @@ +@@ -1273,8 +1273,7 @@ // CPU Performance API, work in progress. // https://chromestatus.com/feature/5189864286978048 // https://github.com/explainers-by-googlers/cpu-performance diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index 8cfe11ad..a8aa4032 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -79,7 +79,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l diff --git a/content/browser/loader/keep_alive_url_loader.h b/content/browser/loader/keep_alive_url_loader.h --- a/content/browser/loader/keep_alive_url_loader.h +++ b/content/browser/loader/keep_alive_url_loader.h -@@ -430,9 +430,6 @@ class CONTENT_EXPORT KeepAliveURLLoader +@@ -431,9 +431,6 @@ class CONTENT_EXPORT KeepAliveURLLoader // disconnected from the remote of URLLoader in the renderer. base::OneShotTimer disconnected_loader_timer_; @@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -3137,7 +3137,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -3103,7 +3103,7 @@ void ResourceFetcher::PrepareForLeakDetection() { void ResourceFetcher::StopFetchingInternal(StopFetchingTarget target) { // TODO(toyoshim): May want to suspend scheduler while canceling loaders so // that the cancellations below do not awake unnecessary scheduling. @@ -202,7 +202,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2383,8 +2383,8 @@ +@@ -2418,8 +2418,8 @@ { // The Blink runtime-enabled feature name for the API's IDL. // https://chromestatus.com/feature/4654499737632768 diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch index 0c568d6e..173ec522 100644 --- a/build/patches/Keep-empty-tabs-between-sessions.patch +++ b/build/patches/Keep-empty-tabs-between-sessions.patch @@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java -@@ -1139,7 +1139,7 @@ public class MultiWindowUtils implements ActivityStateListener { +@@ -1115,7 +1115,7 @@ public class MultiWindowUtils implements ActivityStateListener { int totalCount = 0; for (TabModel model : models) { for (Tab tab : model) { diff --git a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch index 3d18be9a..1f0f854d 100644 --- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch +++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/incognito/Incog diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -6152,10 +6152,10 @@ +@@ -5579,10 +5579,10 @@ "expiry_milestone": -1 }, { diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch index f7ec824f..ff037aba 100644 --- a/build/patches/Keyboard-protection-flag.patch +++ b/build/patches/Keyboard-protection-flag.patch @@ -23,10 +23,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java --- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java +++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java -@@ -928,6 +928,11 @@ public final class ProductionSupportedFlagList { - + " retried without a restart.\n" - + " Note: WebViewUseStartupTasksLogicP2 and kWebViewStartupTasksYieldToNative" - + " also enable the same behaviour as this flag."), +@@ -924,6 +924,11 @@ public final class ProductionSupportedFlagList { + + " also enable the same behaviour as this flag. Additionally, developer" + + " preferences via the AndroidX API or manifest metadata supersedes this" + + " flag."), + Flag.baseFeature( + "SystemKeyboardProtection", + "Hides user preference on the system keyboard by setting the standard " @@ -213,16 +213,16 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.cc b/third_pa diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_party/blink/renderer/core/events/keyboard_event.h --- a/third_party/blink/renderer/core/events/keyboard_event.h +++ b/third_party/blink/renderer/core/events/keyboard_event.h -@@ -99,6 +99,8 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { - unsigned which() const override; - bool isComposing() const { return is_composing_; } +@@ -101,6 +101,8 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { + + CSSPseudoElement* pseudoTarget() const { return Event::pseudoTarget(); } + DispatchEventResult DispatchEvent(EventDispatcher&) override; + void Trace(Visitor*) const override; private: -@@ -111,6 +113,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { +@@ -113,6 +115,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { bool is_composing_ = false; unsigned char_code_ = 0; unsigned key_code_ = 0; @@ -233,7 +233,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.h b/third_par diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc --- a/ui/base/ui_base_features.cc +++ b/ui/base/ui_base_features.cc -@@ -156,6 +156,14 @@ bool ShouldUseCursorEventHook() { +@@ -150,6 +150,14 @@ bool ShouldUseCursorEventHook() { // Allows system keyboard event capture via the keyboard lock API. BASE_FEATURE(kSystemKeyboardLock, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch index b4697648..91058a04 100644 --- a/build/patches/Lock-Profile-Cookie-Database.patch +++ b/build/patches/Lock-Profile-Cookie-Database.patch @@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -1400,6 +1400,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -1398,6 +1398,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( network_context_params->file_paths->cookie_database_name = base::FilePath(chrome::kCookieFilename); @@ -56,7 +56,7 @@ new file mode 100644 diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -3230,7 +3230,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const { +@@ -3214,7 +3214,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const { #if BUILDFLAG(IS_WIN) const bool enable_exclusive_access = @@ -68,7 +68,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -354,6 +354,14 @@ struct NetworkContextParams { +@@ -355,6 +355,14 @@ struct NetworkContextParams { // If true, cookies will be stored encrypted. bool enable_encrypted_cookies = true; diff --git a/build/patches/Log-dangling-attributes-in-some-html-elements.patch b/build/patches/Log-dangling-attributes-in-some-html-elements.patch index f2dcc00e..c4dea684 100644 --- a/build/patches/Log-dangling-attributes-in-some-html-elements.patch +++ b/build/patches/Log-dangling-attributes-in-some-html-elements.patch @@ -42,7 +42,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -5103,6 +5103,14 @@ void Document::ProcessBaseElement() { +@@ -5100,6 +5100,14 @@ void Document::ProcessBaseElement() { KURL base_element_url; if (href) { String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href); @@ -57,7 +57,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (!stripped_href.empty()) base_element_url = KURL(FallbackBaseURL(), stripped_href); } -@@ -5120,6 +5128,14 @@ void Document::ProcessBaseElement() { +@@ -5117,6 +5125,14 @@ void Document::ProcessBaseElement() { !GetExecutionContext()->GetSecurityOrigin()->CanRequest( base_element_url)) { UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref); @@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink } } -@@ -5150,6 +5166,8 @@ void Document::ProcessBaseElement() { +@@ -5147,6 +5163,8 @@ void Document::ProcessBaseElement() { if (target->Contains('<')) UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget); base_target_ = *target; @@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc -@@ -3897,8 +3897,26 @@ void Element::StripScriptingAttributes( +@@ -4111,8 +4111,26 @@ void Element::StripScriptingAttributes( attribute_vector.Shrink(destination); } @@ -115,7 +115,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/ diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/renderer/core/dom/element.h --- a/third_party/blink/renderer/core/dom/element.h +++ b/third_party/blink/renderer/core/dom/element.h -@@ -790,7 +790,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable { +@@ -821,7 +821,8 @@ class CORE_EXPORT Element : public ContainerNode { virtual bool HasLegalLinkAttribute(const QualifiedName&) const; // Only called by the parser immediately after element construction. @@ -217,7 +217,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third_party/blink/renderer/core/html/html_iframe_element.cc --- a/third_party/blink/renderer/core/html/html_iframe_element.cc +++ b/third_party/blink/renderer/core/html/html_iframe_element.cc -@@ -168,6 +168,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( +@@ -170,6 +170,12 @@ void HTMLIFrameElement::CollectStyleForPresentationAttribute( } } @@ -230,7 +230,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third void HTMLIFrameElement::ParseAttribute( const AttributeModificationParams& params) { const QualifiedName& name = params.name; -@@ -182,6 +188,16 @@ void HTMLIFrameElement::ParseAttribute( +@@ -184,6 +190,16 @@ void HTMLIFrameElement::ParseAttribute( } AtomicString old_name = name_; name_ = value; @@ -250,7 +250,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_party/blink/renderer/core/html/html_iframe_element.h --- a/third_party/blink/renderer/core/html/html_iframe_element.h +++ b/third_party/blink/renderer/core/html/html_iframe_element.h -@@ -66,6 +66,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase { +@@ -68,6 +68,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase, const V8UnionStringOrTrustedHTML* srcdoc() const; void setSrcdoc(const V8UnionStringOrTrustedHTML*, ExceptionState&); @@ -334,7 +334,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3246,6 +3246,12 @@ +@@ -3310,6 +3310,12 @@ name: "MacDisableCtrlHomeEnd", status: "stable", }, diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index 4595cc08..60261708 100644 --- a/build/patches/Logcat-crash-reports-UI.patch +++ b/build/patches/Logcat-crash-reports-UI.patch @@ -154,7 +154,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -640,6 +640,7 @@ static_library("ui") { +@@ -642,6 +642,7 @@ static_library("ui") { "//third_party/re2", "//third_party/webrtc_overrides:webrtc_component", "//third_party/zlib", diff --git a/build/patches/Media-fingerprinting-mitigations.patch b/build/patches/Media-fingerprinting-mitigations.patch index 86e69f07..9684d4b6 100644 --- a/build/patches/Media-fingerprinting-mitigations.patch +++ b/build/patches/Media-fingerprinting-mitigations.patch @@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc --- a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc +++ b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc -@@ -295,7 +295,7 @@ ScriptPromise VideoDecoder::isConfigSupported( +@@ -296,7 +296,7 @@ ScriptPromise VideoDecoder::isConfigSupported( auto* config_copy = CopyConfig(*config); // Run the "Check Configuration Support" algorithm. diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index 0fd55c14..ff27d578 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -7,10 +7,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/about_flags.cc | 1 + .../extensions/background_mode_manager.cc | 2 +- .../browser/chrome_content_browser_client.cc | 2 +- + chrome/browser/prefs/browser_prefs.cc | 2 +- chrome/browser/preloading/preloading_prefs.h | 2 +- chrome/browser/profiles/profile.cc | 2 +- .../reset_page/reset_profile_dialog.html | 2 +- - chrome/browser/ui/browser_ui_prefs.cc | 6 +++--- + chrome/browser/ui/browser_ui_prefs.cc | 4 ++-- components/bookmarks/browser/BUILD.gn | 2 ++ components/bookmarks/browser/bookmark_utils.cc | 7 +++++-- components/bookmarks/browser/features.cc | 17 +++++++++++++++++ @@ -23,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../primary_account_manager.cc | 2 +- .../Modify-default-preferences.inc | 8 ++++++++ .../features_cc/Modify-default-preferences.inc | 1 + - 19 files changed, 70 insertions(+), 19 deletions(-) + 20 files changed, 70 insertions(+), 19 deletions(-) create mode 100644 components/bookmarks/browser/features.cc create mode 100644 components/bookmarks/browser/features.h create mode 100755 cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc @@ -32,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -86,6 +86,7 @@ +@@ -82,6 +82,7 @@ #include "components/autofill/core/common/autofill_payments_features.h" #include "components/autofill/core/common/autofill_switches.h" #include "components/autofill/core/common/autofill_util.h" @@ -55,7 +56,7 @@ diff --git a/chrome/browser/background/extensions/background_mode_manager.cc b/c diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1424,7 +1424,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1421,7 +1421,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -64,6 +65,18 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch // Register user prefs for mapping SitePerProcess and IsolateOrigins in // user policy in addition to the same named ones in Local State (which are // used for mapping the command-line flags). +diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc +--- a/chrome/browser/prefs/browser_prefs.cc ++++ b/chrome/browser/prefs/browser_prefs.cc +@@ -1316,7 +1316,7 @@ void RegisterProfilePrefsForMigration( + registry->RegisterTimePref(kMerchantTrustPageInfoLastOpenTime, base::Time()); + + // Deprecated 12/2025. +- registry->RegisterBooleanPref(kCloudPrintProxyEnabled, true); ++ registry->RegisterBooleanPref(kCloudPrintProxyEnabled, false); + registry->RegisterStringPref(kCloudPrintEmail, std::string()); + } + diff --git a/chrome/browser/preloading/preloading_prefs.h b/chrome/browser/preloading/preloading_prefs.h --- a/chrome/browser/preloading/preloading_prefs.h +++ b/chrome/browser/preloading/preloading_prefs.h @@ -103,20 +116,16 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -129,10 +129,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -129,7 +129,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( - translate::prefs::kOfferTranslateEnabled, true, + translate::prefs::kOfferTranslateEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); - registry->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); -- registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true); -+ registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, false); registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup); - registry->RegisterDictionaryPref(prefs::kAppWindowPlacement); -@@ -209,7 +209,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -207,7 +207,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { #endif registry->RegisterBooleanPref( @@ -219,7 +228,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -157,7 +157,7 @@ void ContentSettingsRegistry::Init() { +@@ -156,7 +156,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::NOTIFICATIONS, "notifications", @@ -228,7 +237,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. /*allowlisted_primary_schemes=*/{}, /*valid_settings=*/ {CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK}, -@@ -218,7 +218,7 @@ void ContentSettingsRegistry::Init() { +@@ -217,7 +217,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER, @@ -237,7 +246,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_primary_schemes=*/{}, #if BUILDFLAG(IS_ANDROID) /*valid_settings=*/ -@@ -245,7 +245,7 @@ void ContentSettingsRegistry::Init() { +@@ -244,7 +244,7 @@ void ContentSettingsRegistry::Init() { PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); Register(ContentSettingsType::BACKGROUND_SYNC, "background-sync", @@ -246,7 +255,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. /*allowlisted_primary_schemes=*/{}, /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, -@@ -360,7 +360,7 @@ void ContentSettingsRegistry::Init() { +@@ -359,7 +359,7 @@ void ContentSettingsRegistry::Init() { // TODO(crbug.com/40602007): Update this to "SECURE_ONLY" once // DeviceOrientationEvents and DeviceMotionEvents are only fired in secure // contexts. @@ -258,7 +267,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc --- a/components/content_settings/core/browser/cookie_settings.cc +++ b/components/content_settings/core/browser/cookie_settings.cc -@@ -94,7 +94,7 @@ void CookieSettings::RegisterProfilePrefs( +@@ -83,7 +83,7 @@ void CookieSettings::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterIntegerPref( prefs::kCookieControlsMode, @@ -282,7 +291,7 @@ diff --git a/components/payments/core/payment_prefs.cc b/components/payments/cor diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc --- a/components/safe_browsing/core/common/safe_browsing_prefs.cc +++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc -@@ -232,13 +232,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -270,13 +270,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { registry->RegisterBooleanPref( prefs::kSafeBrowsingSawInterstitialScoutReporting, false); registry->RegisterBooleanPref( @@ -311,7 +320,7 @@ diff --git a/components/security_interstitials/core/features.cc b/components/sec diff --git a/components/signin/internal/identity_manager/primary_account_manager.cc b/components/signin/internal/identity_manager/primary_account_manager.cc --- a/components/signin/internal/identity_manager/primary_account_manager.cc +++ b/components/signin/internal/identity_manager/primary_account_manager.cc -@@ -330,7 +330,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -320,7 +320,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kGoogleServicesSyncingGaiaIdMigratedToSignedIn, std::string()); registry->RegisterStringPref( prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string()); diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch index fa196ec7..7c23d0e1 100644 --- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch +++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -84,6 +84,19 @@ found in the LICENSE file. +@@ -77,6 +77,19 @@ found in the LICENSE file. android:key="secure_dns" android:title="@string/settings_secure_dns_title" android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings" /> @@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -78,6 +78,13 @@ import org.chromium.ui.text.SpanApplier; +@@ -81,6 +81,13 @@ import org.chromium.ui.text.SpanApplier; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting /** Fragment to keep track of the all the privacy related preferences. */ @NullMarked public class PrivacySettings extends ChromeBaseSettingsFragment -@@ -97,6 +104,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -100,6 +107,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_JAVASCRIPT_OPTIMIZER = "javascript_optimizer"; @VisibleForTesting static final String PREF_DO_NOT_TRACK = "do_not_track"; @@ -66,9 +66,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting + + private ManagedPreferenceDelegate mManagedPreferenceDelegate; @VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; - @VisibleForTesting static final String PREF_TRACKING_PROTECTION = "tracking_protection"; private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info"; -@@ -210,6 +227,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment + +@@ -202,6 +219,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment (ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION); passwordLeakTogglePref.setOnPreferenceChangeListener(this); @@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting ChromeSwitchPreference canMakePaymentPref = (ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT); canMakePaymentPref.setOnPreferenceChangeListener(this); -@@ -357,6 +384,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -372,6 +399,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue); @@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -369,6 +399,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -384,6 +414,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment /** Updates the preferences. */ public void updatePreferences() { @@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -457,6 +457,10 @@ For more settings that use data to improve your Chrome experience, go to diff --git a/build/patches/Multi-Screen-Window-Placement-API-fix.patch b/build/patches/Multi-Screen-Window-Placement-API-fix.patch index 0c00b286..9e90c1b7 100644 --- a/build/patches/Multi-Screen-Window-Placement-API-fix.patch +++ b/build/patches/Multi-Screen-Window-Placement-API-fix.patch @@ -29,7 +29,7 @@ diff --git a/content/browser/permissions/permission_service_impl.cc b/content/br diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -19186,7 +19186,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() { +@@ -19326,7 +19326,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() { {PermissionName::WEB_APP_INSTALLATION, PermissionType::WEB_APP_INSTALLATION}, #endif @@ -42,7 +42,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.cc b/third_party/blink/renderer/core/frame/cached_permission_status.cc --- a/third_party/blink/renderer/core/frame/cached_permission_status.cc +++ b/third_party/blink/renderer/core/frame/cached_permission_status.cc -@@ -33,9 +33,9 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context) +@@ -37,9 +37,9 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context) permission_service_(context), permission_observer_receivers_(this, context) { CHECK(context); @@ -58,7 +58,7 @@ diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.cc b diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.h b/third_party/blink/renderer/core/frame/cached_permission_status.h --- a/third_party/blink/renderer/core/frame/cached_permission_status.h +++ b/third_party/blink/renderer/core/frame/cached_permission_status.h -@@ -68,6 +68,7 @@ class CORE_EXPORT CachedPermissionStatus final +@@ -72,6 +72,7 @@ class CORE_EXPORT CachedPermissionStatus final private: friend class HTMLPermissionElement; @@ -131,10 +131,10 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/ #include "third_party/blink/renderer/core/dom/events/event_target.h" #include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h" +#include "third_party/blink/renderer/core/frame/cached_permission_status.h" - #include "third_party/blink/renderer/platform/forward_declared_member.h" + #include "third_party/blink/renderer/platform/heap/garbage_collected.h" +#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h" +#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h" - #include "third_party/blink/renderer/platform/heap/garbage_collected.h" + #include "third_party/blink/renderer/platform/supplementable.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h" #include "ui/gfx/geometry/rect.h" @@ -143,16 +143,16 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/ namespace display { struct ScreenInfo; } -@@ -46,7 +51,7 @@ namespace blink { +@@ -45,7 +50,7 @@ namespace blink { + class LocalDOMWindow; - class ScreenScreenOrientation; --class CORE_EXPORT Screen : public EventTarget, public ExecutionContextClient { -+class CORE_EXPORT Screen : public EventTarget, public CachedPermissionStatus::Client, public ExecutionContextClient { +-class CORE_EXPORT Screen : public EventTarget, ++class CORE_EXPORT Screen : public EventTarget, public CachedPermissionStatus::Client, + public ExecutionContextClient, + public Supplementable { DEFINE_WRAPPERTYPEINFO(); - - public: -@@ -97,10 +102,20 @@ class CORE_EXPORT Screen : public EventTarget, public ExecutionContextClient { +@@ -89,8 +94,18 @@ class CORE_EXPORT Screen : public EventTarget, gfx::Rect GetRect(bool available) const; const display::ScreenInfo& GetScreenInfo() const; @@ -165,8 +165,6 @@ diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/ + // The internal id of the underlying display, to support multi-screen devices. int64_t display_id_; - - ForwardDeclaredMember screen_screen_orientation_; + + private: + bool window_management_permission_granted_ = false; diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index 70816a97..6d81d9a4 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -55,7 +55,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2532,6 +2532,7 @@ static_library("browser") { +@@ -2497,6 +2497,7 @@ static_library("browser") { "//services/device/public/cpp/bluetooth", "//services/device/public/cpp/geolocation", "//services/device/public/cpp/usb", @@ -66,7 +66,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -265,6 +265,8 @@ +@@ -262,6 +262,8 @@ #include "ui/ui_features.h" #include "url/url_features.h" @@ -78,7 +78,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -296,6 +296,7 @@ source_set("browser") { +@@ -297,6 +297,7 @@ source_set("browser") { "//third_party/re2", "//third_party/snappy", "//third_party/sqlite", @@ -97,7 +97,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #if BUILDFLAG(IS_ANDROID) #include "base/android/child_process_binding_types.h" #include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h" -@@ -3680,6 +3681,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3690,6 +3691,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBestEffortTasks, switches::kDisableBreakpad, switches::kDisableFileSystem, @@ -129,7 +129,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. #if BUILDFLAG(IS_ANDROID) #include "base/android/android_info.h" #endif -@@ -518,6 +520,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { +@@ -521,6 +523,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { // as a last resort. void SetCustomizedRuntimeFeaturesFromCombinedArgs( const base::CommandLine& command_line) { @@ -172,7 +172,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc -@@ -41,6 +41,7 @@ +@@ -40,6 +40,7 @@ #include "base/i18n/time_formatting.h" #include "base/metrics/histogram_functions.h" #include "base/notreached.h" @@ -180,7 +180,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/task/single_thread_task_runner.h" #include "base/time/time.h" #include "base/trace_event/trace_event.h" -@@ -1093,6 +1094,16 @@ Document::Document(const DocumentInit& initializer, +@@ -1089,6 +1090,16 @@ Document::Document(const DocumentInit& initializer, TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT); DCHECK(agent_); @@ -197,7 +197,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) && features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) { script_runner_delayer_->Activate(); -@@ -2807,6 +2818,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2795,6 +2806,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { #endif } @@ -215,7 +215,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h --- a/third_party/blink/renderer/core/dom/document.h +++ b/third_party/blink/renderer/core/dom/document.h -@@ -597,6 +597,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -570,6 +570,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/ V8VisibilityState visibilityState() const; String visibilityStateAsString() const; bool IsPageVisible() const; -@@ -3055,6 +3059,9 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -2821,6 +2825,9 @@ class CORE_EXPORT Document : public ContainerNode, base::ElapsedTimer start_time_; @@ -260,7 +260,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc --- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc -@@ -89,6 +89,24 @@ TextMetrics::TextMetrics(const Font* font, +@@ -90,6 +90,24 @@ TextMetrics::TextMetrics(const Font* font, Update(font, direction, baseline, align, text, text_painter); } @@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h --- a/third_party/blink/renderer/core/html/canvas/text_metrics.h +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h -@@ -109,6 +109,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable { +@@ -110,6 +110,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable { float x_position_; }; @@ -388,7 +388,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c // Including "base/time/time.h" triggers a bug in IWYU. // https://github.com/include-what-you-use/include-what-you-use/issues/1122 // IWYU pragma: no_include "base/numerics/clamped_math.h" -@@ -523,6 +527,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( +@@ -524,6 +528,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal( snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c } return image_data; -@@ -1170,9 +1178,23 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { +@@ -1171,9 +1179,23 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) { TextDirection direction = ToTextDirection(state.GetDirection(), host, computed_style); @@ -427,7 +427,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1752,7 +1752,9 @@ component("platform") { +@@ -1751,7 +1751,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -438,7 +438,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re allow_circular_includes_from = [ "//third_party/blink/renderer/platform/blob", -@@ -1836,6 +1838,7 @@ component("platform") { +@@ -1835,6 +1837,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc -@@ -69,6 +69,14 @@ void WebRuntimeFeatures::EnableFluentOverlayScrollbars(bool enable) { +@@ -68,6 +68,14 @@ void WebRuntimeFeatures::EnableFluentOverlayScrollbars(bool enable) { RuntimeEnabledFeatures::SetFluentOverlayScrollbarsEnabled(enable); } @@ -681,7 +681,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -3554,6 +3554,12 @@ +@@ -3623,6 +3623,12 @@ status: {"Mac": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch index c2499b85..9d9caec3 100644 --- a/build/patches/OpenSearch-miscellaneous.patch +++ b/build/patches/OpenSearch-miscellaneous.patch @@ -176,7 +176,7 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c #include "base/metrics/histogram_macros.h" #include "base/no_destructor.h" #include "base/strings/string_number_conversions.h" -@@ -276,6 +277,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() { +@@ -272,6 +273,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() { GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL(); if (!osdd_url.is_empty()) { diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch index adcd5c56..bb4da9b5 100644 --- a/build/patches/Override-Navigator-Language.patch +++ b/build/patches/Override-Navigator-Language.patch @@ -69,7 +69,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content #include "components/metrics/single_sample_metrics.h" #include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h" #include "components/services/storage/public/cpp/buckets/bucket_id.h" -@@ -3590,8 +3591,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3600,8 +3601,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( PropagateBrowserCommandLineToRenderer(browser_command_line, command_line); // Pass on the browser locale. diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch index 20af54e9..c1afada6 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc -@@ -2738,7 +2738,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, +@@ -2809,7 +2809,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, if (!cached_resource) { cached_resource = MemoryCache::Get()->ResourceForURL( url, document->Fetcher()->GetCacheIdentifier( @@ -65,7 +65,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc --- a/third_party/blink/renderer/core/loader/image_loader.cc +++ b/third_party/blink/renderer/core/loader/image_loader.cc -@@ -737,7 +737,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const { +@@ -741,7 +741,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const { if (!url.IsNull()) { Resource* resource = MemoryCache::Get()->ResourceForURL( url, element_->GetDocument().Fetcher()->GetCacheIdentifier( @@ -78,7 +78,7 @@ diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_part diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc --- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc +++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc -@@ -349,7 +349,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, +@@ -344,7 +344,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, } bool MemoryCache::Contains(const Resource* resource) const { @@ -87,7 +87,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/ return false; const auto resource_maps_it = -@@ -365,13 +365,9 @@ bool MemoryCache::Contains(const Resource* resource) const { +@@ -360,13 +360,9 @@ bool MemoryCache::Contains(const Resource* resource) const { return resource == resources_it->value->GetResource(); } @@ -105,7 +105,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/third_party/blink/renderer/platform/loader/fetch/memory_cache.h --- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h +++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.h -@@ -130,10 +130,7 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, +@@ -131,10 +131,7 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, // Do not use this method outside test purposes. // A resourfe URL is not enough to do a correct MemoryCache lookup, and // relying on the method would likely yield wrong results. @@ -116,8 +116,8 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t void Add(Resource*); void Remove(Resource*); -@@ -180,6 +177,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, - void OnUpdateMemoryLimit() override; +@@ -178,6 +175,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected, + bool HasStrongReferenceForTesting(Resource*) const; private: + HeapVector> ResourcesForURL(const KURL&) const; @@ -128,7 +128,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -1035,7 +1035,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( +@@ -1017,7 +1017,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData( const String cache_identifier = GetCacheIdentifier(factory.GetType(), url, @@ -138,7 +138,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c // Most off-main-thread resource fetches use Resource::kRaw and don't reach // this point, but off-main-thread module fetches might. -@@ -1486,7 +1487,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, +@@ -1468,7 +1469,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params, } else if (IsMainThread()) { const String cache_identifier = GetCacheIdentifier( resource_type, params.GetResourceRequest().Url(), @@ -148,7 +148,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c resource = MemoryCache::Get()->ResourceForURL(params.Url(), cache_identifier); -@@ -1810,7 +1812,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( +@@ -1778,7 +1780,8 @@ Resource* ResourceFetcher::CreateResourceForLoading( const ResourceFactory& factory) { const String cache_identifier = GetCacheIdentifier(factory.GetType(), params.GetResourceRequest().Url(), @@ -158,7 +158,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c DCHECK(!IsMainThread() || params.IsStaleRevalidation() || !MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(), cache_identifier)); -@@ -2952,11 +2955,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() { +@@ -2918,11 +2921,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() { } String ResourceFetcher::GetCacheIdentifier(const KURL& url, @@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } // Requests that can be satisfied via `archive_` (i.e. MHTML) or -@@ -2971,12 +3010,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url, +@@ -2937,12 +2976,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url, return bundle->GetCacheIdentifier(); } @@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c // For SVG resource documents, use the SVG-specific cache identifier when the // feature is enabled and a cache identifier is available from the fetch // context. -@@ -2989,7 +3029,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type, +@@ -2955,7 +2995,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type, } // Fallback to the standard cache identifier logic. @@ -239,7 +239,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h -@@ -288,10 +288,16 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -284,10 +284,16 @@ class PLATFORM_EXPORT ResourceFetcher // `url` is used for finding a matching WebBundle. // If `skip_service_worker` is true, the identifier won't be a ServiceWorker's // identifier to keep the cache separated. @@ -261,7 +261,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -5023,8 +5023,8 @@ +@@ -5145,8 +5145,8 @@ status: "stable", }, { diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index ddcdb8f4..693e52ff 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.patch @@ -228,7 +228,7 @@ new file mode 100644 diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc -@@ -79,7 +79,7 @@ bool HashesIntersect(const absl::flat_hash_set& a, +@@ -78,7 +78,7 @@ bool HashesIntersect(const absl::flat_hash_set& a, // Converts |hostname| from dotted form ("www.google.com") to the form // used in DNS: "\x03www\x06google\x03com", lowercases that, and returns // the result. @@ -237,7 +237,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // We cannot perform the operations as detailed in the spec here as `host` // has already undergone IDN processing before it reached us. Thus, we // lowercase the input (probably redudnant since most input here has been -@@ -100,6 +100,29 @@ std::vector CanonicalizeHost(std::string_view host) { +@@ -99,6 +99,29 @@ std::vector CanonicalizeHost(std::string_view host) { return std::move(new_host).value(); } @@ -267,7 +267,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // PreloadResult is the result of resolving a specific name in the preloaded // data. struct PreloadResult { -@@ -191,7 +214,7 @@ bool DecodeHSTSPreload(std::string_view search_hostname, PreloadResult* out) { +@@ -190,7 +213,7 @@ bool DecodeHSTSPreload(std::string_view search_hostname, PreloadResult* out) { // Ensure that |search_hostname| is a valid hostname before // processing. @@ -276,7 +276,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ return false; } // Normalize any trailing '.' used for DNS suffix searches. -@@ -250,18 +273,19 @@ TransportSecurityState::TransportSecurityState( +@@ -249,18 +272,19 @@ TransportSecurityState::TransportSecurityState( // Both HSTS and HPKP cause fatal SSL errors, so return true if a // host has either. @@ -299,7 +299,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ dict.Set("should_upgrade_to_ssl", sts_state.ShouldUpgradeToSSL()); dict.Set("host_found_in_hsts_bypass_list", hsts_host_bypass_list_.find(host) != hsts_host_bypass_list_.end()); -@@ -269,12 +293,13 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam( +@@ -268,12 +292,13 @@ base::Value::Dict TransportSecurityState::NetLogUpgradeToSSLParam( } SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( @@ -314,7 +314,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // Only top level navigations should be upgraded when // kHstsTopLevelNavigationsOnly is enabled. -@@ -285,7 +310,7 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( +@@ -284,7 +309,7 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( STSState sts_state; // Check the dynamic list first (removing the entry if expired). @@ -323,7 +323,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // [*.]localhost hosts now ignore Strict-Transport-Security response // headers, but an entry may have been stored before this restriction // was introduced (crbug.com/41251622). -@@ -310,29 +335,31 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( +@@ -309,29 +334,31 @@ SSLUpgradeDecision TransportSecurityState::GetSSLUpgradeDecision( } bool TransportSecurityState::ShouldUpgradeToSSL( @@ -361,7 +361,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ } ct::CTRequirementsStatus TransportSecurityState::CheckCTRequirements( -@@ -386,12 +413,13 @@ void TransportSecurityState::UpdatePinList( +@@ -385,12 +412,13 @@ void TransportSecurityState::UpdatePinList( } void TransportSecurityState::AddHSTSInternal( @@ -376,7 +376,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return; -@@ -415,13 +443,14 @@ void TransportSecurityState::AddHSTSInternal( +@@ -414,13 +442,14 @@ void TransportSecurityState::AddHSTSInternal( DirtyNotify(); } @@ -393,7 +393,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return; -@@ -469,10 +498,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins( +@@ -468,10 +497,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPins( return PKPStatus::VIOLATED; } @@ -406,7 +406,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return false; -@@ -549,7 +578,8 @@ void TransportSecurityState::DirtyNotify() { +@@ -548,7 +577,8 @@ void TransportSecurityState::DirtyNotify() { delegate_->StateIsDirty(this); } @@ -416,7 +416,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ std::string_view value) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); -@@ -568,23 +598,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host, +@@ -567,23 +597,25 @@ bool TransportSecurityState::AddHSTSHeader(std::string_view host, upgrade_mode = STSState::MODE_FORCE_HTTPS; } @@ -447,7 +447,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ } size_t TransportSecurityState::num_sts_entries() const { -@@ -609,9 +641,10 @@ TransportSecurityState::PKPStatus +@@ -608,9 +640,10 @@ TransportSecurityState::PKPStatus TransportSecurityState::CheckPublicKeyPinsImpl( std::string_view host, bool is_issued_by_known_root, @@ -460,7 +460,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ // HasPublicKeyPins should have returned true in order for this method to have // been called. -@@ -652,7 +685,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, +@@ -651,7 +684,7 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, PreloadResult result; if (host_pins_.has_value()) { // Ensure that |host| is a valid hostname before processing. @@ -469,7 +469,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ return false; } // Normalize any trailing '.' used for DNS suffix searches. -@@ -717,21 +750,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, +@@ -716,21 +749,21 @@ bool TransportSecurityState::GetStaticPKPState(std::string_view host, return false; } @@ -497,7 +497,7 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_ if (canonicalized_host.empty()) return false; -@@ -768,11 +801,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host, +@@ -767,11 +800,11 @@ bool TransportSecurityState::GetDynamicSTSState(std::string_view host, return false; } @@ -631,7 +631,7 @@ diff --git a/net/http/transport_security_state.h b/net/http/transport_security_s diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc --- a/net/quic/crypto/proof_verifier_chromium.cc +++ b/net/quic/crypto/proof_verifier_chromium.cc -@@ -410,7 +410,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { +@@ -409,7 +409,8 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { TransportSecurityState::PKPStatus pin_validity = transport_security_state_->CheckPublicKeyPins( hostname_, cert_verify_result.is_issued_by_known_root, @@ -641,7 +641,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_ switch (pin_validity) { case TransportSecurityState::PKPStatus::VIOLATED: result = ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN; -@@ -435,7 +436,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { +@@ -434,7 +435,7 @@ int ProofVerifierChromium::Job::DoVerifyCertComplete(int result) { verify_details_->is_fatal_cert_error = IsCertStatusError(cert_status) && result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED && @@ -653,7 +653,7 @@ diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc --- a/net/quic/quic_chromium_client_session.cc +++ b/net/quic/quic_chromium_client_session.cc -@@ -1528,7 +1528,7 @@ bool QuicChromiumClientSession::CanPool( +@@ -1542,7 +1542,7 @@ bool QuicChromiumClientSession::CanPool( return SpdySession::CanPool(transport_security_state_, ssl_info, *ssl_config_service_, session_key_.host(), @@ -665,7 +665,7 @@ diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_c diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -1232,7 +1232,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1234,7 +1234,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { context_->transport_security_state()->CheckPublicKeyPins( host_and_port_.host(), server_cert_verify_result_.is_issued_by_known_root, @@ -675,7 +675,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket switch (pin_validity) { case TransportSecurityState::PKPStatus::VIOLATED: server_cert_verify_result_.cert_status |= -@@ -1252,7 +1253,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1254,7 +1255,7 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { IsCertStatusError(server_cert_verify_result_.cert_status) && result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED && context_->transport_security_state()->ShouldSSLErrorsBeFatal( @@ -729,7 +729,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h --- a/net/spdy/spdy_session.h +++ b/net/spdy/spdy_session.h -@@ -319,7 +319,8 @@ class NET_EXPORT SpdySession +@@ -318,7 +318,8 @@ class NET_EXPORT SpdySession const SSLInfo& ssl_info, const SSLConfigService& ssl_config_service, std::string_view old_hostname, @@ -742,7 +742,7 @@ diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc --- a/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc -@@ -405,20 +405,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { +@@ -410,20 +410,6 @@ std::unique_ptr URLRequestContextBuilder::Build() { context->set_transport_security_state( std::make_unique(hsts_policy_bypass_list_)); @@ -766,7 +766,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -370,6 +370,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -371,6 +371,7 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { if (TransportSecurityState* hsts = request->context()->transport_security_state()) { upgrade_decision = hsts->GetSSLUpgradeDecision( @@ -774,7 +774,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque url.GetHost(), /*is_top_level_nav=*/ request->isolation_info().IsOutermostMainFrameRequest(), -@@ -1244,7 +1245,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { +@@ -1218,7 +1219,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() { std::optional value; if ((value = headers->EnumerateHeader(nullptr, "Strict-Transport-Security"))) { @@ -783,7 +783,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque } } -@@ -1324,7 +1325,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { +@@ -1298,7 +1299,7 @@ void URLRequestHttpJob::OnStartCompleted(int result) { TransportSecurityState* state = context->transport_security_state(); NotifySSLCertificateError( result, transaction_->GetResponseInfo()->ssl_info, @@ -795,7 +795,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -2090,6 +2090,7 @@ void NetworkContext::CreateHostResolver( +@@ -2068,6 +2068,7 @@ void NetworkContext::CreateHostResolver( void NetworkContext::VerifyCertInternal( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -803,7 +803,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& ocsp_result, const std::string& sct_list, CTVerificationMode ct_verification_mode, -@@ -2101,6 +2102,7 @@ void NetworkContext::VerifyCertInternal( +@@ -2079,6 +2080,7 @@ void NetworkContext::VerifyCertInternal( pending_cert_verify->result = std::make_unique(); pending_cert_verify->certificate = certificate; pending_cert_verify->host_port = host_port; @@ -811,7 +811,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont net::CertVerifier* cert_verifier = g_cert_verifier_for_testing ? g_cert_verifier_for_testing : url_request_context_->cert_verifier(); -@@ -2131,20 +2133,22 @@ void NetworkContext::VerifyCertInternal( +@@ -2109,20 +2111,22 @@ void NetworkContext::VerifyCertInternal( void NetworkContext::VerifyCert( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -836,7 +836,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont CTVerificationMode::kSignedExchange, std::move(callback)); } -@@ -2185,17 +2189,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -2163,17 +2167,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( std::move(callback).Run(); } @@ -859,7 +859,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont bool is_top_level_nav, IsHSTSActiveForHostCallback callback) { net::TransportSecurityState* security_state = -@@ -2207,10 +2213,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -2185,10 +2191,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, } std::move(callback).Run( @@ -872,7 +872,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont GetHSTSStateCallback callback) { base::Value::Dict result; -@@ -2248,10 +2254,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2226,10 +2232,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, net::TransportSecurityState::STSState dynamic_sts_state; net::TransportSecurityState::PKPState dynamic_pkp_state; bool found_sts_dynamic = transport_security_state->GetDynamicSTSState( @@ -885,7 +885,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont if (found_sts_dynamic) { result.Set("dynamic_upgrade_mode", static_cast(dynamic_sts_state.upgrade_mode)); -@@ -2289,6 +2295,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2267,6 +2273,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, } void NetworkContext::DeleteDynamicDataForHost( @@ -893,7 +893,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont const std::string& host, DeleteDynamicDataForHostCallback callback) { net::TransportSecurityState* transport_security_state = -@@ -2299,7 +2306,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -2277,7 +2284,7 @@ void NetworkContext::DeleteDynamicDataForHost( } std::move(callback).Run( @@ -902,7 +902,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont } void NetworkContext::EnableStaticKeyPinningForTesting( -@@ -2357,7 +2364,7 @@ void NetworkContext::PreconnectSockets( +@@ -2335,7 +2342,7 @@ void NetworkContext::PreconnectSockets( DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -911,7 +911,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // |PreconnectSockets| may receive arguments from the renderer, which is not // guaranteed to validate them. -@@ -3200,7 +3207,9 @@ void NetworkContext::OnConnectionError() { +@@ -3184,7 +3191,9 @@ void NetworkContext::OnConnectionError() { } } @@ -922,7 +922,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont // TODO(lilyhoughton) This needs to be gotten rid of once explicit // construction with a URLRequestContext is no longer supported. -@@ -3226,6 +3235,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) { +@@ -3210,6 +3219,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) { // top-level navigation so we need to disallow HSTS upgrades for every // preconnect. if (!url_request_context_->transport_security_state()->ShouldUpgradeToSSL( @@ -930,7 +930,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont original_url.GetHost(), /*is_top_level_nav=*/false)) { RecordHSTSPreconnectUpgradeReason( HSTSRedirectUpgradeReason::kNotUpgradedNoHSTSPin); -@@ -3287,7 +3297,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) { +@@ -3271,7 +3281,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) { url_request_context_->transport_security_state()->CheckPublicKeyPins( pending_cert_verify->host_port.host(), pending_cert_verify->result->is_issued_by_known_root, @@ -943,7 +943,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont diff --git a/services/network/network_context.h b/services/network/network_context.h --- a/services/network/network_context.h +++ b/services/network/network_context.h -@@ -423,12 +423,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -417,12 +417,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingReceiver receiver) override; void VerifyCert(const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -958,7 +958,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& ocsp_result, const std::string& sct_list, VerifyCertCallback callback) override; -@@ -437,16 +439,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -431,16 +433,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext const std::string& hostname, const scoped_refptr& tls_certificate, Verify2QwacCertBindingCallback callback) override; @@ -980,7 +980,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& host, DeleteDynamicDataForHostCallback callback) override; void SetCorsOriginAccessListsForOrigin( -@@ -807,7 +811,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -792,7 +796,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext mojo::PendingRemote cookie_observer, net::FirstPartySetMetadata first_party_set_metadata); @@ -990,7 +990,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte #if BUILDFLAG(IS_P2P_ENABLED) void DestroySocketManager(P2PSocketManager* socket_manager); -@@ -819,6 +824,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -804,6 +809,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext void VerifyCertInternal( const scoped_refptr& certificate, const net::HostPortPair& host_port, @@ -998,7 +998,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte const std::string& ocsp_result, const std::string& sct_list, CTVerificationMode ct_verification_mode, -@@ -999,6 +1005,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -979,6 +985,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext VerifyCertCallback callback; scoped_refptr certificate; net::HostPortPair host_port; @@ -1009,7 +1009,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom -@@ -1576,6 +1576,7 @@ interface NetworkContext { +@@ -1557,6 +1557,7 @@ interface NetworkContext { // Checks the given certificate against the CertVerifier and CTVerifier. VerifyCert(X509Certificate certificate, HostPortPair host_port, @@ -1017,7 +1017,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw string ocsp_response, string sct_list) => (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed); -@@ -1584,6 +1585,7 @@ interface NetworkContext { +@@ -1565,6 +1566,7 @@ interface NetworkContext { // This implementation is specific for use by Signed Exchange. VerifyCertForSignedExchange(X509Certificate certificate, HostPortPair host_port, @@ -1025,7 +1025,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw string ocsp_response, string sct_list) => (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed); -@@ -1597,18 +1599,18 @@ interface NetworkContext { +@@ -1578,18 +1580,18 @@ interface NetworkContext { // Adds explicitly-specified data as if it was processed from an // HSTS header. Used by tests and implementation of chrome://net-internals. @@ -1047,7 +1047,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw // Sets allowed and blocked origins respectively for the URLLoaderFactory // consumers to access beyond the same-origin policy. The list is managed per -@@ -1627,7 +1629,7 @@ interface NetworkContext { +@@ -1608,7 +1610,7 @@ interface NetworkContext { // Deletes any dynamic data stored for |host| from the transport // security state. Returns true iff an entry was deleted. // See net::TransportSecurityState::DeleteDynamicDataForHost for more detail. diff --git a/build/patches/Partition-MediaDeviceId-by-default.patch b/build/patches/Partition-MediaDeviceId-by-default.patch index 0ad2f1d8..6c959d1e 100644 --- a/build/patches/Partition-MediaDeviceId-by-default.patch +++ b/build/patches/Partition-MediaDeviceId-by-default.patch @@ -52,7 +52,7 @@ diff --git a/content/browser/media/media_devices_util.cc b/content/browser/media diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/content/browser/renderer_host/media/media_devices_manager.cc --- a/content/browser/renderer_host/media/media_devices_manager.cc +++ b/content/browser/renderer_host/media/media_devices_manager.cc -@@ -1110,6 +1110,11 @@ void MediaDevicesManager::OnDevicesEnumerated( +@@ -1113,6 +1113,11 @@ void MediaDevicesManager::OnDevicesEnumerated( } } } diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch index 41c60947..3c91ecdf 100644 --- a/build/patches/Partition-blobs-by-top-frame-URL.patch +++ b/build/patches/Partition-blobs-by-top-frame-URL.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc -@@ -13030,6 +13030,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL( +@@ -13097,6 +13097,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL( } bool RenderFrameHostImpl::IsFullCookieAccessAllowed() { @@ -276,7 +276,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.cc b/storage/browser/blob/ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/blob_url_store_impl.h --- a/storage/browser/blob/blob_url_store_impl.h +++ b/storage/browser/blob/blob_url_store_impl.h -@@ -54,16 +54,22 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl +@@ -55,16 +55,22 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl void Register( mojo::PendingRemote blob, const GURL& url, @@ -301,7 +301,7 @@ diff --git a/storage/browser/blob/blob_url_store_impl.h b/storage/browser/blob/b private: // Checks if the passed in url is a valid blob url for this blob url store. -@@ -76,6 +82,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl +@@ -77,6 +83,11 @@ class COMPONENT_EXPORT(STORAGE_BROWSER) BlobURLStoreImpl bool has_storage_access_handle, BlobUrlRegistry::MappingStatus mapping_status); diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch index f1895bf5..5216b90b 100644 --- a/build/patches/Private-network-access-content-settings.patch +++ b/build/patches/Private-network-access-content-settings.patch @@ -24,7 +24,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -4113,6 +4113,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) { +@@ -4106,6 +4106,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) { return false; } @@ -56,7 +56,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch } // namespace base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate( -@@ -7695,12 +7720,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride +@@ -7662,12 +7687,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy( content::BrowserContext* browser_context, const url::Origin& origin) { @@ -76,7 +76,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch -#endif Profile* profile = Profile::FromBrowserContext(browser_context); - if (profile->GetPrefs()->GetBoolean( + diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteInsecurePrivateNetworkContentSetting.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteInsecurePrivateNetworkContentSetting.java new file mode 100644 --- /dev/null diff --git a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch index f00ad699..2ce1059c 100644 --- a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch +++ b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch @@ -13,7 +13,7 @@ the Windows platform diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/browser/webauth/authenticator_common_impl.cc --- a/content/browser/webauth/authenticator_common_impl.cc +++ b/content/browser/webauth/authenticator_common_impl.cc -@@ -1906,6 +1906,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -2028,6 +2028,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( base::FeatureList::IsEnabled(device::kWebAuthnPasskeyUpgrade))); IsHybridTransportSupported( @@ -21,7 +21,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow base::BindOnce(&MakeCapability, client_capabilities::kHybridTransport) .Then(barrier_callback)); -@@ -1933,11 +1934,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -2055,11 +2056,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities( } void AuthenticatorCommonImpl::IsHybridTransportSupported( @@ -47,7 +47,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow device::BluetoothAdapterFactory::Get()->GetAdapter( base::BindOnce([](scoped_refptr adapter) { -@@ -1983,6 +1998,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck( +@@ -2105,6 +2120,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck( IsUserVerifyingPlatformAuthenticatorAvailableCallback callback, bool is_get_client_capabilities_call, std::optional is_uvpaa_override) { diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch index 1ea7a67f..b3e1ecf3 100644 --- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch +++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch @@ -45,18 +45,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -253,6 +253,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kAsyncNotificationManagerForDownload, &kAutomotiveBackButtonBarStreamline, &kAuxiliarySearchDonation, + &kCloseAllTabsModalDialog, &kAuxiliarySearchHistoryDonation, + &kAvoidDoubleMultiwindowChanges, &kBlockIntentsWhileLocked, - &kBookmarkPaneAndroid, diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -371,6 +371,7 @@ public abstract class ChromeFeatureList { +@@ -361,6 +361,7 @@ public abstract class ChromeFeatureList { public static final String CLEAR_INSTANCE_INFO_WHEN_CLOSED_INTENTIONALLY = "ClearInstanceInfoWhenClosedIntentionally"; public static final String CLEAR_INTENT_WHEN_RECREATED = "ClearIntentWhenRecreated"; diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch index 79bbc280..330f5f92 100644 --- a/build/patches/Re-introduce-override_build_timestamp.patch +++ b/build/patches/Re-introduce-override_build_timestamp.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -4436,8 +4436,12 @@ if (current_toolchain == default_toolchain) { +@@ -4467,8 +4467,12 @@ if (current_toolchain == default_toolchain) { outputs = [ _build_date_header_internal ] args = [ rebase_path(_build_date_header_internal, root_build_dir), diff --git a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch index c20162d8..43fff542 100644 --- a/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch +++ b/build/patches/Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch @@ -24,7 +24,7 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc --- a/net/dns/dns_transaction.cc +++ b/net/dns/dns_transaction.cc -@@ -489,7 +489,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate { +@@ -510,7 +510,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate { // avoid deadlock and enable the use of preconfigured IP addresses. request_->SetSecureDnsPolicy(SecureDnsPolicy::kBootstrap); request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE | @@ -36,7 +36,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -530,6 +530,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -531,6 +531,7 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( // fields in the referrer. GURL referrer(request_->referrer()); @@ -44,7 +44,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque // Our consumer should have made sure that this is a safe referrer (e.g. via // URLRequestJob::ComputeReferrerForPolicy). if (referrer.is_valid()) { -@@ -537,11 +538,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( +@@ -538,11 +539,14 @@ void URLRequestHttpJob::OnGotFirstPartySetMetadata( request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer, referer_value); } @@ -59,7 +59,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque AddExtraHeaders(); -@@ -793,10 +797,10 @@ void URLRequestHttpJob::StartTransactionInternal() { +@@ -794,10 +798,10 @@ void URLRequestHttpJob::StartTransactionInternal() { void URLRequestHttpJob::AddExtraHeaders() { request_info_.extra_headers.SetAcceptEncodingIfMissing( request()->url(), request()->accepted_stream_types(), diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch index cb9e05f2..5144291b 100644 --- a/build/patches/Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/Remove-ChromiumNetworkAdapter.patch @@ -7,7 +7,7 @@ without asking the native code License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../webview_shell/WebViewBrowserFragment.java | 56 ----------------- + .../webview_shell/WebViewBrowserFragment.java | 57 ----------------- .../browser/download/OMADownloadHandler.java | 39 ------------ .../browser/feedback/ConnectivityChecker.java | 36 +---------- .../ConnectivityDetector.java | 63 ------------------- @@ -15,12 +15,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../util/HttpURLConnectionFactoryImpl.java | 7 +-- .../firstrun/VariationsSeedFetcher.java | 26 +------- .../chromium/net/ChromiumNetworkAdapter.java | 13 ---- - 8 files changed, 4 insertions(+), 239 deletions(-) + 8 files changed, 4 insertions(+), 240 deletions(-) diff --git a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java --- a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java +++ b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java -@@ -239,62 +239,6 @@ public class WebViewBrowserFragment extends Fragment { +@@ -239,63 +239,6 @@ public class WebViewBrowserFragment extends Fragment { /** Downloading file in background thread */ @Override protected String doInBackground() { @@ -29,28 +29,29 @@ diff --git a/android_webview/tools/system_webview_shell/apk/src/org/chromium/web - NetworkTrafficAnnotationTag.createComplete( - "android_webview_shell", - """ -- semantics { -- sender: "WebViewBrowserFragment (Android)" -- description: -- "Downloads files as specified by the shell browser." -- trigger: "User interations within the browser, causing a download" -- data: "No additional data." -- destination: LOCAL -- internal { -- contacts { -- email: "avvall@chromium.org" -- } -- } -- user_data { -- type: NONE -- } -- last_reviewed: "2024-07-25" -- } -- policy { -- cookies_allowed: NO -- setting: "This feature can not be disabled." -- policy_exception_justification: "Not implemented." -- }"""); +- semantics { +- sender: "WebViewBrowserFragment (Android)" +- description: +- "Downloads files as specified by the shell browser." +- trigger: "User interations within the browser, causing a download" +- data: "No additional data." +- destination: LOCAL +- internal { +- contacts { +- email: "avvall@chromium.org" +- } +- } +- user_data { +- type: NONE +- } +- last_reviewed: "2024-07-25" +- } +- policy { +- cookies_allowed: NO +- setting: "This feature can not be disabled." +- policy_exception_justification: "Not implemented." +- }\ +- """); - URL url = new URL(mFileUrl); - URLConnection connection = ChromiumNetworkAdapter.openConnection(url, annotation); - connection.connect(); diff --git a/build/patches/Remove-EV-certificates.patch b/build/patches/Remove-EV-certificates.patch index e1f06cd0..d4176886 100644 --- a/build/patches/Remove-EV-certificates.patch +++ b/build/patches/Remove-EV-certificates.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc --- a/net/cert/ev_root_ca_metadata.cc +++ b/net/cert/ev_root_ca_metadata.cc -@@ -37,7 +37,19 @@ struct EVMetadata { +@@ -36,7 +36,19 @@ struct EVMetadata { const std::string_view policy_oids[kMaxOIDsPerCA]; }; @@ -37,7 +37,7 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc #endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA) } // namespace -@@ -116,7 +128,6 @@ bool EVRootCAMetadata::RemoveEVCA(const SHA256HashValue& fingerprint) { +@@ -115,7 +127,6 @@ bool EVRootCAMetadata::RemoveEVCA(const SHA256HashValue& fingerprint) { // bool EVRootCAMetadata::IsEVPolicyOID(bssl::der::Input policy_oid) const { diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch index f6f37bc7..8c8e26c6 100644 --- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch +++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch @@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -683,6 +683,8 @@ chrome_java_resources = [ +@@ -658,6 +658,8 @@ chrome_java_resources = [ "java/res/xml/personalize_google_services_preferences.xml", "java/res/xml/incognito_preferences.xml", "java/res/xml/privacy_preferences.xml", @@ -56,8 +56,8 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -963,6 +963,8 @@ chrome_java_sources = [ - "java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java", +@@ -971,6 +971,8 @@ chrome_java_sources = [ + "java/src/org/chromium/chrome/browser/privacy_sandbox/CctHandler.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandbox3pcdRollbackMessageController.java", "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java", + "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java", @@ -120,7 +120,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -119,6 +119,10 @@ found in the LICENSE file. +@@ -112,6 +112,10 @@ found in the LICENSE file. android:title="@string/close_tabs_on_exit_title" android:summary="@string/close_tabs_on_exit_summary" android:defaultValue="false" /> @@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings; import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment; import org.chromium.chrome.browser.privacy_guide.PrivacyGuideInteractions; -@@ -115,6 +116,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -118,6 +119,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_SAFE_BROWSING = "safe_browsing"; private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; private static final String PREF_PROXY_OPTIONS = "proxy"; private static final String PREF_PRIVACY_GUIDE = "privacy_guide"; -@@ -527,6 +529,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -542,6 +544,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -395,7 +395,7 @@ new file mode 100644 diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -242,6 +242,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -241,6 +241,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kExpireDaysThreshold] = settings_api::PrefType::kNumber; @@ -410,7 +410,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -673,6 +673,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( +@@ -675,6 +675,9 @@ SystemNetworkContextManager::SystemNetworkContextManager( base::BindRepeating(&SystemNetworkContextManager::UpdateReferrersEnabled, base::Unretained(this))); @@ -420,7 +420,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows pref_change_registrar_.Add( prefs::kExplicitlyAllowedNetworkPorts, base::BindRepeating( -@@ -755,6 +758,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -757,6 +760,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { // the system NetworkContext, and the per-profile pref values are used for // the profile NetworkContexts. registry->RegisterBooleanPref(prefs::kEnableReferrers, true); @@ -431,7 +431,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc --- a/chrome/browser/renderer_preferences_util.cc +++ b/chrome/browser/renderer_preferences_util.cc -@@ -149,6 +149,7 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs, +@@ -150,6 +150,7 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs, prefs->caret_blink_interval = ui::NativeTheme::GetInstanceForNativeUi()->caret_blink_interval(); prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers); @@ -504,7 +504,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1098,6 +1098,30 @@ For more settings that use data to improve your Chrome experience, go to @@ -562,7 +562,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -2257,6 +2257,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2303,6 +2303,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, {"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION}, {"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION}, {"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION}, @@ -576,7 +576,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1567,6 +1567,9 @@ inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track"; +@@ -1564,6 +1564,9 @@ inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track"; inline constexpr char kEnableEncryptedMedia[] = "webkit.webprefs.encrypted_media_enabled"; @@ -639,7 +639,7 @@ diff --git a/components/download/content/internal/context_menu_download.cc b/com diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -403,6 +403,15 @@ void AddAdditionalRequestHeaders( +@@ -397,6 +397,15 @@ void AddAdditionalRequestHeaders( blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever); } diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch index a09473fc..0e6d2765 100644 --- a/build/patches/Remove-detection-of-captive-portals.patch +++ b/build/patches/Remove-detection-of-captive-portals.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -600,7 +600,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( +@@ -608,7 +608,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( void ProfileNetworkContextService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled, diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index 27ffaf0e..e98ebbd7 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.patch @@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java --- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java -@@ -1175,9 +1175,6 @@ public class KeyboardShortcuts { +@@ -1196,9 +1196,6 @@ public class KeyboardShortcuts { return true; } return false; @@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2648,15 +2648,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2667,15 +2667,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity final Tab currentTab = getActivityTab(); @@ -58,10 +58,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java -@@ -138,6 +138,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -142,6 +142,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); - help.setIcon(R.drawable.ic_help_and_feedback); + help.setIcon(R.drawable.ic_help_24dp); + help.setVisible(false); } @@ -69,10 +69,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java -@@ -170,6 +170,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment +@@ -173,6 +173,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); - help.setIcon(R.drawable.ic_help_and_feedback); + help.setIcon(R.drawable.ic_help_24dp); + help.setVisible(false); } @@ -80,9 +80,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java -@@ -900,6 +900,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -903,6 +903,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); + getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + help.setVisible(false); } @@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java -@@ -1242,7 +1242,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { +@@ -1257,7 +1257,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { // Disable creating new tabs, bookmark, print, help, focus_url, etc. if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id @@ -102,10 +102,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -579,6 +579,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -589,6 +589,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment help.setIcon( TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); + getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); + help.setVisible(false); } @@ -113,10 +113,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java -@@ -881,6 +881,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -866,6 +866,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity help.setIcon( TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getTheme())); + getResources(), R.drawable.ic_help_24dp, getTheme())); + help.setVisible(false); return super.onCreateOptionsMenu(menu); } @@ -124,10 +124,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java -@@ -171,6 +171,7 @@ public class GoogleServicesSettings extends ChromeBaseSettingsFragment +@@ -174,6 +174,7 @@ public class GoogleServicesSettings extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); - help.setIcon(R.drawable.ic_help_and_feedback); + help.setIcon(R.drawable.ic_help_24dp); + help.setVisible(false); } @@ -135,10 +135,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/G diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java -@@ -312,6 +312,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment +@@ -323,6 +323,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); - help.setIcon(R.drawable.ic_help_and_feedback); + help.setIcon(R.drawable.ic_help_24dp); + help.setVisible(false); if (mIsFromSigninScreen) { ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar(); @@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/M diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java -@@ -411,7 +411,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -414,7 +414,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm } // Help @@ -160,7 +160,7 @@ diff --git a/chrome/browser/autofill/android/java/res/menu/prefeditor_editor_men +++ b/chrome/browser/autofill/android/java/res/menu/prefeditor_editor_menu.xml @@ -19,6 +19,7 @@ found in the LICENSE file. android:id="@+id/help_menu_id" - android:icon="@drawable/ic_help_and_feedback" + android:icon="@drawable/ic_help_24dp" android:title="@string/help" + android:visibility="gone" app:showAsAction="ifRoom" /> @@ -169,10 +169,10 @@ diff --git a/chrome/browser/autofill/android/java/res/menu/prefeditor_editor_men diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsFragment.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsFragment.java --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsFragment.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsFragment.java -@@ -122,6 +122,7 @@ public class AutofillOptionsFragment extends ChromeBaseSettingsFragment { +@@ -124,6 +124,7 @@ public class AutofillOptionsFragment extends ChromeBaseSettingsFragment { MenuItem help = menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help); - help.setIcon(R.drawable.ic_help_and_feedback); + help.setIcon(R.drawable.ic_help_24dp); + help.setVisible(false); } @@ -183,7 +183,7 @@ diff --git a/chrome/browser/prefetch/android/java/src/org/chromium/chrome/browse @@ -46,6 +46,7 @@ public abstract class PreloadPagesSettingsFragmentBase extends ChromeBaseSetting help.setIcon( TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); + getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); + help.setVisible(false); } @@ -194,7 +194,7 @@ diff --git a/chrome/browser/privacy_sandbox/android/java/src/org/chromium/chrome @@ -74,6 +74,7 @@ public abstract class PrivacySandboxSettingsBaseFragment extends ChromeBaseSetti help.setIcon( TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); + getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); + help.setVisible(false); } @@ -205,7 +205,7 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b @@ -64,6 +64,7 @@ public abstract class SafeBrowsingSettingsFragmentBase extends ChromeBaseSetting help.setIcon( TraceEventVectorDrawableCompat.create( - getResources(), R.drawable.ic_help_and_feedback, getActivity().getTheme())); + getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); + help.setVisible(false); } diff --git a/build/patches/Remove-navigator.connection-info.patch b/build/patches/Remove-navigator.connection-info.patch index c102a700..1055dcda 100644 --- a/build/patches/Remove-navigator.connection-info.patch +++ b/build/patches/Remove-navigator.connection-info.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b/third_party/blink/renderer/modules/netinfo/network_information.cc --- a/third_party/blink/renderer/modules/netinfo/network_information.cc +++ b/third_party/blink/renderer/modules/netinfo/network_information.cc -@@ -79,7 +79,7 @@ NetworkInformation::~NetworkInformation() { +@@ -80,7 +80,7 @@ NetworkInformation::~NetworkInformation() { } bool NetworkInformation::IsObserving() const { @@ -25,7 +25,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b } V8ConnectionType NetworkInformation::type() const { -@@ -180,6 +180,7 @@ void NetworkInformation::ConnectionChange( +@@ -181,6 +181,7 @@ void NetworkInformation::ConnectionChange( const std::optional& transport_rtt, const std::optional& downlink_mbps, bool save_data) { @@ -33,7 +33,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b DCHECK(GetExecutionContext()->IsContextThread()); const String host = Host(); -@@ -261,6 +262,7 @@ void NetworkInformation::RemoveAllEventListeners() { +@@ -262,6 +263,7 @@ void NetworkInformation::RemoveAllEventListeners() { } bool NetworkInformation::HasPendingActivity() const { @@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b DCHECK(context_stopped_ || IsObserving() == HasEventListeners()); // Prevent collection of this object when there are active listeners. -@@ -273,6 +275,7 @@ void NetworkInformation::ContextDestroyed() { +@@ -274,6 +276,7 @@ void NetworkInformation::ContextDestroyed() { } void NetworkInformation::StartObserving() { @@ -49,7 +49,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b if (!IsObserving() && !context_stopped_) { type_ = GetNetworkStateNotifier().ConnectionType(); DCHECK(!connection_observer_handle_); -@@ -283,6 +286,7 @@ void NetworkInformation::StartObserving() { +@@ -284,6 +287,7 @@ void NetworkInformation::StartObserving() { } void NetworkInformation::StopObserving() { diff --git a/build/patches/Remove-segmentation-platform.patch b/build/patches/Remove-segmentation-platform.patch index f97717c3..f6dc97cd 100644 --- a/build/patches/Remove-segmentation-platform.patch +++ b/build/patches/Remove-segmentation-platform.patch @@ -47,7 +47,7 @@ diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_part diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc --- a/components/segmentation_platform/public/features.cc +++ b/components/segmentation_platform/public/features.cc -@@ -272,4 +272,7 @@ constexpr base::FeatureParam kWindowTimeMinutes{&kAndroidTipsNotifications, +@@ -243,4 +243,7 @@ constexpr base::FeatureParam kWindowTimeMinutes{&kAndroidTipsNotifications, "window_time_minutes", /*default_value=*/120}; diff --git a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch index fb801b34..18ed0f99 100644 --- a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch +++ b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch @@ -59,7 +59,7 @@ new file mode 100644 diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/blob/blob_memory_controller.cc --- a/storage/browser/blob/blob_memory_controller.cc +++ b/storage/browser/blob/blob_memory_controller.cc -@@ -51,6 +51,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation; +@@ -50,6 +50,15 @@ using MemoryAllocation = BlobMemoryController::MemoryAllocation; using QuotaAllocationTask = BlobMemoryController::QuotaAllocationTask; using DiskSpaceFuncPtr = BlobMemoryController::DiskSpaceFuncPtr; @@ -75,7 +75,7 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl File::Error CreateBlobDirectory(const FilePath& blob_storage_dir) { File::Error error = File::FILE_OK; base::CreateDirectoryAndGetError(blob_storage_dir, &error); -@@ -81,22 +90,15 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl( +@@ -80,22 +89,15 @@ BlobStorageLimits CalculateBlobStorageLimitsImpl( uint64_t memory_size = optional_memory_size_for_testing ? optional_memory_size_for_testing.value() @@ -244,7 +244,7 @@ diff --git a/third_party/blink/renderer/core/timing/memory_info.cc b/third_party diff --git a/third_party/blink/renderer/core/timing/window_performance.cc b/third_party/blink/renderer/core/timing/window_performance.cc --- a/third_party/blink/renderer/core/timing/window_performance.cc +++ b/third_party/blink/renderer/core/timing/window_performance.cc -@@ -325,7 +325,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { +@@ -326,7 +326,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { const bool is_locked_to_site = Platform::Current()->IsLockedToSite(); auto* memory_info = MakeGarbageCollected( is_locked_to_site ? MemoryInfo::Precision::kPrecise diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch index 55f92491..25980c81 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java -@@ -505,7 +505,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { +@@ -508,7 +508,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { mIntentDataProvider.get(), AppCompatResources.getDrawable(mActivity, R.drawable.ic_open_in_new_white_24dp), mOpenInBrowserRunnable, @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java -@@ -81,7 +81,6 @@ import org.chromium.chrome.browser.ntp_customization.theme.chrome_colors.NtpThem +@@ -83,7 +83,6 @@ import org.chromium.chrome.browser.ntp_customization.theme.chrome_colors.NtpThem import org.chromium.chrome.browser.ntp_customization.theme.upload_image.BackgroundImageInfo; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; @@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.readaloud.ReadAloudController; -@@ -145,7 +144,6 @@ public class NewTabPage +@@ -149,7 +148,6 @@ public class NewTabPage TemplateUrlServiceObserver, BrowserControlsStateProvider.Observer, FeedSurfaceDelegate, @@ -58,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. ModuleDelegateHost { private static final String TAG = "NewTabPage"; -@@ -179,7 +177,6 @@ public class NewTabPage +@@ -183,7 +181,6 @@ public class NewTabPage protected boolean mIsDefaultSearchEngineGoogle; protected @Nullable OmniboxStub mOmniboxStub; @@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. // The timestamp at which the constructor was called. protected final long mConstructedTimeNs; -@@ -395,8 +392,7 @@ public class NewTabPage +@@ -401,8 +398,7 @@ public class NewTabPage @Override public boolean isVoiceSearchEnabled() { @@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } @Override -@@ -407,14 +403,7 @@ public class NewTabPage +@@ -413,14 +409,7 @@ public class NewTabPage if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. if (feedReliabilityLogger != null) { feedReliabilityLogger.onOmniboxFocused(); } -@@ -1087,12 +1076,6 @@ public class NewTabPage +@@ -1102,12 +1091,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } /** -@@ -1111,11 +1094,6 @@ public class NewTabPage +@@ -1126,11 +1109,6 @@ public class NewTabPage } } @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. /** Adds an observer to be notified on most visited tile clicks. */ public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) { mMostVisitedTileClickObservers.addObserver(observer); -@@ -1200,9 +1178,6 @@ public class NewTabPage +@@ -1215,9 +1193,6 @@ public class NewTabPage mOmniboxStub.removeUrlFocusChangeListener(feedReliabilityLogger); } mFeedSurfaceProvider.destroy(); @@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.native_page.NativePage; -@@ -332,7 +331,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -333,7 +332,7 @@ public class SearchActivity extends AsyncInitializationActivity this::bringTabGroupToFront, /*omniboxUma*/ (url, transition, isNtp) -> {}, /* bookmarkState= */ (url) -> false, @@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1021,7 +1021,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1027,7 +1027,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mTabBookmarkerSupplier, mBookmarkModelSupplier, mActivityTabProvider, @@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java -@@ -117,7 +117,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; +@@ -123,7 +123,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; @@ -206,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -3282,10 +3281,6 @@ public class ToolbarManager +@@ -3336,10 +3335,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } @@ -306,7 +306,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -117,7 +117,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi +@@ -122,7 +122,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi import org.chromium.chrome.browser.omnibox.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; @@ -314,7 +314,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; -@@ -337,7 +336,6 @@ public class RootUiCoordinator +@@ -343,7 +342,6 @@ public class RootUiCoordinator private LayoutManagerImpl mLayoutManager; protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); @@ -322,7 +322,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -@@ -810,9 +808,6 @@ public class RootUiCoordinator +@@ -821,9 +819,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { @@ -332,7 +332,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1801,23 +1796,10 @@ public class RootUiCoordinator +@@ -1813,23 +1808,10 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -359,7 +359,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn -@@ -164,7 +164,6 @@ android_library("java") { +@@ -165,7 +165,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", @@ -401,7 +401,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.share.ShareDelegate; -@@ -630,12 +629,6 @@ public class LocationBarCoordinator +@@ -633,12 +632,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } @@ -414,7 +414,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public @Nullable OmniboxStub getOmniboxStub() { return mLocationBarMediator; -@@ -799,7 +792,7 @@ public class LocationBarCoordinator +@@ -802,7 +795,7 @@ public class LocationBarCoordinator public void startAutocompletePrefetch() { if (!mNativeInitialized) return; mAutocompleteCoordinator.prefetchZeroSuggestResults( @@ -423,7 +423,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** -@@ -1000,11 +993,6 @@ public class LocationBarCoordinator +@@ -1014,11 +1007,6 @@ public class LocationBarCoordinator // End tablet-specific methods. @@ -438,7 +438,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java -@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; +@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusView; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; @@ -446,7 +446,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.components.browser_ui.widget.CompositeTouchDelegate; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.ui.base.DeviceFormFactor; -@@ -493,11 +492,6 @@ public class LocationBarLayout extends ConstraintLayout { +@@ -506,11 +505,6 @@ public class LocationBarLayout extends ConstraintLayout { mSearchEngineUtils = searchEngineUtils; } @@ -461,7 +461,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -73,7 +73,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; +@@ -75,7 +75,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; @@ -469,7 +469,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.profiles.Profile; -@@ -124,8 +123,6 @@ import java.util.function.Supplier; +@@ -126,8 +125,6 @@ import java.util.function.Supplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, @@ -478,7 +478,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow UrlBarDelegate, OnKeyListener, FuseboxAttachmentChangeListener, -@@ -185,7 +182,6 @@ class LocationBarMediator +@@ -187,7 +184,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; @@ -486,7 +486,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow private final LocationBarDataProvider mLocationBarDataProvider; private final @Nullable BrowserControlsStateProvider mBrowserControlsStateProvider; private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides; -@@ -283,8 +279,6 @@ class LocationBarMediator +@@ -285,8 +281,6 @@ class LocationBarMediator mEmbedderUiOverrides = embedderUiOverrides; mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; mLocaleManager = localeManager; @@ -495,7 +495,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mProfileSupplier = profileSupplier; mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); mTemplateUrlServiceSupplier = templateUrlServiceSupplier; -@@ -387,9 +381,6 @@ class LocationBarMediator +@@ -389,9 +383,6 @@ class LocationBarMediator mStatusCoordinator = null; mAutocompleteCoordinator = null; mUrlCoordinator = null; @@ -505,7 +505,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -531,11 +522,6 @@ class LocationBarMediator +@@ -533,11 +524,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -517,7 +517,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -858,10 +844,6 @@ class LocationBarMediator +@@ -860,10 +846,6 @@ class LocationBarMediator // Hide keyboard before launch voice search to avoid keyboard action announcement in // TalkBack to be picked up by voice search. mUrlCoordinator.setKeyboardVisibility(false, false); @@ -528,7 +528,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** package */ -@@ -1548,10 +1530,7 @@ class LocationBarMediator +@@ -1550,10 +1532,7 @@ class LocationBarMediator } if (isUrlBarFocusedWithUserInput()) return false; @@ -540,7 +540,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1569,6 +1548,7 @@ class LocationBarMediator +@@ -1571,6 +1550,7 @@ class LocationBarMediator @VisibleForTesting boolean shouldShowLensButton() { @@ -548,7 +548,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (mAutocompleteRequestTypeSupplier.get() != AutocompleteRequestType.SEARCH) { return false; } -@@ -1884,11 +1864,6 @@ class LocationBarMediator +@@ -1907,11 +1887,6 @@ class LocationBarMediator } } @@ -560,7 +560,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1904,7 +1879,7 @@ class LocationBarMediator +@@ -1927,7 +1902,7 @@ class LocationBarMediator return mUrlHasFocus; } @@ -569,7 +569,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public void clearOmniboxFocus() { setUrlBarFocus( /* shouldBeFocused= */ false, -@@ -1913,25 +1888,7 @@ class LocationBarMediator +@@ -1936,25 +1911,7 @@ class LocationBarMediator AutocompleteRequestType.SEARCH); } @@ -596,7 +596,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; -@@ -1955,20 +1912,6 @@ class LocationBarMediator +@@ -1978,20 +1935,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } @@ -727,7 +727,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -541,15 +540,6 @@ class AutocompleteMediator +@@ -540,15 +539,6 @@ class AutocompleteMediator mShouldPreventOmniboxAutocomplete = prevent; } diff --git a/build/patches/Remove-window-name-on-cross-origin-navigation.patch b/build/patches/Remove-window-name-on-cross-origin-navigation.patch index a5674667..41974d6a 100644 --- a/build/patches/Remove-window-name-on-cross-origin-navigation.patch +++ b/build/patches/Remove-window-name-on-cross-origin-navigation.patch @@ -34,7 +34,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2986,7 +2986,8 @@ void DocumentLoader::CommitNavigation() { +@@ -2990,7 +2990,8 @@ void DocumentLoader::CommitNavigation() { // that the name would be nulled and if the name is accessed after we will // fire a UseCounter. If we decide to move forward with this change, we'd // actually clean the name here. @@ -44,7 +44,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p frame_->Tree().ExperimentalSetNulledName(); } -@@ -2997,6 +2998,7 @@ void DocumentLoader::CommitNavigation() { +@@ -3001,6 +3002,7 @@ void DocumentLoader::CommitNavigation() { // TODO(shuuran): CrossSiteCrossBrowsingContextGroupSetNulledName will just // record the fact that the name would be nulled and if the name is accessed // after we will fire a UseCounter. diff --git a/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch b/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch index 6e1f685f..a2232a7a 100644 --- a/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch +++ b/build/patches/Restore-BookmarkToolbar-setCurrentFolder.patch @@ -33,7 +33,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows private boolean mEditButtonVisible; private boolean mNewFolderButtonVisible; private boolean mNewFolderButtonEnabled; -@@ -66,6 +69,10 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -67,6 +70,10 @@ public class BookmarkToolbar extends SelectableListToolbar setOnMenuItemClickListener(this); } @@ -44,7 +44,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows void setSelectionDelegate(SelectionDelegate selectionDelegate) { mSelectionDelegate = selectionDelegate; getMenu().setGroupEnabled(R.id.selection_mode_menu_group, true); -@@ -169,6 +176,10 @@ public class BookmarkToolbar extends SelectableListToolbar +@@ -176,6 +183,10 @@ public class BookmarkToolbar extends SelectableListToolbar getMenu().findItem(id).setChecked(true); } @@ -58,7 +58,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarCoordinator.java -@@ -59,6 +59,7 @@ public class BookmarkToolbarCoordinator { +@@ -62,6 +62,7 @@ public class BookmarkToolbarCoordinator { searchDelegate, R.string.bookmark_toolbar_search, R.id.search_menu_id); mModel = new PropertyModel.Builder(BookmarkToolbarProperties.ALL_KEYS).build(); @@ -69,7 +69,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java --- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java +++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java -@@ -299,6 +299,7 @@ class BookmarkToolbarMediator +@@ -324,6 +324,7 @@ class BookmarkToolbarMediator @Override public void onFolderStateSet(@Nullable BookmarkId folder) { mCurrentFolder = folder; @@ -97,7 +97,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows static final WritableObjectPropertyKey SELECTION_DELEGATE = new WritableObjectPropertyKey<>(); -@@ -70,6 +73,10 @@ class BookmarkToolbarProperties { +@@ -72,6 +75,10 @@ class BookmarkToolbarProperties { static final WritableObjectPropertyKey FAKE_SELECTION_STATE_CHANGE = new WritableObjectPropertyKey<>(/* skipEquality= */ true); @@ -108,7 +108,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows /** Callables to delegate business logic back to the mediator */ static final WritableObjectPropertyKey> MENU_ID_CLICKED_FUNCTION = new WritableObjectPropertyKey<>(); -@@ -92,6 +99,8 @@ class BookmarkToolbarProperties { +@@ -94,6 +101,8 @@ class BookmarkToolbarProperties { NEW_FOLDER_BUTTON_VISIBLE, NEW_FOLDER_BUTTON_ENABLED, NAVIGATION_BUTTON_STATE, diff --git a/build/patches/Restore-LastTabStandingTracker.patch b/build/patches/Restore-LastTabStandingTracker.patch index cd60e0a7..adeae19e 100644 --- a/build/patches/Restore-LastTabStandingTracker.patch +++ b/build/patches/Restore-LastTabStandingTracker.patch @@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1573,6 +1573,16 @@ static_library("browser") { +@@ -1531,6 +1531,16 @@ static_library("browser") { "webdata_services/web_data_service_factory.cc", ] @@ -383,7 +383,7 @@ new file mode 100644 diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -142,6 +142,7 @@ +@@ -140,6 +140,7 @@ #include "chrome/browser/password_manager/profile_password_store_factory.h" #include "chrome/browser/payments/browser_binding/browser_bound_key_deleter_service_factory.h" #include "chrome/browser/performance_manager/persistence/site_data/site_data_cache_facade_factory.h" @@ -391,7 +391,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/permissions/notifications_engagement_service_factory.h" #include "chrome/browser/permissions/one_time_permissions_tracker_factory.h" #include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h" -@@ -1126,6 +1127,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1116,6 +1117,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(BUILD_WITH_TFLITE_LIB) OnDeviceTailModelServiceFactory::GetInstance(); #endif @@ -402,7 +402,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -51,6 +51,7 @@ +@@ -50,6 +50,7 @@ #include "chrome/browser/page_info/page_info_features.h" #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" #include "chrome/browser/password_manager/chrome_password_manager_client.h" @@ -410,7 +410,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/permissions/one_time_permissions_tracker_helper.h" #include "chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.h" #include "chrome/browser/predictors/loading_predictor_factory.h" -@@ -450,6 +451,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -444,6 +445,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { HistoryEmbeddingsTabHelper::CreateForWebContents(web_contents); HttpsOnlyModeTabHelper::CreateForWebContents(web_contents); webapps::InstallableManager::CreateForWebContents(web_contents); diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch index 6d5c416c..c4129e21 100644 --- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch +++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch @@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -401,6 +401,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -397,6 +397,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kRecordIncognitoNtpTimeToFirstNavigationMetric, &kRecordSuppressionMetrics, &kReengagementNotification, @@ -34,14 +34,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -501,6 +501,7 @@ public abstract class ChromeFeatureList { +@@ -488,6 +488,7 @@ public abstract class ChromeFeatureList { + "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MEDIA_INDICATORS_ANDROID = "MediaIndicatorsAndroid"; - public static final String MINI_ORIGIN_BAR = "MiniOriginBar"; public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization"; + public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect"; - public static final String MULTI_INSTANCE_APPLICATION_STATUS_CLEANUP = - "MultiInstanceApplicationStatusCleanup"; + public static final String MOVE_TO_FRONT_IN_LAUNCH_INTENT_DISPATCHER = + "MoveToFrontInLaunchIntentDispatcher"; diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java diff --git a/build/patches/Restore-chrome-password-store.patch b/build/patches/Restore-chrome-password-store.patch index 324fa416..18dc2b61 100644 --- a/build/patches/Restore-chrome-password-store.patch +++ b/build/patches/Restore-chrome-password-store.patch @@ -21,7 +21,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../settings/AutofillProfilesFragment.java | 1 + .../settings/PasswordSettings.java | 697 ++++++++++++++++++ .../settings/FragmentDependencyProvider.java | 5 + - .../chrome/browser/settings/MainSettings.java | 13 - + .../chrome/browser/settings/MainSettings.java | 15 - .../settings/SettingsNavigationImpl.java | 4 + chrome/browser/BUILD.gn | 7 + .../autofill/AutofillClientProviderUtils.java | 1 + @@ -87,7 +87,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../core/common/password_manager_pref_names.h | 2 - components/sync/service/sync_prefs.cc | 2 +- .../Restore-chrome-password-store.inc | 1 + - 79 files changed, 5539 insertions(+), 76 deletions(-) + 79 files changed, 5539 insertions(+), 78 deletions(-) create mode 100644 chrome/android/java/res/layout/password_no_result.xml create mode 100644 chrome/android/java/res/menu/save_password_preferences_action_bar_menu.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java @@ -133,7 +133,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -793,6 +793,10 @@ if (_is_default_toolchain) { +@@ -799,6 +799,10 @@ if (_is_default_toolchain) { "//url/mojom:url_mojom_origin_java", ] @@ -144,7 +144,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn deps += feed_deps srcjar_deps = [ -@@ -935,6 +939,10 @@ if (_is_default_toolchain) { +@@ -943,6 +947,10 @@ if (_is_default_toolchain) { "//components/visited_url_ranking/internal:internal_java", ] @@ -153,12 +153,12 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn + ] + if (is_desktop_android) { - deps += [ - "//chrome/browser/ui/android/extensions/windowing/internal:java", + deps += + [ "//chrome/browser/ui/android/extensions/windowing/internal:java" ] diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -674,3 +674,8 @@ chrome_java_resources = [ +@@ -649,3 +649,8 @@ chrome_java_resources = [ "java/res/xml/tracing_preferences.xml", "java/res/xml/unified_account_settings_preferences.xml", ] @@ -170,7 +170,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -898,6 +898,7 @@ chrome_java_sources = [ +@@ -907,6 +907,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/password_manager/PasswordManagerDialogViewBinder.java", "java/src/org/chromium/chrome/browser/password_manager/PasswordManagerErrorMessageHelperBridge.java", "java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java", @@ -181,7 +181,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java --- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java +++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/ManualFillingMediator.java -@@ -587,10 +587,7 @@ class ManualFillingMediator +@@ -608,10 +608,7 @@ class ManualFillingMediator // suggestions for non credential fields. The check for feature flag needs to happen before // `IS_CREDENTIAL_FIELD_OR_HAS_AUTOFILL_SUGGESTIONS` check to ensure we get the unbiased // metrics. @@ -196,7 +196,7 @@ diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/ch diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml -@@ -477,10 +477,9 @@ by a child template that "extends" this file. +@@ -487,10 +487,9 @@ by a child template that "extends" this file. @@ -309,7 +309,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -60,7 +60,8 @@ found in the LICENSE file. +@@ -61,7 +61,8 @@ found in the LICENSE file. android:key="autofill_section" android:order="11" android:title="@string/prefs_section_autofill"/> @@ -322,25 +322,25 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java -@@ -841,6 +841,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -812,6 +812,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment } - private boolean disabledSettingsInThirdPartyMode() { + private static boolean disabledSettingsInThirdPartyMode(Profile profile) { + if ((true)) return false; return (AutofillClientProviderUtils.getAndroidAutofillFrameworkAvailability( - UserPrefs.get(getProfile())) - == AndroidAutofillAvailabilityStatus.AVAILABLE) + UserPrefs.get(profile)) + == AndroidAutofillAvailabilityStatus.AVAILABLE); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillProfilesFragment.java -@@ -447,6 +447,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment +@@ -462,6 +462,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment } - private boolean disabledSettingsInThirdPartyMode() { + private static boolean disabledSettingsInThirdPartyMode(Profile profile) { + if ((true)) return false; return AutofillClientProviderUtils.getAndroidAutofillFrameworkAvailability( - UserPrefs.get(getProfile())) - == AndroidAutofillAvailabilityStatus.AVAILABLE + UserPrefs.get(profile)) + == AndroidAutofillAvailabilityStatus.AVAILABLE; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java new file mode 100644 --- /dev/null @@ -1055,7 +1055,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.chrome.browser.password_manager.PasswordManagerHelper; import org.chromium.chrome.browser.password_manager.PasswordStoreBridge; import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment; -@@ -131,6 +133,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -145,6 +147,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl PasswordManagerHelper.getForProfile(mProfile), new SettingsCustomTabLauncherImpl()); } @@ -1068,7 +1068,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java -@@ -608,19 +608,6 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -625,15 +625,6 @@ public class MainSettings extends ChromeBaseSettingsFragment return SettingsNavigationHelper.showAutofillProfileSettings( getActivity()); }); @@ -1077,17 +1077,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - passwordsPreference.setOnPreferenceClickListener( - preference -> { - onPreferenceSelected(preference); -- PasswordManagerLauncher.showPasswordSettings( -- getActivity(), -- getProfile(), -- ManagePasswordsReferrer.CHROME_SETTINGS, -- mModalDialogManagerSupplier, -- /* managePasskeys= */ false); +- showPasswordSettings( +- getActivity(), getProfile(), mModalDialogManagerSupplier.asNonNull()); - return true; - }); // This is temporary code needed for migrating people to UPM. With UPM there is no // longer passwords setting page in Chrome, so we need to ask users to export their +@@ -685,12 +676,6 @@ public class MainSettings extends ChromeBaseSettingsFragment + Context context, + Profile profile, + ObservableSupplier modalDialogManagerSupplier) { +- PasswordManagerLauncher.showPasswordSettings( +- context, +- profile, +- ManagePasswordsReferrer.CHROME_SETTINGS, +- modalDialogManagerSupplier.asNonNull(), +- /* managePasskeys= */ false); + } + + private void updatePlusAddressesPreference() { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsNavigationImpl.java @@ -1107,7 +1116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin case SettingsFragment.GOOGLE_SERVICES: case SettingsFragment.MANAGE_SYNC: case SettingsFragment.FINANCIAL_ACCOUNTS: -@@ -134,6 +136,8 @@ public class SettingsNavigationImpl implements SettingsNavigation { +@@ -156,6 +158,8 @@ public class SettingsNavigationImpl implements SettingsNavigation { return SiteSettings.class; case SettingsFragment.ACCESSIBILITY: return AccessibilitySettings.class; @@ -1119,7 +1128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3365,6 +3365,13 @@ static_library("browser") { +@@ -3329,6 +3329,13 @@ static_library("browser") { "touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h", ] @@ -2995,7 +3004,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java -@@ -37,8 +37,9 @@ import org.chromium.chrome.browser.password_manager.PasswordCheckupClientHelper. +@@ -35,8 +35,9 @@ import org.chromium.chrome.browser.password_manager.PasswordCheckupClientHelper. import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.profiles.ProfileKeyedMap; import org.chromium.chrome.browser.pwm_disabled.PasswordCsvDownloadFlowControllerFactory; @@ -3006,15 +3015,15 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom import org.chromium.components.browser_ui.settings.SettingsCustomTabLauncher; import org.chromium.components.sync.SyncService; import org.chromium.ui.modaldialog.ModalDialogManager; -@@ -172,6 +173,7 @@ public class PasswordManagerHelper { +@@ -163,6 +164,7 @@ public class PasswordManagerHelper { Context context, - Supplier<@Nullable ModalDialogManager> modalDialogManagerSupplier, + ModalDialogManager modalDialogManager, SettingsCustomTabLauncher settingsCustomTabLauncher) { + if ((true)) return false; // Automotive doesn't support the export flow. if (!DeviceInfo.isAutomotive() && LoginDbDeprecationUtilBridge.hasPasswordsInCsv(mProfile)) { -@@ -179,16 +181,6 @@ public class PasswordManagerHelper { +@@ -170,16 +172,6 @@ public class PasswordManagerHelper { return true; } @@ -3022,7 +3031,7 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom - new PasswordManagerUnavailableDialogCoordinator() - .showDialog( - context, -- assertNonNull(modalDialogManagerSupplier.get()), +- modalDialogManager, - PasswordManagerUtilBridge.isGooglePlayServicesUpdatable() - ? GmsUpdateLauncher::launch - : null); @@ -3031,9 +3040,9 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom return false; } -@@ -413,6 +405,11 @@ public class PasswordManagerHelper { - Supplier<@Nullable ModalDialogManager> modalDialogManagerSupplier, - Context context, +@@ -400,6 +392,11 @@ public class PasswordManagerHelper { + @Nullable SyncService syncService, + LoadingModalDialogCoordinator loadingDialogCoordinator, @Nullable String account) { + SettingsNavigation settingsNavigation = + SettingsNavigationFactory.createSettingsNavigation(); @@ -6038,7 +6047,7 @@ diff --git a/chrome/browser/password_manager/password_manager_settings_service_f diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -2475,13 +2475,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, +@@ -2520,13 +2520,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, profile_prefs->ClearPref(kObsoletePasswordsUseUPMLocalAndSeparateStores); profile_prefs->ClearPref(kObsoleteEmptyProfileStoreLoginDatabase); profile_prefs->ClearPref(kObsoleteUpmAutoExportCsvNeedsDeletion); @@ -6055,7 +6064,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -703,7 +703,7 @@ For more settings that use data to improve your Chrome experience, go to @@ -6064,7 +6073,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Password saving is turned on by your administrator -@@ -803,6 +803,127 @@ For more settings that use data to improve your Chrome experience, go to @@ -6209,7 +6218,7 @@ new file mode 100644 diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc -@@ -401,6 +401,7 @@ BASE_FEATURE(kAutofillDeduplicateAccountAddresses, +@@ -418,6 +418,7 @@ BASE_FEATURE(kAutofillDeduplicateAccountAddresses, // If enabled, other apps can open the Autofill Options in Chrome. BASE_FEATURE(kAutofillDeepLinkAutofillOptions, base::FEATURE_ENABLED_BY_DEFAULT); @@ -6483,7 +6492,7 @@ diff --git a/components/password_manager/core/common/password_manager_pref_names diff --git a/components/sync/service/sync_prefs.cc b/components/sync/service/sync_prefs.cc --- a/components/sync/service/sync_prefs.cc +++ b/components/sync/service/sync_prefs.cc -@@ -715,7 +715,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) { +@@ -714,7 +714,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) { kSeparateLocalAndAccountSearchEngines); #endif case UserSelectableType::kPasswords: diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch index 011704d4..ca3c9ba8 100644 --- a/build/patches/Restore-offline-indicator-v2-flag.patch +++ b/build/patches/Restore-offline-indicator-v2-flag.patch @@ -92,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -1456,7 +1456,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1465,7 +1465,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { private void initStatusIndicatorCoordinator(LayoutManagerImpl layoutManager) { // TODO(crbug.com/40112282): Disable on tablets for now as we need to do one or two extra // things for tablets. @@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab return; } -@@ -1490,6 +1491,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1499,6 +1500,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight); }); @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -379,6 +379,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -373,6 +373,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNotificationPermissionBottomSheet, &kNotificationPermissionVariant, &kNotificationTrampoline, @@ -128,7 +128,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -520,6 +520,7 @@ public abstract class ChromeFeatureList { +@@ -509,6 +509,7 @@ public abstract class ChromeFeatureList { "NotificationPermissionBottomSheet"; public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant"; public static final String NOTIFICATION_TRAMPOLINE = "NotificationTrampoline"; diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch index 383e5dd9..46352d3c 100644 --- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch +++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -2616,6 +2616,10 @@ +@@ -2318,6 +2318,10 @@ "yangsharon@google.com", "alexmos@google.com", "creis@google.com" ], "expiry_milestone": 150 }, @@ -63,7 +63,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil diff --git a/content/browser/android/overscroll_controller_android.cc b/content/browser/android/overscroll_controller_android.cc --- a/content/browser/android/overscroll_controller_android.cc +++ b/content/browser/android/overscroll_controller_android.cc -@@ -66,14 +66,15 @@ std::unique_ptr CreateGlowEffect(OverscrollGlowClient* client) { +@@ -67,14 +67,15 @@ std::unique_ptr CreateGlowEffect(OverscrollGlowClient* client) { std::unique_ptr CreateRefreshEffect( ui::OverscrollRefreshHandler* overscroll_refresh_handler, float dpi_scale) { diff --git a/build/patches/Revert-removal-of-execution-context-address-space.patch b/build/patches/Revert-removal-of-execution-context-address-space.patch index 82401602..9ba5f0ff 100644 --- a/build/patches/Revert-removal-of-execution-context-address-space.patch +++ b/build/patches/Revert-removal-of-execution-context-address-space.patch @@ -65,7 +65,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc --- a/third_party/blink/renderer/core/execution_context/execution_context.cc +++ b/third_party/blink/renderer/core/execution_context/execution_context.cc -@@ -523,6 +523,15 @@ void ExecutionContext::SetReferrerPolicy( +@@ -515,6 +515,15 @@ void ExecutionContext::SetReferrerPolicy( policy_container_->UpdateReferrerPolicy(referrer_policy); } @@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h --- a/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h -@@ -35,6 +35,7 @@ +@@ -34,6 +34,7 @@ #include "net/storage_access_api/status.h" #include "services/metrics/public/cpp/ukm_source_id.h" #include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink-forward.h" @@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context #include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h" #include "third_party/blink/public/common/fingerprinting_protection/noise_token.h" #include "third_party/blink/public/common/tokens/tokens.h" -@@ -420,6 +421,9 @@ class CORE_EXPORT ExecutionContext : public MojoBindingContext, +@@ -382,6 +383,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable, const String& message = g_empty_string, const String& source_file = g_empty_string) const {} @@ -223,7 +223,7 @@ diff --git a/third_party/blink/renderer/core/loader/modulescript/worker_module_s diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc --- a/third_party/blink/renderer/core/workers/dedicated_worker.cc +++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc -@@ -360,6 +360,7 @@ void DedicatedWorker::OnScriptLoadStarted( +@@ -362,6 +362,7 @@ void DedicatedWorker::OnScriptLoadStarted( ContinueStart(script_request_url_, std::move(worker_main_script_load_params), network::mojom::ReferrerPolicy::kDefault, Vector(), @@ -231,7 +231,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), std::move(dip_reporting_observer)); -@@ -426,6 +427,7 @@ void DedicatedWorker::OnFinished( +@@ -428,6 +429,7 @@ void DedicatedWorker::OnFinished( ? mojo::Clone(classic_script_loader_->GetContentSecurityPolicy() ->GetParsedPolicies()) : Vector(), @@ -239,7 +239,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(back_forward_cache_controller_host), /*coep_reporting_observer=*/mojo::NullReceiver(), /*dip_reporting_observer=*/mojo::NullReceiver()); -@@ -443,6 +445,7 @@ void DedicatedWorker::ContinueStart( +@@ -445,6 +447,7 @@ void DedicatedWorker::ContinueStart( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -247,7 +247,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third mojo::PendingRemote back_forward_cache_controller_host, mojo::PendingReceiver -@@ -467,6 +470,7 @@ void DedicatedWorker::ContinueStart( +@@ -469,6 +472,7 @@ void DedicatedWorker::ContinueStart( std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -255,7 +255,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), std::move(dip_reporting_observer)), -@@ -476,6 +480,7 @@ void DedicatedWorker::ContinueStart( +@@ -478,6 +482,7 @@ void DedicatedWorker::ContinueStart( ContinueStartInternal( script_url, std::move(worker_main_script_load_params), std::move(referrer_policy), std::move(response_content_security_policies), @@ -263,7 +263,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(back_forward_cache_controller_host), std::move(coep_reporting_observer), std::move(dip_reporting_observer)); } -@@ -487,6 +492,7 @@ void DedicatedWorker::ContinueStartInternal( +@@ -489,6 +494,7 @@ void DedicatedWorker::ContinueStartInternal( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -271,7 +271,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third mojo::PendingRemote back_forward_cache_controller_host, mojo::PendingReceiver -@@ -501,6 +507,7 @@ void DedicatedWorker::ContinueStartInternal( +@@ -503,6 +509,7 @@ void DedicatedWorker::ContinueStartInternal( CreateGlobalScopeCreationParams( script_url, referrer_policy, std::move(response_content_security_policies), @@ -279,7 +279,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third std::move(coep_reporting_observer), std::move(dip_reporting_observer)), std::move(worker_main_script_load_params), options_, script_url, -@@ -539,6 +546,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -541,6 +548,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( network::mojom::ReferrerPolicy referrer_policy, Vector response_content_security_policies, @@ -287,7 +287,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third mojo::PendingReceiver coep_reporting_observer, mojo::PendingReceiver -@@ -591,6 +599,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( +@@ -593,6 +601,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams( execution_context->GetSecurityOrigin(), execution_context->IsSecureContext(), execution_context->GetHttpsState(), MakeGarbageCollected(), CreateWebContentSettingsClient(), @@ -655,7 +655,7 @@ diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/thi #include "third_party/blink/public/common/tokens/tokens.h" #include "third_party/blink/public/mojom/loader/code_cache.mojom-blink-forward.h" #include "third_party/blink/public/mojom/script/script_type.mojom-blink-forward.h" -@@ -187,6 +188,7 @@ class CORE_EXPORT WorkerGlobalScope +@@ -176,6 +177,7 @@ class CORE_EXPORT WorkerGlobalScope virtual void Initialize( const KURL& response_url, network::mojom::ReferrerPolicy response_referrer_policy, diff --git a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch index 96835fac..8d327a86 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -188,7 +188,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -52,6 +52,7 @@ +@@ -51,6 +51,7 @@ #include "third_party/blink/public/platform/task_type.h" #include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/web/web_picture_in_picture_window_options.h" @@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p #include "third_party/blink/renderer/bindings/core/v8/binding_security.h" #include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h" #include "third_party/blink/renderer/bindings/core/v8/isolated_world_csp.h" -@@ -509,7 +510,10 @@ bool LocalDOMWindow::CanExecuteScripts( +@@ -500,7 +501,10 @@ bool LocalDOMWindow::CanExecuteScripts( } return false; } @@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -4157,19 +4157,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4147,19 +4147,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -932,12 +932,6 @@ class CORE_EXPORT LocalFrame final +@@ -930,12 +930,6 @@ class CORE_EXPORT LocalFrame final return *v8_local_compile_hints_producer_; } @@ -250,7 +250,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_party/blink/renderer/core/html/html_meta_element.cc --- a/third_party/blink/renderer/core/html/html_meta_element.cc +++ b/third_party/blink/renderer/core/html/html_meta_element.cc -@@ -790,7 +790,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, +@@ -797,7 +797,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, return; } @@ -264,7 +264,7 @@ diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_p diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc --- a/third_party/blink/renderer/core/loader/base_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc -@@ -273,7 +273,7 @@ BaseFetchContext::CanRequestInternal( +@@ -274,7 +274,7 @@ BaseFetchContext::CanRequestInternal( } if (type == ResourceType::kScript) { @@ -276,7 +276,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h --- a/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h -@@ -106,7 +106,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -107,7 +107,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { : fetcher_properties_(properties), console_logger_(logger) {} // Used for security checks. @@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -625,7 +625,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -636,7 +636,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( // Check if |url| is allowed to run JavaScript. If not, client hints are not // attached to the requests that initiate on the render side. @@ -298,7 +298,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi return; } -@@ -1088,15 +1089,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { +@@ -1099,15 +1100,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { } } @@ -354,7 +354,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir static ResourceFetcher* CreateFetcherForCommittedDocument(DocumentLoader&, Document&); FrameFetchContext(DocumentLoader& document_loader, -@@ -177,7 +188,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -178,7 +189,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, // BaseFetchContext overrides: net::SiteForCookies GetSiteForCookies() const override; SubresourceFilter* GetSubresourceFilter() const override; @@ -366,7 +366,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc --- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc -@@ -78,10 +78,14 @@ SubresourceFilter* WorkerFetchContext::GetSubresourceFilter() const { +@@ -79,10 +79,14 @@ SubresourceFilter* WorkerFetchContext::GetSubresourceFilter() const { return subresource_filter_.Get(); } diff --git a/build/patches/Set-caret-blink-interval-to-default.patch b/build/patches/Set-caret-blink-interval-to-default.patch index b213a9c1..caa9f0e5 100644 --- a/build/patches/Set-caret-blink-interval-to-default.patch +++ b/build/patches/Set-caret-blink-interval-to-default.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -3602,9 +3602,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3749,9 +3749,7 @@ void WebViewImpl::UpdateRendererPreferences( UpdateFontRenderingFromRendererPrefs(); blink::SetCaretBlinkInterval( diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index 923098f9..1da4b298 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java -@@ -3088,6 +3088,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3107,6 +3107,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt mInactivityTrackerSupplier.set( new ChromeInactivityTracker( ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF)); @@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC import org.chromium.chrome.browser.magic_stack.HomeModulesMetricsUtils; import org.chromium.chrome.browser.ntp.NewTabPage; import org.chromium.chrome.browser.profiles.Profile; -@@ -130,6 +132,18 @@ public final class ReturnToChromeUtil { +@@ -129,6 +131,18 @@ public final class ReturnToChromeUtil { return false; } @@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC // Checks whether to show the NTP homepage due to feature flag // HOME_SURFACE_RETURN_TIME_SECONDS. long lastVisibleTimeMs = inactivityTracker.getLastVisibleTimeMs(); -@@ -248,7 +262,7 @@ public final class ReturnToChromeUtil { +@@ -247,7 +261,7 @@ public final class ReturnToChromeUtil { TabModel currentTabModel, TabCreator tabCreator, HomeSurfaceTracker homeSurfaceTracker) { @@ -158,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1007,7 +1007,7 @@ +@@ -1031,7 +1031,7 @@ Open a specific page or set of pages @@ -170,7 +170,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -425,6 +425,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -421,6 +421,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kSearchInCCTIfEnabledByEmbedder, &kSearchResumptionModuleAndroid, &kSettingsMultiColumn, @@ -238,7 +238,7 @@ diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -958,6 +958,8 @@ public final class ChromePreferenceKeys { +@@ -1000,6 +1000,8 @@ public final class ChromePreferenceKeys { public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF = "ChromeTabbedActivity.BackgroundTimeMs"; @@ -261,7 +261,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/resource_coordinator/session_restore_policy.h b/chrome/browser/resource_coordinator/session_restore_policy.h --- a/chrome/browser/resource_coordinator/session_restore_policy.h +++ b/chrome/browser/resource_coordinator/session_restore_policy.h -@@ -31,7 +31,7 @@ class SessionRestorePolicy { +@@ -29,7 +29,7 @@ class SessionRestorePolicy { public: // Minimum site engagement score for a tab to be restored, if it doesn't // communicate in the background. @@ -284,7 +284,7 @@ diff --git a/chrome/browser/resources/settings/on_startup_page/on_startup_page.t diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/sessions/session_restore.cc --- a/chrome/browser/sessions/session_restore.cc +++ b/chrome/browser/sessions/session_restore.cc -@@ -920,7 +920,13 @@ class SessionRestoreImpl : public BrowserListObserver { +@@ -927,7 +927,13 @@ class SessionRestoreImpl : public BrowserListObserver { // be selected as ShowBrowser() will load the selected tab. bool is_selected_tab = (initial_tab_count == 0) && (i == selected_tab_index); @@ -299,7 +299,7 @@ diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/session // Convert the last active time because WebContents needs a TimeTicks. const base::TimeDelta delta = tab.last_active_time - epoch_time; const base::TimeTicks last_active_time_ticks = epoch_time_ticks + delta; -@@ -1240,6 +1246,7 @@ class SessionRestoreImpl : public BrowserListObserver { +@@ -1242,6 +1248,7 @@ class SessionRestoreImpl : public BrowserListObserver { } if (last_normal_browser && !normal_startup_tabs.empty()) { AppendURLsToBrowser(last_normal_browser, normal_startup_tabs); @@ -310,7 +310,7 @@ diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/session diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab_loader.cc --- a/chrome/browser/sessions/tab_loader.cc +++ b/chrome/browser/sessions/tab_loader.cc -@@ -52,7 +52,7 @@ struct ScoredTabComparator { +@@ -51,7 +51,7 @@ struct ScoredTabComparator { }; // Testing seams. @@ -319,7 +319,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab base::RepeatingCallback* g_construction_callback = nullptr; // Determines if the given browser (can be null) is closing. -@@ -375,7 +375,7 @@ void TabLoader::OnMemoryPressure( +@@ -374,7 +374,7 @@ void TabLoader::OnMemoryPressure( bool TabLoader::ShouldStopLoadingTabs() const { DCHECK(reentry_depth_ > 0); // This can only be called internally. @@ -328,7 +328,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab scheduled_to_load_count_ >= g_max_loaded_tab_count_for_testing) { return true; } -@@ -417,7 +417,7 @@ size_t TabLoader::GetMaxNewTabLoads() const { +@@ -412,7 +412,7 @@ size_t TabLoader::GetMaxNewTabLoads() const { tabs_to_load = std::min(tabs_to_load, tabs_to_load_.size()); // Finally, enforce testing tab load limits. @@ -337,7 +337,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab size_t tabs_remaining_for_testing = g_max_loaded_tab_count_for_testing - scheduled_to_load_count_; tabs_to_load = std::min(tabs_to_load, tabs_remaining_for_testing); -@@ -775,6 +775,7 @@ void TabLoader::MoveToSortedPosition(TabVector::iterator it) { +@@ -770,6 +770,7 @@ void TabLoader::MoveToSortedPosition(TabVector::iterator it) { } size_t TabLoader::MaxSimultaneousLoads() const { @@ -348,7 +348,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab diff --git a/chrome/browser/sessions/tab_loader.h b/chrome/browser/sessions/tab_loader.h --- a/chrome/browser/sessions/tab_loader.h +++ b/chrome/browser/sessions/tab_loader.h -@@ -282,7 +282,7 @@ class TabLoader : public base::RefCounted, +@@ -281,7 +281,7 @@ class TabLoader : public base::RefCounted, // This is monotonically increasing, and can never exceed the combined number // of tabs passed into this TabLoader via StartLoading(). This is only used in // order to support a combined maximum total number of tab loads for testing. @@ -489,7 +489,7 @@ diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc --- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc +++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc -@@ -560,6 +560,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs( +@@ -567,6 +567,14 @@ StartupBrowserCreatorImpl::DetermineStartupTabs( AppendTabs(provider.GetNewTabPageTabs(*command_line_, profile_), &tabs); } diff --git a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch index 4e31ff5e..6968faa3 100644 --- a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch +++ b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java -@@ -662,6 +662,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -668,6 +668,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment setUpSoundPreference(preference); } else if (type == ContentSettingsType.JAVASCRIPT) { setUpJavascriptPreference(preference); @@ -24,7 +24,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } else if (type == ContentSettingsType.GEOLOCATION) { setUpLocationPreference(preference); } else if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) { -@@ -1257,17 +1259,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1248,17 +1250,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment private void setUpAdsInformationalBanner() { // Add the informational banner which shows at the top of the UI if ad blocking is // activated on this site. @@ -42,7 +42,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } @RequiresNonNull({"mSite"}) -@@ -1620,12 +1613,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1611,12 +1604,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment @ContentSetting @Nullable Integer currentValue = mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT); @@ -62,7 +62,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c } // Not possible to embargo JAVASCRIPT. setupContentSettingsPreference( -@@ -1635,6 +1629,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1626,6 +1620,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment isOneTime(ContentSettingsType.JAVASCRIPT)); } @@ -92,7 +92,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c /** * Updates the ads list preference based on whether the site is a candidate for blocking. This * has some custom behavior. 1. If the site is a candidate and has activation, the permission -@@ -1652,9 +1669,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment +@@ -1643,9 +1660,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment } // If the ad blocker is activated, then this site will have ads blocked unless there is an // explicit permission disallowing the blocking. diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch index 11e7e2a5..0cf918ce 100644 --- a/build/patches/Site-setting-for-images.patch +++ b/build/patches/Site-setting-for-images.patch @@ -259,7 +259,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc -@@ -107,8 +107,7 @@ void ContentSettingsRegistry::Init() { +@@ -106,8 +106,7 @@ void ContentSettingsRegistry::Init() { kChromeUIUntrustedScheme}, /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, @@ -324,7 +324,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -4144,19 +4144,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4134,19 +4134,6 @@ bool LocalFrame::IsSameOrigin() { return security_origin->IsSameOriginWith(top_security_origin); } @@ -347,7 +347,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -931,12 +931,6 @@ class CORE_EXPORT LocalFrame final +@@ -929,12 +929,6 @@ class CORE_EXPORT LocalFrame final return *v8_local_compile_hints_producer_; } @@ -382,7 +382,7 @@ diff --git a/third_party/blink/renderer/core/html/image_document.cc b/third_part diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc -@@ -319,6 +319,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( +@@ -321,6 +321,7 @@ ResourceFetcher* FrameFetchContext::CreateFetcherForCommittedDocument( fetcher->SetResourceLoadObserver( MakeGarbageCollected( loader, document, fetcher->GetProperties())); @@ -390,7 +390,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi fetcher->SetAutoLoadImages( frame->GetSettings()->GetLoadsImagesAutomatically()); fetcher->SetEarlyHintsPreloadedResources( -@@ -507,16 +508,13 @@ void FrameFetchContext::AddResourceTiming( +@@ -518,16 +519,13 @@ void FrameFetchContext::AddResourceTiming( ->AddResourceTiming(std::move(info), initiator_type); } @@ -427,7 +427,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -1041,9 +1041,8 @@ void Page::SettingsChanged(ChangeType change_type) { +@@ -1040,9 +1040,8 @@ void Page::SettingsChanged(ChangeType change_type) { for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { if (auto* local_frame = DynamicTo(frame)) { @@ -454,15 +454,15 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h b/ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc -@@ -831,6 +831,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) +@@ -823,6 +823,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init) blob_registry_remote_(init.context_lifecycle_notifier), context_lifecycle_notifier_(init.context_lifecycle_notifier), auto_load_images_(true), + images_enabled_(true), allow_stale_resources_(false), - image_fetched_(false), - memory_pressure_listener_registration_( -@@ -2021,7 +2022,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( + image_fetched_(false) { + InstanceCounters::IncrementCounter(InstanceCounters::kResourceFetcherCounter); +@@ -1989,7 +1990,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused( return false; } @@ -471,7 +471,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2266,8 +2267,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2234,8 +2235,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } @@ -496,7 +496,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h --- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h -@@ -235,6 +235,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -231,6 +231,7 @@ class PLATFORM_EXPORT ResourceFetcher bool StartLoad(Resource*, bool is_potentially_unused_preload = false); void SetAutoLoadImages(bool); @@ -504,7 +504,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h FetchContext& Context() const; void ClearContext(); -@@ -717,6 +718,7 @@ class PLATFORM_EXPORT ResourceFetcher +@@ -705,6 +706,7 @@ class PLATFORM_EXPORT ResourceFetcher bool is_in_request_resource_ = false; bool auto_load_images_ : 1; diff --git a/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch b/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch index 62a32c95..51557930 100644 --- a/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch +++ b/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch @@ -26,8 +26,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/allocator/partition_alloc_features.cc b/base/allocator/partition_alloc_features.cc --- a/base/allocator/partition_alloc_features.cc +++ b/base/allocator/partition_alloc_features.cc -@@ -95,6 +95,7 @@ BASE_FEATURE(kPartitionAllocLargeEmptySlotSpanRing, - #endif +@@ -95,6 +95,7 @@ BASE_FEATURE_PARAM(int, + partition_alloc::internal::SlotSpanRingMaxSize::kMedium); BASE_FEATURE(kPartitionAllocWithAdvancedChecks, FEATURE_DISABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_ENABLED(kPartitionAllocWithAdvancedChecks); @@ -53,7 +53,7 @@ diff --git a/base/allocator/partition_alloc_features.cc b/base/allocator/partiti diff --git a/base/allocator/partition_alloc_support.cc b/base/allocator/partition_alloc_support.cc --- a/base/allocator/partition_alloc_support.cc +++ b/base/allocator/partition_alloc_support.cc -@@ -287,6 +287,20 @@ void StartMemoryReclaimer(scoped_refptr task_runner) { +@@ -289,6 +289,20 @@ void StartMemoryReclaimer(scoped_refptr task_runner) { std::map ProposeSyntheticFinchTrials() { std::map trials; @@ -74,7 +74,7 @@ diff --git a/base/allocator/partition_alloc_support.cc b/base/allocator/partitio #if PA_BUILDFLAG(ENABLE_DANGLING_RAW_PTR_CHECKS) trials.emplace("DanglingPointerDetector", "Enabled"); #else -@@ -298,13 +312,18 @@ std::map ProposeSyntheticFinchTrials() { +@@ -300,13 +314,18 @@ std::map ProposeSyntheticFinchTrials() { trials.emplace("VectorRawPtrExperiment", "Disabled"); #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) @@ -96,7 +96,7 @@ diff --git a/base/allocator/partition_alloc_support.cc b/base/allocator/partitio } #if BUILDFLAG(IS_ANDROID) BootloaderOverride bootloader_override = GetBootloaderOverride(); -@@ -919,10 +938,7 @@ bool PartitionAllocSupport::ShouldEnablePartitionAllocWithAdvancedChecks( +@@ -922,10 +941,7 @@ bool PartitionAllocSupport::ShouldEnablePartitionAllocWithAdvancedChecks( base::features::kPartitionAllocWithAdvancedChecks)) { return false; } diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch index 4eb74d5d..f6031a2e 100644 --- a/build/patches/Switch-to-fstack-protector-strong.patch +++ b/build/patches/Switch-to-fstack-protector-strong.patch @@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -455,7 +455,7 @@ config("compiler") { +@@ -464,7 +464,7 @@ config("compiler") { } else if (is_posix || is_fuchsia) { if (current_os != "aix") { # Not available on aix. diff --git a/build/patches/Temp-disable-UseContextSnapshot.patch b/build/patches/Temp-disable-UseContextSnapshot.patch index 9f427b3b..a05457fb 100644 --- a/build/patches/Temp-disable-UseContextSnapshot.patch +++ b/build/patches/Temp-disable-UseContextSnapshot.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc --- a/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc -@@ -1079,6 +1079,7 @@ BASE_FEATURE(kUnrestrictedSharedArrayBuffer, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -1058,6 +1058,7 @@ BASE_FEATURE(kUnrestrictedSharedArrayBuffer, base::FEATURE_DISABLED_BY_DEFAULT); #if BUILDFLAG(IS_ANDROID) && BUILDFLAG(INCLUDE_BOTH_V8_SNAPSHOTS) // If enabled, blink's context snapshot is used rather than the v8 snapshot. BASE_FEATURE(kUseContextSnapshot, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/build/patches/Temp-disable-experimental-web-platform-features.patch b/build/patches/Temp-disable-experimental-web-platform-features.patch index ad5aff89..fff52dfd 100644 --- a/build/patches/Temp-disable-experimental-web-platform-features.patch +++ b/build/patches/Temp-disable-experimental-web-platform-features.patch @@ -9,7 +9,7 @@ Subject: Temp disable experimental-web-platform-features diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5581,10 +5581,10 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5495,10 +5495,10 @@ const FeatureEntry kFeatureEntries[] = { {"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName, flag_descriptions::kGpuRasterizationDescription, kOsAll, MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)}, diff --git a/build/patches/Temp-disable-predictive-back-gesture.patch b/build/patches/Temp-disable-predictive-back-gesture.patch index 9edcb260..17153c1f 100644 --- a/build/patches/Temp-disable-predictive-back-gesture.patch +++ b/build/patches/Temp-disable-predictive-back-gesture.patch @@ -16,7 +16,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory" - android:enableOnBackInvokedCallback="true" + android:enableOnBackInvokedCallback="false" - {% block extra_application_attributes %}{% endblock %}> - - {% if channel in ['canary', 'dev', 'default'] %} + {% if javaless_renderers is defined %} + android:zygotePreloadNativeLib="lib{{ library_name }}.so" + {% endif %} -- diff --git a/build/patches/Temp-use-PREVIEW-for-IDCompositionDevice5.patch b/build/patches/Temp-use-PREVIEW-for-IDCompositionDevice5.patch index d9b890bd..4e3b765a 100644 --- a/build/patches/Temp-use-PREVIEW-for-IDCompositionDevice5.patch +++ b/build/patches/Temp-use-PREVIEW-for-IDCompositionDevice5.patch @@ -24,7 +24,7 @@ diff --git a/components/viz/service/display_embedder/skia_output_device_dcomp.cc #include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/gpu/ganesh/GrDirectContext.h" -@@ -61,7 +62,7 @@ OutputSurface::DCSupportLevel GetDcSupportLevel() { +@@ -59,7 +60,7 @@ OutputSurface::DCSupportLevel GetDcSupportLevel() { Microsoft::WRL::ComPtr dcomp_device = gl::GetDirectCompositionDevice(); diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index 757e7049..311d614a 100644 --- a/build/patches/Timezone-customization.patch +++ b/build/patches/Timezone-customization.patch @@ -59,7 +59,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b ] resources_package = "org.chromium.components.browser_ui.site_settings" -@@ -295,6 +296,8 @@ android_resources("java_resources") { +@@ -287,6 +288,8 @@ android_resources("java_resources") { "java/res/xml/site_settings_preferences.xml", "java/res/xml/storage_access_settings.xml", "java/res/xml/website_preferences.xml", @@ -566,7 +566,7 @@ new file mode 100644 diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc -@@ -1352,5 +1352,21 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern( +@@ -1351,5 +1351,21 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern(JNIEnv* env, return ConvertUTF8ToJavaString(env, host_only_pattern.ToString()); } @@ -664,7 +664,7 @@ new file mode 100644 diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -103,6 +103,8 @@ void PrefProvider::RegisterProfilePrefs( +@@ -106,6 +106,8 @@ void PrefProvider::RegisterProfilePrefs( info->GetPrefRegistrationFlags()); } @@ -673,7 +673,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov // Obsolete prefs ---------------------------------------------------------- // These prefs have been removed, but need to be registered so they can -@@ -185,6 +187,10 @@ PrefProvider::PrefProvider(PrefService* prefs, +@@ -193,6 +195,10 @@ PrefProvider::PrefProvider(PrefService* prefs, event_args->set_number_of_exceptions( num_exceptions); // PrefProvider::PrefProvider. }); @@ -684,7 +684,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov } PrefProvider::~PrefProvider() { -@@ -517,4 +523,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) { +@@ -583,4 +589,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) { } } @@ -712,7 +712,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov private: friend class DeadlockCheckerObserver; // For testing. -@@ -130,6 +133,7 @@ class PrefProvider : public UserModifiableProvider { +@@ -135,6 +138,7 @@ class PrefProvider : public UserModifiableProvider { base::ThreadChecker thread_checker_; raw_ptr clock_; @@ -738,7 +738,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc --- a/components/content_settings/core/browser/host_content_settings_map.cc +++ b/components/content_settings/core/browser/host_content_settings_map.cc -@@ -750,6 +750,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) { +@@ -749,6 +749,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) { } } diff --git a/build/patches/Use-BoringSSL-for-RandBytes.patch b/build/patches/Use-BoringSSL-for-RandBytes.patch index 3fcaf40c..a9521b8b 100644 --- a/build/patches/Use-BoringSSL-for-RandBytes.patch +++ b/build/patches/Use-BoringSSL-for-RandBytes.patch @@ -24,7 +24,7 @@ diff --git a/base/rand_util_fuchsia.cc b/base/rand_util_fuchsia.cc diff --git a/base/rand_util_posix.cc b/base/rand_util_posix.cc --- a/base/rand_util_posix.cc +++ b/base/rand_util_posix.cc -@@ -102,7 +102,7 @@ namespace { +@@ -97,7 +97,7 @@ namespace { // rand_util_win.cc. std::atomic g_use_boringssl; diff --git a/build/patches/Use-browser-navigation-handler.patch b/build/patches/Use-browser-navigation-handler.patch index ae255162..0dba0782 100644 --- a/build/patches/Use-browser-navigation-handler.patch +++ b/build/patches/Use-browser-navigation-handler.patch @@ -32,7 +32,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java -@@ -105,6 +105,7 @@ import org.chromium.ui.util.MotionEventUtils; +@@ -107,6 +107,7 @@ import org.chromium.ui.util.MotionEventUtils; import org.chromium.url.GURL; import java.util.ArrayList; @@ -94,7 +94,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Hist import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.fullscreen.FullscreenOptions; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; -@@ -205,6 +206,9 @@ public class HistoryNavigationCoordinator +@@ -206,6 +207,9 @@ public class HistoryNavigationCoordinator * @return {@code} true if the feature is enabled. */ private boolean isFeatureEnabled() { @@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java -@@ -89,6 +89,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus; +@@ -92,6 +92,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus; import org.chromium.chrome.browser.flags.ActivityType; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeSwitches; @@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab import org.chromium.chrome.browser.fullscreen.BrowserControlsManager; import org.chromium.chrome.browser.fullscreen.FullscreenManager; import org.chromium.chrome.browser.gesturenav.BackActionDelegate; -@@ -865,7 +866,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -869,7 +870,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public void onInflationComplete() { mCoordinator = mActivity.findViewById(R.id.coordinator); diff --git a/build/patches/Use-list-mode-for-tab-switcher.patch b/build/patches/Use-list-mode-for-tab-switcher.patch index 66c6c79d..8df03cbd 100644 --- a/build/patches/Use-list-mode-for-tab-switcher.patch +++ b/build/patches/Use-list-mode-for-tab-switcher.patch @@ -64,7 +64,7 @@ diff --git a/chrome/android/features/tab_ui/BUILD.gn b/chrome/android/features/t "java/res/drawable/tab_grid_card_background.xml", "java/res/drawable/tab_grid_card_highlight.xml", "java/res/drawable/tab_grid_dialog_background.xml", -@@ -110,6 +112,8 @@ android_resources("java_resources") { +@@ -111,6 +113,8 @@ android_resources("java_resources") { "java/res/layout/tab_group_visual_data_dialog.xml", "java/res/layout/tab_group_visual_data_text_input_layout.xml", "java/res/layout/tab_hover_card_holder.xml", @@ -162,7 +162,7 @@ diff --git a/chrome/android/features/tab_ui/java/res/values/dimens.xml b/chrome/ 52dp -@@ -107,6 +111,7 @@ found in the LICENSE file. +@@ -114,6 +118,7 @@ found in the LICENSE file. 3dp 8dp 24dp @@ -173,7 +173,7 @@ diff --git a/chrome/android/features/tab_ui/java/res/values/dimens.xml b/chrome/ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogCoordinator.java -@@ -231,7 +231,9 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -235,7 +235,9 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon // take in a mode parameter instead. mTabListCoordinator = new TabListCoordinator( @@ -184,7 +184,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser activity, mBrowserControlsStateProvider, mModalDialogManager, -@@ -347,6 +349,11 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -352,6 +354,11 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon : "SnackbarManager should have been created or the activity was already" + " finishing."; @@ -196,7 +196,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser ViewGroup container = mDialogView.findViewById(R.id.dialog_container_view); mTabListEditorCoordinator = new TabListEditorCoordinator( -@@ -357,7 +364,7 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -362,7 +369,7 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon mCurrentTabGroupModelFilterSupplier, mTabContentManager, mTabListCoordinator::setRecyclerViewPosition, @@ -216,7 +216,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.tabmodel.TabClosingSource; import org.chromium.chrome.browser.tabmodel.TabClosureParamsUtils; import org.chromium.chrome.browser.tabmodel.TabCreatorUtil; -@@ -909,6 +910,13 @@ public class TabGridDialogMediator +@@ -898,6 +899,13 @@ public class TabGridDialogMediator TabGridDialogProperties.DIALOG_UNGROUP_BAR_HOVERED_TEXT_COLOR, ungroupBarHoveredTextColor); mModel.set(TabGridDialogProperties.IS_INCOGNITO, isIncognito); @@ -253,7 +253,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogView.java -@@ -1133,6 +1133,19 @@ public class TabGridDialogView extends FrameLayout { +@@ -1141,6 +1141,19 @@ public class TabGridDialogView extends FrameLayout { mHairline.setVisibility(visible ? VISIBLE : GONE); } @@ -340,7 +340,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java -@@ -119,13 +119,13 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -120,13 +120,13 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO * *

NOTE: STRIP and GRID modes will have height equal to that of the container view. */ @@ -356,7 +356,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser int NUM_ENTRIES = 4; } -@@ -371,6 +371,8 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -373,6 +373,8 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO assumeNonNull(model); if (mMode == TabListMode.GRID) { TabGridViewBinder.onViewRecycled(model, viewHolder.itemView); @@ -387,7 +387,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } else { throw new IllegalArgumentException( "Attempting to create a tab list UI with invalid mode"); -@@ -532,7 +549,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -533,7 +550,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO parentView.addView(mRecyclerView); } @@ -396,7 +396,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser boolean hasFixedSize = mMode != TabListMode.STRIP || !TabUiUtils.isDataSharingFunctionalityEnabled(); mRecyclerView.setAdapter(mAdapter); -@@ -564,9 +581,13 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -565,9 +582,13 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO Rect frame = new Rect(); mActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); updateGridCardLayout(frame.width()); @@ -412,7 +412,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser @Override public void onLayoutCompleted(RecyclerView.State state) { super.onLayoutCompleted(state); -@@ -650,7 +671,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -654,7 +675,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO public void addTabListItemSizeChangedObserver(TabListItemSizeChangedObserver observer) { mTabListItemSizeChangedObserverList.addObserver(observer); Size size = mMediator.getDefaultGridCardSize(); @@ -421,7 +421,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser observer.onSizeChanged(mMediator.getCurrentSpanCount(), size); } -@@ -685,7 +706,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -689,7 +710,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO Size getThumbnailSize() { Size size = mMediator.getDefaultGridCardSize(); @@ -430,7 +430,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser return TabUtils.deriveThumbnailSize(size, mActivity); } -@@ -739,7 +760,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO +@@ -743,7 +764,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO } private void configureRecyclerViewTouchHelpers() { @@ -442,7 +442,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java -@@ -404,7 +404,7 @@ public class TabListEditorCoordinator { +@@ -410,7 +410,7 @@ public class TabListEditorCoordinator { mSnackbarManager = snackbarManager; mTabActionState = initialTabActionState; mTabContentManager = tabContentManager; @@ -466,7 +466,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java -@@ -2601,8 +2601,26 @@ class TabListMediator implements TabListNotificationHandler { +@@ -2584,8 +2584,26 @@ class TabListMediator implements TabListNotificationHandler { private void updateFaviconForTab( PropertyModel model, Tab tab, @Nullable Bitmap icon, @Nullable GURL iconUrl) { if (mActionsOnAllRelatedTabs && isTabInTabGroup(tab)) { @@ -984,7 +984,7 @@ new file mode 100644 diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java -@@ -330,7 +330,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc +@@ -294,7 +294,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase || isFullSpaceModeOnAndroidXr; @Nullable Tab tab = getCurrentTab(); @@ -993,7 +993,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser return FadeHubLayoutAnimationFactory.createFadeInAnimatorProvider( hubContainerView, HUB_LAYOUT_FADE_DURATION_MS, mOnToolbarAlphaChange); } else if (isFullSpaceModeOnAndroidXr && getTabListMode() == TabListMode.GRID) { -@@ -359,7 +359,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc +@@ -323,7 +323,7 @@ public abstract class TabSwitcherPaneBase extends PaneBase HubContainerView hubContainerView) { assert !DeviceFormFactor.isNonMultiDisplayContextOnTablet(hubContainerView.getContext()); Tab tab = getCurrentTab(); @@ -1005,7 +1005,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinatorFactory.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinatorFactory.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinatorFactory.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinatorFactory.java -@@ -147,7 +147,10 @@ public class TabSwitcherPaneCoordinatorFactory { +@@ -148,7 +148,10 @@ public class TabSwitcherPaneCoordinatorFactory { mModalDialogManager = modalDialogManager; mBottomSheetController = bottomSheetController; mDataSharingTabManager = dataSharingTabManager; @@ -1044,7 +1044,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser diff --git a/chrome/android/features/tab_ui/tab_management_java_sources.gni b/chrome/android/features/tab_ui/tab_management_java_sources.gni --- a/chrome/android/features/tab_ui/tab_management_java_sources.gni +++ b/chrome/android/features/tab_ui/tab_management_java_sources.gni -@@ -187,6 +187,8 @@ internal_tab_management_java_sources = [ +@@ -185,6 +185,8 @@ internal_tab_management_java_sources = [ "//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListNotificationHandler.java", "//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListOnScrollListener.java", "//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java", @@ -1056,7 +1056,7 @@ diff --git a/chrome/android/features/tab_ui/tab_management_java_sources.gni b/ch diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml --- a/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml -@@ -88,6 +88,12 @@ found in the LICENSE file. +@@ -82,6 +82,12 @@ found in the LICENSE file. android:summary="@string/allow_external_intent_requests_summary" app:featureName="AllowExternalIntentRequests" app:needRestart="false" /> @@ -1072,7 +1072,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -194,6 +194,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; +@@ -198,6 +198,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; import org.chromium.chrome.browser.tabmodel.TabModelUtils; import org.chromium.chrome.browser.task_manager.TaskManager; import org.chromium.chrome.browser.task_manager.TaskManagerFactory; @@ -1080,7 +1080,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.chrome.browser.theme.ThemeModuleUtils; import org.chromium.chrome.browser.tinker_tank.TinkerTankDelegate; import org.chromium.chrome.browser.toolbar.ControlContainer; -@@ -680,8 +681,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -690,8 +691,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -1094,7 +1094,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/favicon_helper.cc --- a/chrome/browser/android/favicon_helper.cc +++ b/chrome/browser/android/favicon_helper.cc -@@ -46,12 +46,109 @@ using base::android::JavaParamRef; +@@ -45,12 +45,109 @@ using base::android::ConvertUTF8ToJavaString; using base::android::JavaRef; using base::android::ScopedJavaGlobalRef; using base::android::ScopedJavaLocalRef; @@ -1205,7 +1205,7 @@ diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/f cancelable_task_tracker_ = std::make_unique(); } -@@ -59,6 +156,67 @@ void FaviconHelper::Destroy(JNIEnv* env) { +@@ -58,6 +155,67 @@ void FaviconHelper::Destroy(JNIEnv* env) { delete this; } @@ -1270,10 +1270,10 @@ diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/f + id_to_job_.erase(job_id); +} + - jboolean FaviconHelper::GetLocalFaviconImageForURL( + bool FaviconHelper::GetLocalFaviconImageForURL( JNIEnv* env, Profile* profile, -@@ -144,6 +302,30 @@ jboolean FaviconHelper::GetForeignFaviconImageForURL( +@@ -143,6 +301,30 @@ bool FaviconHelper::GetForeignFaviconImageForURL( FaviconHelper::~FaviconHelper() = default; @@ -1304,7 +1304,7 @@ diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/f void FaviconHelper::OnFaviconBitmapResultAvailable( const JavaRef& j_favicon_image_callback, const favicon_base::FaviconRawBitmapResult& result) { -@@ -163,4 +345,34 @@ void FaviconHelper::OnFaviconBitmapResultAvailable( +@@ -162,4 +344,34 @@ void FaviconHelper::OnFaviconBitmapResultAvailable( env, j_favicon_image_callback, j_favicon_bitmap, result.icon_url); } @@ -1342,7 +1342,7 @@ diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/f diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/favicon_helper.h --- a/chrome/browser/android/favicon_helper.h +++ b/chrome/browser/android/favicon_helper.h -@@ -27,6 +27,12 @@ class FaviconHelper { +@@ -26,6 +26,12 @@ class FaviconHelper { FaviconHelper(const FaviconHelper&) = delete; FaviconHelper& operator=(const FaviconHelper&) = delete; @@ -1352,10 +1352,10 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa + std::vector& gurls, + jint j_desired_size_in_pixel, + const base::android::JavaParamRef& j_favicon_image_callback); - jboolean GetLocalFaviconImageForURL( + bool GetLocalFaviconImageForURL( JNIEnv* env, Profile* profile, -@@ -45,11 +51,22 @@ class FaviconHelper { +@@ -44,11 +50,22 @@ class FaviconHelper { GURL url, int desired_size_in_pixel, favicon_base::FaviconRawBitmapCallback callback_runner); @@ -1378,7 +1378,7 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa // This function is expected to be bound to a WeakPtr, so that // it won't be run if the FaviconHelper is deleted and // |j_favicon_image_callback| isn't executed in that case. -@@ -57,8 +74,16 @@ class FaviconHelper { +@@ -56,8 +73,16 @@ class FaviconHelper { const base::android::JavaRef& j_favicon_image_callback, const favicon_base::FaviconRawBitmapResult& result); @@ -1690,7 +1690,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java -@@ -65,6 +65,7 @@ import org.chromium.build.annotations.Nullable; +@@ -68,6 +68,7 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils; import org.chromium.chrome.browser.omnibox.LocationBar; @@ -1698,7 +1698,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable; import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable.HairlineBehavior; import org.chromium.chrome.browser.omnibox.LocationBarCoordinator; -@@ -2030,7 +2031,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2115,7 +2116,7 @@ public class ToolbarPhone extends ToolbarLayout // On entering the tab switcher, set the focusability of the url bar to be false. This will // occur at the start of the enter event, and will later be reset to true upon finishing the // exit event. @@ -1707,7 +1707,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mLocationBar.setUrlBarFocusable(false); } -@@ -2267,7 +2268,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2344,7 +2345,8 @@ public class ToolbarPhone extends ToolbarLayout ToggleTabStackButtonCoordinator tabSwitcherButtonCoordinator = getTabSwitcherButtonCoordinator(); assumeNonNull(tabSwitcherButtonCoordinator); @@ -1720,10 +1720,10 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow diff --git a/components/browser_ui/styles/android/BUILD.gn b/components/browser_ui/styles/android/BUILD.gn --- a/components/browser_ui/styles/android/BUILD.gn +++ b/components/browser_ui/styles/android/BUILD.gn -@@ -253,6 +253,7 @@ android_resources("java_resources") { +@@ -235,6 +235,7 @@ android_resources("java_resources") { "java/res/drawable/ic_visibility_off_black.xml", - "java/res/drawable/ic_volume_off_white_24dp.xml", - "java/res/drawable/ic_volume_on_white_24dp.xml", + "java/res/drawable/ic_volume_off_fill_24dp.xml", + "java/res/drawable/ic_volume_up_fill_24dp.xml", + "java/res/drawable/ic_warning_red_16dp.xml", "java/res/drawable/ic_warning_red_24dp.xml", "java/res/drawable/ic_warning_red_outline_32dp.xml", diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index b26d1336..6e3b0f11 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -92,7 +92,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -684,6 +684,8 @@ chrome_java_resources = [ +@@ -659,6 +659,8 @@ chrome_java_resources = [ "java/res/xml/search_widget_info.xml", "java/res/xml/tracing_preferences.xml", "java/res/xml/unified_account_settings_preferences.xml", @@ -104,7 +104,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -932,6 +932,7 @@ chrome_java_sources = [ +@@ -941,6 +941,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java", "java/src/org/chromium/chrome/browser/payments/ui/LineItem.java", "java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java", @@ -226,7 +226,7 @@ new file mode 100644 diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml -@@ -140,6 +140,11 @@ found in the LICENSE file. +@@ -136,6 +136,11 @@ found in the LICENSE file. android:key="content_settings" android:order="26" android:title="@string/prefs_site_settings"/> @@ -271,7 +271,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2814,7 +2814,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2833,7 +2833,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity profile, currentTab.getUrl(), usingDesktopUserAgent); // Use TabUtils.switchUserAgent() instead of Tab.reload(). Because we need to reload // with LoadOriginalRequestURL. See http://crbug/1418587 for details. @@ -563,7 +563,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java -@@ -82,6 +82,9 @@ import org.chromium.components.autofill.AutofillProvider; +@@ -84,6 +84,9 @@ import org.chromium.components.autofill.AutofillProvider; import org.chromium.components.autofill.AutofillProviderUMA; import org.chromium.components.autofill.AutofillSelectionActionMenuDelegate; import org.chromium.components.autofill.AutofillSelectionMenuItemHelper; @@ -573,7 +573,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; import org.chromium.components.embedder_support.contextmenu.ContextMenuPopulatorFactory; import org.chromium.components.embedder_support.util.UrlConstants; -@@ -127,6 +130,9 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -129,6 +132,9 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.profiles.ProfileManager; import org.chromium.components.user_prefs.UserPrefs; @@ -583,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav /** * Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This * class is not intended to be extended. -@@ -2342,9 +2348,6 @@ class TabImpl implements Tab { +@@ -2423,9 +2429,6 @@ class TabImpl implements Tab { } if (mWebContents != null) { @@ -593,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mWebContents.getNavigationController().loadIfNecessary(); } mIsBeingRestored = true; -@@ -2744,6 +2747,11 @@ class TabImpl implements Tab { +@@ -2825,6 +2828,11 @@ class TabImpl implements Tab { url = webContents.getVisibleUrl(); } @@ -605,7 +605,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav boolean shouldRequestDesktopSite = DesktopSiteUtils.shouldOverrideDesktopSite(mProfile, url, getContext()); -@@ -2773,7 +2781,7 @@ class TabImpl implements Tab { +@@ -2854,7 +2862,7 @@ class TabImpl implements Tab { } boolean usingDesktopUserAgent = getWebContents().getNavigationController().getUseDesktopUserAgent(); @@ -614,8 +614,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav } /** Sets the TabLaunchType for tabs launched with an unset launch type. */ -@@ -2923,6 +2931,54 @@ class TabImpl implements Tab { - /* allowDialog= */ false); +@@ -3035,6 +3043,54 @@ class TabImpl implements Tab { + ResettersForTesting.register(this::clearNativePtr); } + int overrideUserAgentWhenUnFrozen = (int)UserAgentOverrideOption.INHERIT; @@ -716,8 +716,8 @@ diff --git a/chrome/browser/android/content/content_utils.cc b/chrome/browser/an } @@ -19,6 +33,22 @@ static void JNI_ContentUtils_SetUserAgentOverride( JNIEnv* env, - const base::android::JavaParamRef& jweb_contents, - jboolean j_override_in_new_tabs) { + const base::android::JavaRef& jweb_contents, + bool j_override_in_new_tabs) { + bool enabled = + g_browser_process->local_state()->GetBoolean(prefs::kOverrideUserAgentDesktopModeEnabled); + @@ -806,7 +806,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl +using base::android::ScopedJavaGlobalRef; +using base::android::ScopedJavaLocalRef; + - static jboolean JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingEnabled( + static bool JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingEnabled( JNIEnv* env) { PrefService* local_state = g_browser_process->local_state(); @@ -37,4 +63,105 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( @@ -972,7 +972,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java -@@ -1281,8 +1281,6 @@ public final class ChromePreferenceKeys { +@@ -1331,8 +1331,6 @@ public final class ChromePreferenceKeys { SIGNIN_PROMO_NTP_LAST_SHOWN_TIME, SYNC_PROMO_TOTAL_SHOW_COUNT, SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP, @@ -1002,15 +1002,15 @@ diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java --- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java +++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java -@@ -391,6 +391,8 @@ public interface Tab extends TabLifecycle { +@@ -374,6 +374,8 @@ public interface Tab extends TabLifecycle { /** Goes to the navigation entry after the current one. */ void goForward(); + void SetOverrideUserAgent(boolean usingDesktopUserAgent, boolean forcedByUser); + - /** - * @return true if the {@link Tab} is a custom tab, including CCTs, TWAs and WebAPKs. - */ + /** Returns true if the {@link Tab} is a custom tab, including CCTs, TWAs and WebAPKs. */ + boolean isCustomTab(); + diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java --- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java +++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java @@ -1026,7 +1026,7 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java --- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java +++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java -@@ -501,6 +501,24 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -502,6 +502,24 @@ public class TabWindowManagerImpl implements TabWindowManager { return null; } @@ -1065,7 +1065,7 @@ diff --git a/chrome/browser/ui/android/desktop_site/java/src/org/chromium/chrome diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -250,6 +250,32 @@ CHAR_LIMIT guidelines: +@@ -253,6 +253,32 @@ CHAR_LIMIT guidelines: Visit help page @@ -1101,7 +1101,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -1916,6 +1916,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; +@@ -1913,6 +1913,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] = "profile.content_settings.had_three_consecutive_denies.notifications"; @@ -1244,15 +1244,15 @@ diff --git a/components/browser_ui/widget/android/java/src/org/chromium/componen diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc --- a/content/browser/renderer_host/navigation_controller_android.cc +++ b/content/browser/renderer_host/navigation_controller_android.cc -@@ -225,6 +225,7 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( - jboolean can_load_local_resources, - jboolean is_renderer_initiated, - jboolean should_replace_current_entry, +@@ -222,6 +222,7 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( + bool can_load_local_resources, + bool is_renderer_initiated, + bool should_replace_current_entry, + jint user_agent_override_option, - const JavaParamRef& j_initiator_origin, - jboolean has_user_gesture, - jboolean should_clear_history_list, -@@ -320,6 +321,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( + const JavaRef& j_initiator_origin, + bool has_user_gesture, + bool should_clear_history_list, +@@ -317,6 +318,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( params.navigation_ui_data = std::move(navigation_ui_data); @@ -1265,18 +1265,18 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co diff --git a/content/browser/renderer_host/navigation_controller_android.h b/content/browser/renderer_host/navigation_controller_android.h --- a/content/browser/renderer_host/navigation_controller_android.h +++ b/content/browser/renderer_host/navigation_controller_android.h -@@ -73,6 +73,7 @@ class CONTENT_EXPORT NavigationControllerAndroid { - jboolean can_load_local_resources, - jboolean is_renderer_initiated, - jboolean should_replace_current_entry, +@@ -70,6 +70,7 @@ class CONTENT_EXPORT NavigationControllerAndroid { + bool can_load_local_resources, + bool is_renderer_initiated, + bool should_replace_current_entry, + jint user_agent_override_option, - const base::android::JavaParamRef& j_initiator_origin, - jboolean has_user_gesture, - jboolean should_clear_history_list, + const base::android::JavaRef& j_initiator_origin, + bool has_user_gesture, + bool should_clear_history_list, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3836,6 +3836,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3846,6 +3846,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( #if BUILDFLAG(IS_CHROMEOS) switches::kSchedulerBoostUrgent, #endif @@ -1295,7 +1295,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser #include "base/check_op.h" #include "base/command_line.h" #include "base/containers/contains.h" -@@ -2375,8 +2376,6 @@ void WebContentsImpl::SetUserAgentOverride( +@@ -2403,8 +2404,6 @@ void WebContentsImpl::SetUserAgentOverride( OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride", "ua_override", ua_override.ua_string_override, "override_in_new_tabs", override_in_new_tabs); @@ -1304,7 +1304,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser if (GetUserAgentOverride() == ua_override) { return; -@@ -3750,6 +3749,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( +@@ -3758,6 +3757,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( #else prefs.viewport_meta_enabled = false; #endif @@ -1358,7 +1358,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -848,7 +848,6 @@ void RenderThreadImpl::InitializeRenderer( +@@ -793,7 +793,6 @@ void RenderThreadImpl::InitializeRenderer( uint64_t trace_id) { TRACE_EVENT("navigation", "RenderThreadImpl::InitializeRenderer", perfetto::TerminatingFlow::Global(trace_id)); diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch index 025916e2..7d7d50f9 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -282,7 +282,7 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -4341,6 +4341,7 @@ +@@ -4360,6 +4360,7 @@ }, { name: "opacity", @@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"], interpolable: true, compositable: true, -@@ -4348,7 +4349,6 @@ +@@ -4367,7 +4368,6 @@ field_template: "primitive", default_value: "1.0", type_name: "float", @@ -313,7 +313,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc --- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc +++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc -@@ -2354,7 +2354,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -2359,7 +2359,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { ComputedStyleBuilder builder = CreateComputedStyleBuilder(); builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical); @@ -338,7 +338,7 @@ diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/ namespace blink { -@@ -146,8 +147,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState { +@@ -148,8 +149,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState { // Note that these values are adjusted to counter the effects of zoom, so that // values exposed via DOM APIs are invariant under zooming. @@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_part diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1110,7 +1110,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1143,7 +1143,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { page_popup_ = WebPagePopupImpl::Create( std::move(popup_widget_host), std::move(widget_host), std::move(widget_receiver), this, agent_group_scheduler, @@ -411,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc -@@ -1614,7 +1614,12 @@ int LocalDOMWindow::outerHeight() const { +@@ -1601,7 +1601,12 @@ int LocalDOMWindow::outerHeight() const { if (frame->IsInFencedFrameTree()) { return innerHeight(); } @@ -425,7 +425,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p Page* page = frame->GetPage(); if (!page) return 0; -@@ -1639,7 +1644,12 @@ int LocalDOMWindow::outerWidth() const { +@@ -1626,7 +1631,12 @@ int LocalDOMWindow::outerWidth() const { if (frame->IsInFencedFrameTree()) { return innerWidth(); } @@ -439,7 +439,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p Page* page = frame->GetPage(); if (!page) return 0; -@@ -1835,7 +1845,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1822,7 +1832,8 @@ double LocalDOMWindow::devicePixelRatio() const { if (!GetFrame()) return 0.0; @@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p } ScriptPromise LocalDOMWindow::scrollBy(ScriptState* script_state, -@@ -2445,6 +2456,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, +@@ -2432,6 +2443,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, if (!completed_url.IsEmpty() || result.new_window) result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -473,7 +473,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p // TODO(japhet): window-open-noopener.html?_top and several tests in // html/browsers/windows/browsing-context-names/ appear to require that // the special case target names (_top, _parent, _self) ignore opener -@@ -2496,6 +2524,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( +@@ -2483,6 +2511,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( DCHECK(result.new_window); result.frame->Navigate(frame_request, WebFrameLoadType::kStandard); @@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -1685,6 +1685,10 @@ void LocalFrame::RestoreScrollOffsets() { +@@ -1672,6 +1672,10 @@ void LocalFrame::RestoreScrollOffsets() { saved_scroll_offsets_ = nullptr; } @@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ void LocalFrame::SetLayoutZoomFactor(float factor) { SetZoomFactors(factor, text_zoom_factor_, css_zoom_factor_); } -@@ -1871,12 +1875,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1861,12 +1865,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { return mojo_handler_->GetDevicePosture(); } @@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ return ratio; } -@@ -3466,6 +3474,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { +@@ -3456,6 +3464,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { DCHECK(!GetDocument() || !GetDocument()->Printing()); DCHECK(IsMainFrame()); @@ -537,7 +537,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h -@@ -433,7 +433,8 @@ class CORE_EXPORT LocalFrame final +@@ -431,7 +431,8 @@ class CORE_EXPORT LocalFrame final void SetInViewSourceMode(bool = true); void SetLayoutZoomFactor(float); @@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b void SetTextZoomFactor(float); float TextZoomFactor() const { return text_zoom_factor_; } void SetCssZoomFactor(float); -@@ -442,7 +443,7 @@ class CORE_EXPORT LocalFrame final +@@ -440,7 +441,7 @@ class CORE_EXPORT LocalFrame final float text_zoom_factor, float css_zoom_factor); @@ -556,7 +556,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b // Informs the local root's document and its local descendant subtree that a // media query value changed. -@@ -1140,6 +1141,7 @@ class CORE_EXPORT LocalFrame final +@@ -1098,6 +1099,7 @@ class CORE_EXPORT LocalFrame final unsigned did_run_detach_impl_ : 1 = false; float layout_zoom_factor_; @@ -662,7 +662,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc --- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc -@@ -1945,6 +1945,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1954,6 +1954,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( if (DeviceEmulator() && widget_base_ && !widget_base_->WillBeDestroyed()) { DeviceEmulator()->UpdateVisualProperties(visual_properties); @@ -735,7 +735,7 @@ diff --git a/third_party/blink/renderer/core/input/touch.cc b/third_party/blink/ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc --- a/third_party/blink/renderer/core/page/page.cc +++ b/third_party/blink/renderer/core/page/page.cc -@@ -108,6 +108,13 @@ +@@ -107,6 +107,13 @@ #include "ui/color/color_provider_utils.h" #include "ui/gfx/geometry/insets_conversions.h" @@ -749,7 +749,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re namespace blink { namespace { -@@ -1268,7 +1275,96 @@ void Page::UpdateAcceleratedCompositingSettings() { +@@ -1269,7 +1276,96 @@ void Page::UpdateAcceleratedCompositingSettings() { } } @@ -849,9 +849,9 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h --- a/third_party/blink/renderer/core/page/page.h +++ b/third_party/blink/renderer/core/page/page.h -@@ -597,6 +597,10 @@ class CORE_EXPORT Page final : public GarbageCollected, - - #endif +@@ -538,6 +538,10 @@ class CORE_EXPORT Page final : public GarbageCollected, + // related pages will include the new page instead of the old page, etc. + void TakePropertiesForLocalMainFrameSwap(Page* old_page); + void CalculateEmulatedScreenSetting(LocalFrame* frame, bool force = false); + bool IsScreenEmulated() { return is_screen_emulated_; } @@ -860,7 +860,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren private: friend class ScopedPagePauser; class CloseTaskHandler; -@@ -767,6 +771,11 @@ class CORE_EXPORT Page final : public GarbageCollected, +@@ -708,6 +712,11 @@ class CORE_EXPORT Page final : public GarbageCollected, // browser side FrameTree has the FrameTree::Type of kFencedFrame. bool is_fenced_frame_tree_ = false; @@ -875,7 +875,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h --- a/third_party/blink/renderer/core/style/computed_style.h +++ b/third_party/blink/renderer/core/style/computed_style.h -@@ -2032,6 +2032,12 @@ class ComputedStyle final : public ComputedStyleBase { +@@ -2059,6 +2059,12 @@ class ComputedStyle final : public ComputedStyleBase { IsRunningBackdropFilterAnimationOnCompositor(); } diff --git a/build/patches/WIN-Fix-log-to-file.patch b/build/patches/WIN-Fix-log-to-file.patch index 1cd06120..854b6ee4 100644 --- a/build/patches/WIN-Fix-log-to-file.patch +++ b/build/patches/WIN-Fix-log-to-file.patch @@ -90,7 +90,7 @@ diff --git a/chrome/common/logging_chrome.h b/chrome/common/logging_chrome.h diff --git a/content/app/content_main.cc b/content/app/content_main.cc --- a/content/app/content_main.cc +++ b/content/app/content_main.cc -@@ -331,9 +331,12 @@ NO_STACK_PROTECTOR int RunContentProcess( +@@ -344,9 +344,12 @@ NO_STACK_PROTECTOR int RunContentProcess( } else if (command_line->HasSwitch(switches::kEnableLogging)) { // Route stdio to parent console (if any) or create one, do not create a // console in children if handles are being passed. diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch index 1b8193a2..5f3a0146 100644 --- a/build/patches/WIN-enable-pdf-plugin.patch +++ b/build/patches/WIN-enable-pdf-plugin.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc -@@ -2390,7 +2390,9 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings() +@@ -2380,7 +2380,9 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings() } PluginData* LocalFrame::GetPluginData() const { diff --git a/build/patches/Warning-message-for-unsupported-hardware-aes.patch b/build/patches/Warning-message-for-unsupported-hardware-aes.patch index 3befe211..01d025bc 100644 --- a/build/patches/Warning-message-for-unsupported-hardware-aes.patch +++ b/build/patches/Warning-message-for-unsupported-hardware-aes.patch @@ -51,7 +51,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -429,6 +429,7 @@ if (is_win) { +@@ -430,6 +430,7 @@ if (is_win) { "//components/webapps/isolated_web_apps:scheme", "//content/public/app", "//crypto", @@ -59,7 +59,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn "//headless:headless_non_renderer", "//headless:headless_shell_browser_lib", "//net:net_resources", -@@ -1636,6 +1637,8 @@ if (is_android) { +@@ -1638,6 +1639,8 @@ if (is_android) { "//chrome/common/profiler", "//chrome/gpu", "//chrome/renderer", @@ -71,7 +71,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc -@@ -98,6 +98,9 @@ +@@ -100,6 +100,9 @@ #include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/scoped_startup_resource_bundle.h" #include "ui/base/ui_base_switches.h" @@ -81,7 +81,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ BUILDFLAG(IS_MAC) -@@ -1090,6 +1093,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { +@@ -1114,6 +1117,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { } #endif @@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -7327,6 +7327,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -7332,6 +7332,10 @@ Keep your key file in a safe place. You will need it to create new versions of y You are using an unsupported feature flag: $1SignedHTTPExchange. Stability and security will suffer. @@ -130,7 +130,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3841,6 +3841,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3851,6 +3851,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kSchedulerBoostUrgent, #endif switches::kDesktopModeViewportMetaEnabled, diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch index da9936ab..2de85b7e 100644 --- a/build/patches/Welcome-screen.patch +++ b/build/patches/Welcome-screen.patch @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni -@@ -542,6 +542,7 @@ chrome_java_resources = [ +@@ -517,6 +517,7 @@ chrome_java_resources = [ "java/res/layout/find_in_page.xml", "java/res/layout/find_toolbar.xml", "java/res/layout/fre_tos_privacy_disclaimer.xml", @@ -42,7 +42,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni -@@ -653,6 +653,8 @@ chrome_java_sources = [ +@@ -657,6 +657,8 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java", "java/src/org/chromium/chrome/browser/firstrun/SkipTosDialogPolicyListener.java", "java/src/org/chromium/chrome/browser/firstrun/TosDialogBehaviorSharedPrefInvalidator.java", @@ -240,7 +240,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml --- a/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml -@@ -356,6 +356,30 @@ found in the LICENSE file. +@@ -364,6 +364,30 @@ found in the LICENSE file. 1 @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/Defaul diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java -@@ -42,8 +42,7 @@ import org.chromium.chrome.browser.feature_engagement.TrackerFactory; +@@ -41,8 +41,7 @@ import org.chromium.chrome.browser.feature_engagement.TrackerFactory; import org.chromium.chrome.browser.metrics.UmaUtils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; @@ -303,7 +303,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.chrome.browser.ui.signin.DialogWhenLargeContentLayout; import org.chromium.chrome.browser.ui.signin.SigninUtils; -@@ -232,7 +231,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -231,7 +230,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa /** Creates first page and sets up adapter. Should result UI being shown on the screen. */ private void createFirstPage() { BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage(); @@ -312,7 +312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR mFreProgressStates.add(MobileFreProgress.WELCOME_SHOWN); mPagerAdapter = new FirstRunPagerAdapter(FirstRunActivity.this, mPages); mPager.setAdapter(mPagerAdapter); -@@ -257,9 +256,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -256,9 +255,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa // // TODO(b/245912657): explicitly sign in supervised users in {@link // FullscreenSigninMediator#handleContinueWithNative} rather than relying on SigninChecker. @@ -322,7 +322,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR assumeNonNull(mFreProperties); mFirstRunFlowSequencer.updateFirstRunProperties(mFreProperties); -@@ -275,16 +271,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -274,16 +270,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN); } @@ -339,7 +339,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR if (mPagerAdapter != null) { mPagerAdapter.notifyDataSetChanged(); } -@@ -666,11 +652,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -645,11 +631,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { assert mNativeInitializationPromise.isFulfilled(); @@ -1190,7 +1190,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/Fullscre /** Base class for First run experience and fullscreen signin and history sync promos. */ @NullMarked -@@ -92,9 +90,7 @@ public abstract class FullscreenSigninAndHistorySyncActivityBase extends AsyncIn +@@ -85,9 +83,7 @@ public abstract class FullscreenSigninAndHistorySyncActivityBase extends AsyncIn @Override @CallSuper public void triggerLayoutInflation() { diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 57105a47..299a49d7 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -23,8 +23,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../core/browser/browser_policy_connector.cc | 3 + .../common/command_line_policy_provider.cc | 3 + .../core/common/policy_loader_command_line.cc | 138 ++++++++++++++++-- - .../policy/core/common/policy_pref_names.cc | 3 + - .../policy/core/common/policy_pref_names.h | 1 + + .../policy/core/common/policy_pref_names.h | 3 + .../policy/core/common/policy_service_impl.cc | 3 + .../policy/core/common/policy_switches.cc | 2 + .../policy/core/common/policy_switches.h | 1 + @@ -39,7 +38,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html extensions/common/extension_features.cc | 1 + google_apis/gaia/gaia_auth_fetcher.cc | 1 + net/socket/ssl_client_socket_impl.cc | 3 + - 35 files changed, 328 insertions(+), 162 deletions(-) + 34 files changed, 327 insertions(+), 162 deletions(-) diff --git a/base/win/win_util.cc b/base/win/win_util.cc --- a/base/win/win_util.cc @@ -160,7 +159,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc --- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc +++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc -@@ -58,6 +58,11 @@ static jboolean +@@ -58,6 +58,11 @@ static bool JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( JNIEnv* env) { const PrefService* local_state = g_browser_process->local_state(); @@ -175,16 +174,16 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/browser/metrics/chrome_feature_list_creator.cc --- a/chrome/browser/metrics/chrome_feature_list_creator.cc +++ b/chrome/browser/metrics/chrome_feature_list_creator.cc -@@ -37,6 +37,8 @@ - #include "content/public/common/content_switches.h" +@@ -41,6 +41,8 @@ #include "services/network/public/cpp/network_switches.h" + #include "services/network/public/cpp/shared_url_loader_factory.h" #include "ui/base/resource/resource_bundle.h" +#include "components/policy/core/common/policy_pref_names.h" +#include "components/policy/core/common/policy_switches.h" #if BUILDFLAG(IS_WIN) #include "chrome/installer/util/google_update_settings.h" -@@ -188,6 +190,16 @@ void ChromeFeatureListCreator::CreatePrefService() { +@@ -202,6 +204,16 @@ void ChromeFeatureListCreator::CreatePrefService() { // ManagementService's cache. if (local_state_pref_store->ReadPrefs() == JsonPrefStore::PREF_READ_ERROR_NONE) { @@ -204,7 +203,7 @@ diff --git a/chrome/browser/metrics/chrome_feature_list_creator.cc b/chrome/brow diff --git a/chrome/browser/navigation_predictor/search_engine_preconnector.cc b/chrome/browser/navigation_predictor/search_engine_preconnector.cc --- a/chrome/browser/navigation_predictor/search_engine_preconnector.cc +++ b/chrome/browser/navigation_predictor/search_engine_preconnector.cc -@@ -63,6 +63,9 @@ namespace features { +@@ -64,6 +64,9 @@ namespace features { BASE_FEATURE(kPreconnectFromKeyedService, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kPreconnectToSearch, base::FEATURE_ENABLED_BY_DEFAULT); @@ -230,7 +229,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -2538,9 +2538,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2518,9 +2518,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -243,7 +242,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc } } // namespace -@@ -3374,7 +3374,10 @@ std::unique_ptr BuildHandlerList( +@@ -3364,7 +3364,10 @@ std::unique_ptr BuildHandlerList( key::kExtensionInstallCloudPolicyChecksEnabled, extensions::pref_names::kExtensionInstallCloudPolicyChecksEnabled, base::Value::Type::BOOLEAN)); @@ -340,7 +339,7 @@ diff --git a/chrome/browser/signin/bound_session_credentials/throttled_gaia_auth diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc --- a/chrome/browser/signin/chrome_signin_client.cc +++ b/chrome/browser/signin/chrome_signin_client.cc -@@ -278,7 +278,9 @@ void ChromeSigninClient::DoFinalInit() { +@@ -292,7 +292,9 @@ void ChromeSigninClient::DoFinalInit() { bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) { scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); @@ -351,7 +350,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign } PrefService* ChromeSigninClient::GetPrefs() { -@@ -404,6 +406,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { +@@ -410,6 +412,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { } void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) { @@ -395,7 +394,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse #include "base/strings/utf_string_conversions.h" #include "base/task/task_traits.h" #include "base/task/thread_pool.h" -@@ -71,6 +72,7 @@ +@@ -70,6 +71,7 @@ #include "components/policy/core/common/policy_details.h" #include "components/policy/core/common/policy_logger.h" #include "components/policy/core/common/policy_pref_names.h" @@ -403,7 +402,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse #include "components/policy/core/common/policy_scheduler.h" #include "components/policy/core/common/policy_types.h" #include "components/policy/core/common/policy_utils.h" -@@ -214,6 +216,10 @@ void PolicyUIHandler::RegisterMessages() { +@@ -213,6 +215,10 @@ void PolicyUIHandler::RegisterMessages() { "exportPoliciesJSON", base::BindRepeating(&PolicyUIHandler::HandleExportPoliciesJson, base::Unretained(this))); @@ -414,7 +413,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse web_ui()->RegisterMessageCallback( "listenPoliciesUpdates", base::BindRepeating(&PolicyUIHandler::HandleListenPoliciesUpdates, -@@ -504,8 +510,102 @@ void PolicyUIHandler::SendPolicies() { +@@ -503,8 +509,102 @@ void PolicyUIHandler::SendPolicies() { "policies-updated", base::Value( policy_value_and_status_aggregator_->GetAggregatedPolicyNames()), @@ -546,7 +545,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc --- a/components/commerce/core/commerce_feature_list.cc +++ b/components/commerce/core/commerce_feature_list.cc -@@ -67,56 +67,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { +@@ -69,56 +69,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { return *allowed_map; } @@ -603,7 +602,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace BASE_FEATURE(kCommerceAllowLocalImages, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -278,16 +228,15 @@ const base::FeatureParam kRevertIconOnFailure{ +@@ -280,16 +230,15 @@ const base::FeatureParam kRevertIconOnFailure{ &kShoppingList, kRevertIconOnFailureParam, false}; bool IsPartnerMerchant(const GURL& url) { @@ -623,7 +622,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } bool IsCartDiscountFeatureEnabled() { -@@ -339,6 +288,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, +@@ -341,6 +290,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, bool IsRegionLockedFeatureEnabled(const base::Feature& feature, const std::string& country_code, const std::string& locale) { @@ -631,7 +630,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* feature_list = base::FeatureList::GetInstance(); // If the feature has a server-side config, this check will ensure that -@@ -371,6 +321,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -373,6 +323,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -639,7 +638,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* pattern_from_component = commerce_heuristics::CommerceHeuristicsData::GetInstance() .GetNoDiscountMerchantPattern(); -@@ -382,4 +333,6 @@ bool IsNoDiscountMerchant(const GURL& url) { +@@ -384,4 +335,6 @@ bool IsNoDiscountMerchant(const GURL& url) { return RE2::PartialMatch(url.host(), *pattern_from_component); } #endif @@ -830,34 +829,23 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo return bundle; } -diff --git a/components/policy/core/common/policy_pref_names.cc b/components/policy/core/common/policy_pref_names.cc ---- a/components/policy/core/common/policy_pref_names.cc -+++ b/components/policy/core/common/policy_pref_names.cc -@@ -95,6 +95,9 @@ const char kBackForwardCacheEnabled[] = "policy.back_forward_cache_enabled"; - const char kReadAloudEnabled[] = "policy.read_aloud_enabled"; - #endif // BUILDFLAG(IS_ANDROID) - -+const char kDisabledDefaultPoliciesList[] = -+ "policy.disabled_default_policies_list"; -+ - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) - // Last time that a check for cloud policy management was done. This time is - // recorded on Android and iOS so that retries aren't attempted on every diff --git a/components/policy/core/common/policy_pref_names.h b/components/policy/core/common/policy_pref_names.h --- a/components/policy/core/common/policy_pref_names.h +++ b/components/policy/core/common/policy_pref_names.h -@@ -65,6 +65,7 @@ extern const char kIncognitoModeBlocklist[]; - extern const char kIncognitoModeAllowlist[]; - extern const char kUserPolicyRefreshRate[]; - extern const char kIntensiveWakeUpThrottlingEnabled[]; -+extern const char kDisabledDefaultPoliciesList[]; +@@ -121,6 +121,9 @@ inline constexpr char kNativeWindowOcclusionEnabled[] = + inline constexpr char kIntensiveWakeUpThrottlingEnabled[] = + "policy.intensive_wake_up_throttling_enabled"; + ++inline constexpr char kDisabledDefaultPoliciesList[] = ++ "policy.disabled_default_policies_list"; ++ #if BUILDFLAG(IS_ANDROID) - extern const char kBackForwardCacheEnabled[]; - extern const char kReadAloudEnabled[]; + // Boolean policy preference to disable the BackForwardCache feature. + inline constexpr char kBackForwardCacheEnabled[] = diff --git a/components/policy/core/common/policy_service_impl.cc b/components/policy/core/common/policy_service_impl.cc --- a/components/policy/core/common/policy_service_impl.cc +++ b/components/policy/core/common/policy_service_impl.cc -@@ -52,6 +52,9 @@ namespace { +@@ -51,6 +51,9 @@ namespace { // Metrics should not be enforced so if this policy is set as mandatory // downgrade it to a recommended level policy. void DowngradeMetricsReportingToRecommendedPolicy(PolicyMap* policies) { @@ -981,7 +969,7 @@ diff --git a/components/policy/resources/webui/policy_row.ts b/components/policy diff --git a/components/policy_strings.grdp b/components/policy_strings.grdp --- a/components/policy_strings.grdp +++ b/components/policy_strings.grdp -@@ -675,8 +675,8 @@ Additional details: +@@ -690,8 +690,8 @@ Additional details: Default @@ -1061,7 +1049,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc --- a/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc -@@ -794,6 +794,7 @@ int SSLClientSocketImpl::Init() { +@@ -796,6 +796,7 @@ int SSLClientSocketImpl::Init() { return ERR_UNEXPECTED; } @@ -1069,7 +1057,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket // Disable SHA-1 server signatures. // TODO(crbug.com/boringssl/699): Once the default is flipped in BoringSSL, we // no longer need to override it. -@@ -1216,6 +1217,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { +@@ -1218,6 +1219,8 @@ ssl_verify_result_t SSLClientSocketImpl::HandleVerifyResult() { cert_verifier_request_.reset(); diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index 4418d804..3b19166c 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-miscellaneous.patch @@ -55,7 +55,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -456,15 +456,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -458,15 +458,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { ->GetURLLoaderFactoryForBrowserProcess(); } @@ -74,7 +74,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h --- a/chrome/browser/ui/autofill/chrome_autofill_client.h +++ b/chrome/browser/ui/autofill/chrome_autofill_client.h -@@ -115,7 +115,6 @@ class ChromeAutofillClient : public ContentAutofillClient, +@@ -117,7 +117,6 @@ class ChromeAutofillClient : public ContentAutofillClient, version_info::Channel GetChannel() const final; bool IsOffTheRecord() const final; scoped_refptr GetURLLoaderFactory() final; @@ -85,7 +85,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browse diff --git a/components/android_autofill/browser/android_autofill_client.cc b/components/android_autofill/browser/android_autofill_client.cc --- a/components/android_autofill/browser/android_autofill_client.cc +++ b/components/android_autofill/browser/android_autofill_client.cc -@@ -80,17 +80,6 @@ AndroidAutofillClient::GetURLLoaderFactory() { +@@ -79,17 +79,6 @@ AndroidAutofillClient::GetURLLoaderFactory() { ->GetURLLoaderFactoryForBrowserProcess(); } @@ -117,7 +117,7 @@ diff --git a/components/android_autofill/browser/android_autofill_client.h b/com diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc --- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc +++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc -@@ -506,33 +506,6 @@ std::optional GetUploadPayloadForApi( +@@ -504,33 +504,6 @@ std::optional GetUploadPayloadForApi( return std::move(payload); } @@ -151,7 +151,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci // Gets HTTP body payload for API POST request. std::optional GetAPIBodyPayload(std::string payload, CrowdsourcingRequestType type) { -@@ -564,15 +537,7 @@ std::optional GetAPIQueryPayload( +@@ -562,15 +535,7 @@ std::optional GetAPIQueryPayload( } std::string GetAPIKeyForUrl(version_info::Channel channel) { @@ -168,7 +168,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci } std::optional>& GetActiveExperiments() { -@@ -902,31 +867,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( +@@ -900,31 +865,13 @@ size_t AutofillCrowdsourcingManager::GetPayloadLength( std::tuple AutofillCrowdsourcingManager::GetRequestURLAndMethod( const FormRequestData& request_data) const { @@ -207,7 +207,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.h b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.h --- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.h +++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.h -@@ -37,8 +37,6 @@ namespace autofill { +@@ -38,8 +38,6 @@ namespace autofill { class AutofillClient; @@ -232,7 +232,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/components/autofill/core/browser/foundations/autofill_client.h --- a/components/autofill/core/browser/foundations/autofill_client.h +++ b/components/autofill/core/browser/foundations/autofill_client.h -@@ -321,10 +321,6 @@ class AutofillClient { +@@ -304,10 +304,6 @@ class AutofillClient { // Returns the VotesUploader. virtual VotesUploader& GetVotesUploader() = 0; @@ -242,7 +242,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/co - // Returns whether the client has a PersonalDataManager. // - // TODO(crbug.cm/455121491) This is a temporary fix to avoid crashes when + // TODO(crbug.com/455121491) This is a temporary fix to avoid crashes when diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc --- a/components/autofill/core/browser/foundations/autofill_manager.cc +++ b/components/autofill/core/browser/foundations/autofill_manager.cc @@ -258,8 +258,8 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ - // server response is processed, to ensure server predictions are not lost. - client().GetCrowdsourcingManager().StartQueryRequest( - queryable_forms, driver().GetIsolationInfo(), -- AfterParsingFinishesDeprecated(base::BindOnce( -- &AutofillManager::OnLoadedServerPredictions, GetWeakPtr()))); +- base::BindOnce(&AutofillManager::OnLoadedServerPredictions, +- GetWeakPtr())); - } } @@ -267,7 +267,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc --- a/components/autofill/core/common/autofill_features.cc +++ b/components/autofill/core/common/autofill_features.cc -@@ -799,6 +799,7 @@ BASE_FEATURE(kAutofillPopupDontAcceptNonVisibleEnoughSuggestion, +@@ -855,6 +855,7 @@ BASE_FEATURE(kAutofillPopupDontAcceptNonVisibleEnoughSuggestion, // affect their functionality. BASE_FEATURE(kAutofillPopupZOrderSecuritySurface, base::FEATURE_ENABLED_BY_DEFAULT); @@ -287,7 +287,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( kAutofillLastVersionDeduped, 0, -@@ -52,10 +52,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -59,10 +59,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { kAutofillHasSeenIban, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( @@ -300,7 +300,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( kAutofillPaymentCardBenefits, true, -@@ -107,7 +107,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -114,7 +114,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { #endif // Deprecated prefs registered for migration. diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch index 8ec63b3f..6085ffb2 100644 --- a/build/patches/bromite-build-utils.patch +++ b/build/patches/bromite-build-utils.patch @@ -433,16 +433,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni -@@ -209,7 +209,7 @@ if (!is_robolectric && enable_java_templates) { - # } - template("java_cpp_enum") { - action_with_pydeps(target_name) { -- forward_variables_from(invoker, TESTONLY_AND_VISIBILITY + [ "sources" ]) -+ forward_variables_from(invoker, TESTONLY_AND_VISIBILITY + [ "sources", "deps" ]) - - # The sources aren't compiled so don't check their dependencies. - check_includes = false -@@ -220,6 +220,10 @@ if (!is_robolectric && enable_java_templates) { +@@ -224,6 +224,10 @@ if (!is_robolectric && enable_java_templates) { _rebased_sources = rebase_path(invoker.sources, root_build_dir) args = [ "--srcjar=$_rebased_srcjar_path" ] + _rebased_sources @@ -453,6 +444,15 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni outputs = [ _srcjar_path ] } } +@@ -278,7 +282,7 @@ if (!is_robolectric && enable_java_templates) { + # my.java.package. + template("java_cpp_strings") { + action_with_pydeps(target_name) { +- forward_variables_from(invoker, TESTONLY_AND_VISIBILITY + [ "sources" ]) ++ forward_variables_from(invoker, TESTONLY_AND_VISIBILITY + [ "sources", "deps" ]) + + # The sources aren't compiled so don't check their dependencies. + check_includes = false diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index 72643377..cd268b60 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java -@@ -664,13 +664,6 @@ public class WebViewChromiumAwInit { +@@ -678,13 +678,6 @@ public class WebViewChromiumAwInit { } AwBrowserProcess.configureChildProcessLauncher(); @@ -29,7 +29,7 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java --- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java -@@ -661,10 +661,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -658,10 +658,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { // This must happen after pref value has been read and SafeMode setup has completed. setupStartupTaskExperiments(androidXConfig); @@ -39,5 +39,5 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC - if (WebViewCachedFlags.get() .isCachedFeatureEnabled(AwFeatures.WEBVIEW_MOVE_WORK_TO_PROVIDER_INIT)) { - PostTask.postTask( + mAwInit.runNonUiThreadCapableStartupTasks(); -- diff --git a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch index 7875b39a..dda78a4f 100644 --- a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch +++ b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch @@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc --- a/net/dns/host_resolver_manager.cc +++ b/net/dns/host_resolver_manager.cc -@@ -149,12 +149,12 @@ const size_t kMaxHostLength = 4096; +@@ -150,12 +150,12 @@ const size_t kMaxHostLength = 4096; // Time between IPv6 probes, i.e. for how long results of each IPv6 probe are // cached. diff --git a/build/patches/do-not-add-suffix-to-package-name.patch b/build/patches/do-not-add-suffix-to-package-name.patch index bba7880a..eb5653cb 100644 --- a/build/patches/do-not-add-suffix-to-package-name.patch +++ b/build/patches/do-not-add-suffix-to-package-name.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni --- a/chrome/android/chrome_public_apk_tmpl.gni +++ b/chrome/android/chrome_public_apk_tmpl.gni -@@ -30,7 +30,7 @@ declare_args() { +@@ -26,7 +26,7 @@ declare_args() { chrome_public_manifest_package = "org.chromium.chrome" if (use_stable_package_name_for_trichrome) { chrome_public_manifest_package += ".stable" diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index 0528fbe2..e5d7ead9 100644 --- a/build/patches/do-not-block-build-incompatible-profiles.patch +++ b/build/patches/do-not-block-build-incompatible-profiles.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/v8/BUILD.gn b/v8/BUILD.gn --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -2651,7 +2651,7 @@ template("run_mksnapshot") { +@@ -2671,7 +2671,7 @@ template("run_mksnapshot") { # Replace this with --warn-about-builtin-profile-data to see the full # list of builtins with incompatible profiles. diff --git a/build/patches/do-not-hide-.orig-files.patch b/build/patches/do-not-hide-.orig-files.patch index 797a4bc7..492cc431 100644 --- a/build/patches/do-not-hide-.orig-files.patch +++ b/build/patches/do-not-hide-.orig-files.patch @@ -17,6 +17,6 @@ diff --git a/.gitignore b/.gitignore -*.orig +# *.orig *.pdb + *.profraw *.props - *.pyc -- diff --git a/build/patches/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index 475345ef..0daf2ffb 100644 --- a/build/patches/enable-ftrivial-auto-var-init-zero.patch +++ b/build/patches/enable-ftrivial-auto-var-init-zero.patch @@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -471,6 +471,10 @@ config("compiler") { +@@ -480,6 +480,10 @@ config("compiler") { cflags += [ "-fwrapv" ] } diff --git a/build/patches/eyeo-133.0.6943.49-android_api.patch b/build/patches/eyeo-133.0.6943.49-android_api.patch index 576ee200..2590d2ec 100644 --- a/build/patches/eyeo-133.0.6943.49-android_api.patch +++ b/build/patches/eyeo-133.0.6943.49-android_api.patch @@ -97,7 +97,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn import("//build/config/android/config.gni") import("//build/config/cronet/config.gni") -@@ -541,6 +544,7 @@ if (_is_default_toolchain) { +@@ -546,6 +549,7 @@ if (_is_default_toolchain) { "//chrome/browser/xsurface:java", "//chrome/browser/xsurface_provider:dependency_provider_impl_java", "//chrome/browser/xsurface_provider:java", @@ -105,7 +105,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/android_autofill/browser:features_java", "//components/android_autofill/browser:java", "//components/autofill/android:autofill_features_java", -@@ -1473,6 +1477,7 @@ if (_is_default_toolchain) { +@@ -1472,6 +1476,7 @@ if (_is_default_toolchain) { "//chrome/test/data/translate/", "//chrome/test/data/webauthn/", "//chrome/test/media_router/resources/", @@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/test/data/autofill/", "//components/test/data/payments/", "//content/test/data/browsing_data/", -@@ -3177,6 +3182,12 @@ if (_is_default_toolchain) { +@@ -3066,6 +3071,12 @@ if (_is_default_toolchain) { sources += [ "java/src/org/chromium/chrome/browser/media/MediaCapturePickerManagerBridge.java" ] } @@ -126,7 +126,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn # Used for testing only, should not be shipped to end users. if (enable_offline_pages_harness) { sources += [ "java/src/org/chromium/chrome/browser/offlinepages/evaluation/OfflinePageEvaluationBridge.java" ] -@@ -3269,6 +3280,7 @@ if (_is_default_toolchain) { +@@ -3158,6 +3169,7 @@ if (_is_default_toolchain) { "//chrome/browser/ui/plus_addresses/android:jni_headers", "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", @@ -147,7 +147,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java import("//content/public/common/features.gni") -@@ -58,6 +61,7 @@ chrome_java_sources = [ +@@ -62,6 +65,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsBridge.java", "java/src/org/chromium/chrome/browser/accessibility/settings/CaretBrowsingDialog.java", "java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java", @@ -199,7 +199,7 @@ new file mode 100644 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3392,6 +3392,10 @@ static_library("browser") { +@@ -3356,6 +3356,10 @@ static_library("browser") { ] deps += [ "//chrome/browser/password_entry_edit/android" ] @@ -259,7 +259,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1054,6 +1054,12 @@ static_library("ui") { +@@ -1055,6 +1055,12 @@ static_library("ui") { deps += [ "//components/themes:ntp_background_proto", ] diff --git a/build/patches/eyeo-133.0.6943.49-android_settings.patch b/build/patches/eyeo-133.0.6943.49-android_settings.patch index fc2d4760..6114442b 100644 --- a/build/patches/eyeo-133.0.6943.49-android_settings.patch +++ b/build/patches/eyeo-133.0.6943.49-android_settings.patch @@ -237,7 +237,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -266,6 +266,10 @@ if (_is_default_toolchain) { +@@ -267,6 +267,10 @@ if (_is_default_toolchain) { deps += [ "//chrome/browser:screen_capture_java_resources" ] } @@ -248,7 +248,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn if (enable_extensions_core) { deps += [ "//chrome/browser/ui/android/extensions:java_resources" ] } -@@ -805,6 +809,10 @@ if (_is_default_toolchain) { +@@ -811,6 +815,10 @@ if (_is_default_toolchain) { "//chrome/browser/password_entry_edit:public_java", ] @@ -272,7 +272,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j --> diff --git a/build/patches/eyeo-133.0.6943.49-base.patch b/build/patches/eyeo-133.0.6943.49-base.patch index fedf73c1..231f3101 100644 --- a/build/patches/eyeo-133.0.6943.49-base.patch +++ b/build/patches/eyeo-133.0.6943.49-base.patch @@ -719,7 +719,7 @@ diff --git a/DEPS b/DEPS + # If you change this, also update the libc++ revision in # //buildtools/deps_revisions.gni. - 'libcxx_revision': '07572e7b169225ef3a999584cba9d9004631ae66', + 'libcxx_revision': '7ab65651aed6802d2599dcb7a73b1f82d5179d05', @@ -1628,6 +1634,10 @@ deps = { 'condition': 'checkout_android and checkout_src_internal', }, @@ -729,7 +729,7 @@ diff --git a/DEPS b/DEPS + }, + 'src/docs/website': { - 'url': Var('chromium_git') + '/website.git' + '@' + 'd9a0c174b535ee5165fb8ef278324be9efa49352', + 'url': Var('chromium_git') + '/website.git' + '@' + 'cb33846322e88ba1acc3188c1daa4b00b94be767', }, diff --git a/LICENSE b/LICENSE --- a/LICENSE @@ -786,7 +786,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri #ifndef BASE_THREADING_THREAD_RESTRICTIONS_H_ #define BASE_THREADING_THREAD_RESTRICTIONS_H_ -@@ -172,6 +176,9 @@ class OverlayProcessorWebView; +@@ -175,6 +179,9 @@ class OverlayProcessorWebView; class ScopedAllowInitGLBindings; class VizCompositorThreadRunnerWebView; } // namespace android_webview @@ -796,7 +796,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri namespace ash { class LoginEventRecorder; class StartupCustomizationDocument; -@@ -658,6 +665,8 @@ class BASE_EXPORT ScopedAllowBlocking { +@@ -665,6 +672,8 @@ class BASE_EXPORT ScopedAllowBlocking { friend class ::BrowserStateDirectoryBuilder; #endif @@ -827,7 +827,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn "//components/affiliations/core/browser:unit_tests", "//components/aggregation_service:unit_tests", "//components/apdu:unit_tests", -@@ -1116,6 +1117,7 @@ if (use_blink) { +@@ -1120,6 +1121,7 @@ if (use_blink) { deps = [ "//base", "//base/test:test_support", @@ -50228,7 +50228,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow #include "content/browser/loader/navigation_url_loader_impl.h" #include -@@ -1576,7 +1580,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( +@@ -1570,7 +1574,7 @@ void NavigationURLLoaderImpl::OnReceiveRedirect( ? head->bypass_redirect_checks : bypass_redirect_checks_; @@ -50251,7 +50251,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #include "content/browser/renderer_host/render_frame_host_impl.h" -@@ -3635,6 +3639,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( +@@ -3711,6 +3715,12 @@ void RenderFrameHostImpl::ExecuteJavaScriptMethod( std::move(callback)); } @@ -50278,7 +50278,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/br #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ #define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_ -@@ -505,6 +509,10 @@ class CONTENT_EXPORT RenderFrameHostImpl +@@ -513,6 +517,10 @@ class CONTENT_EXPORT RenderFrameHostImpl const std::u16string& method_name, base::Value::List arguments, JavaScriptResultCallback callback) override; @@ -50303,7 +50303,7 @@ diff --git a/content/public/browser/render_frame_host.h b/content/public/browser #ifndef CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ #define CONTENT_PUBLIC_BROWSER_RENDER_FRAME_HOST_H_ -@@ -558,6 +562,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener { +@@ -560,6 +564,9 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener { virtual void AddMessageToConsole(blink::mojom::ConsoleMessageLevel level, const std::string& message) = 0; @@ -50433,7 +50433,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn "//components/variations/service", "//components/web_cache/renderer", "//content:content_resources", -@@ -429,6 +440,7 @@ static_library("content_shell_lib") { +@@ -430,6 +441,7 @@ static_library("content_shell_lib") { "//mojo/public/java/system:test_support", "//ui/android", ] @@ -50441,7 +50441,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn } if (shell_use_toolkit_views) { -@@ -519,6 +531,8 @@ repack("pak") { +@@ -520,6 +532,8 @@ repack("pak") { sources = [ "$root_gen_dir/base/tracing/protos/tracing_proto_resources.pak", @@ -50450,7 +50450,7 @@ diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn "$root_gen_dir/components/ukm_resources.pak", "$root_gen_dir/content/attribution_internals_resources.pak", "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", -@@ -552,6 +566,8 @@ repack("pak") { +@@ -553,6 +567,8 @@ repack("pak") { deps = [ ":resources", "//base/tracing/protos:chrome_track_event_resources", @@ -50809,7 +50809,7 @@ diff --git a/extensions/browser/api/web_request/web_request_proxying_url_loader_ #include "extensions/browser/api/web_request/web_request_proxying_url_loader_factory.h" #include -@@ -474,7 +478,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( +@@ -468,7 +472,7 @@ void WebRequestProxyingURLLoaderFactory::InProgressRequest::OnReceiveRedirect( head->bypass_redirect_checks = true; } @@ -50879,7 +50879,7 @@ diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blin module blink.mojom; -@@ -1028,6 +1032,10 @@ interface LocalFrame { +@@ -1007,6 +1011,10 @@ interface LocalFrame { // the given point in the view coordinate space. PluginActionAt(gfx.mojom.Point location, blink.mojom.PluginActionType action); @@ -50904,7 +50904,7 @@ diff --git a/third_party/blink/public/web/web_document.h b/third_party/blink/pub #ifndef THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_ #define THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_DOCUMENT_H_ -@@ -152,6 +156,14 @@ class BLINK_EXPORT WebDocument : public WebNode { +@@ -154,6 +158,14 @@ class BLINK_EXPORT WebDocument : public WebNode { WebCssOrigin = WebCssOrigin::kAuthor, BackForwardCacheAware = BackForwardCacheAware::kAllow); @@ -51059,7 +51059,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/ diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc --- a/third_party/blink/renderer/core/html/html_element.cc +++ b/third_party/blink/renderer/core/html/html_element.cc -@@ -2842,7 +2842,13 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -2917,7 +2917,13 @@ void HTMLElement::setSpellcheck(bool enable) { } void HTMLElement::click() { @@ -51776,7 +51776,7 @@ diff --git a/tools/metrics/histograms/metadata/extensions/enums.xml b/tools/metr -@@ -3255,6 +3259,8 @@ Called by update_extension_permission.py.--> +@@ -3260,6 +3264,8 @@ Called by update_extension_permission.py.--> diff --git a/build/patches/eyeo-133.0.6943.49-chrome_integration.patch b/build/patches/eyeo-133.0.6943.49-chrome_integration.patch index 0d5f5145..91899e35 100644 --- a/build/patches/eyeo-133.0.6943.49-chrome_integration.patch +++ b/build/patches/eyeo-133.0.6943.49-chrome_integration.patch @@ -49,7 +49,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat #include "chrome/browser/buildflags.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_resource_bundle_helper.h" -@@ -1597,7 +1602,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { +@@ -1624,7 +1629,7 @@ content::ContentClient* ChromeMainDelegate::CreateContentClient() { content::ContentBrowserClient* ChromeMainDelegate::CreateContentBrowserClient() { chrome_content_browser_client_ = @@ -71,7 +71,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn import("//base/allocator/allocator.gni") import("//build/buildflag_header.gni") -@@ -206,6 +209,8 @@ static_library("browser") { +@@ -207,6 +210,8 @@ static_library("browser") { "accessibility/page_colors_controller_factory.h", "accessibility/prefers_default_scrollbar_styles_prefs.cc", "accessibility/prefers_default_scrollbar_styles_prefs.h", @@ -80,7 +80,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "after_startup_task_utils.cc", "after_startup_task_utils.h", "bad_message.cc", -@@ -2103,6 +2108,7 @@ static_library("browser") { +@@ -2072,6 +2077,7 @@ static_library("browser") { "//chrome/common/notifications", "//chrome/installer/util:with_no_strings", "//chrome/services/speech/buildflags", @@ -88,7 +88,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//components/application_locale_storage", "//components/assist_ranker", "//components/autofill/content/browser", -@@ -8510,6 +8516,7 @@ static_library("browser_public_dependencies") { +@@ -8496,6 +8502,7 @@ static_library("browser_public_dependencies") { "//chrome/services/file_util/public/mojom", "//components/account_id", "//components/autofill/content/browser", @@ -186,7 +186,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows #include "chrome/browser/chrome_browser_main.h" -@@ -88,6 +92,7 @@ +@@ -90,6 +94,7 @@ #include "chrome/grit/branded_strings.h" #include "chrome/grit/generated_resources.h" #include "chrome/installer/util/google_update_settings.h" @@ -194,7 +194,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows #include "components/color/color_mixers.h" #include "components/device_event_log/device_event_log.h" #include "components/embedder_support/origin_trials/component_updater_utils.h" -@@ -1763,6 +1768,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1795,6 +1800,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // called inside PostProfileInit. content::WebUIControllerFactory::RegisterFactory( ChromeWebUIControllerFactory::GetInstance()); @@ -216,7 +216,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL import("//build/config/chromebox_for_meetings/buildflags.gni") import("//build/config/chromeos/ui_mode.gni") -@@ -488,6 +491,7 @@ source_set("extensions") { +@@ -485,6 +488,7 @@ source_set("extensions") { "window_controller_list.h", "window_controller_list_observer.h", ] @@ -224,7 +224,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL configs += [ "//build/config:precompiled_headers", "//build/config/compiler:wexit_time_destructors", -@@ -830,6 +834,7 @@ source_set("extensions") { +@@ -824,6 +828,7 @@ source_set("extensions") { ] } @@ -302,7 +302,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" -@@ -254,6 +258,15 @@ +@@ -250,6 +254,15 @@ #include "chrome/browser/webid/federated_identity_permission_context_factory.h" #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" @@ -318,7 +318,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc #include "components/autofill/content/browser/autofill_log_router_factory.h" #include "components/breadcrumbs/core/breadcrumbs_status.h" #include "components/captive_portal/core/buildflags.h" -@@ -954,6 +967,15 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -940,6 +953,15 @@ void ChromeBrowserMainExtraPartsProfiles:: // Makes manual testing possible. FakeSmartCardDeviceServiceFactory::GetInstance(); #endif @@ -347,7 +347,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") -@@ -307,6 +310,7 @@ group("dev_ui_resources") { +@@ -305,6 +308,7 @@ group("dev_ui_resources") { "predictors:resources", "privacy_sandbox/internals:resources", "usb_internals:resources", @@ -355,7 +355,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. "//components/commerce/core/internals/resources", "//components/data_sharing/data_sharing_internals/resources", "//components/download/resources/download_internals:resources", -@@ -381,6 +385,7 @@ repack("dev_ui_paks") { +@@ -379,6 +383,7 @@ repack("dev_ui_paks") { "$root_gen_dir/chrome/predictors_resources.pak", "$root_gen_dir/chrome/privacy_sandbox_internals_resources.pak", "$root_gen_dir/chrome/usb_internals_resources.pak", @@ -376,8 +376,8 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn import("//build/config/buildflags_paint_preview.gni") import("//build/config/compiler/compiler.gni") -@@ -408,6 +411,7 @@ static_library("ui") { - "//chrome/services/media_gallery_util/public/mojom", +@@ -411,6 +414,7 @@ static_library("ui") { + "//chrome/installer/util:with_no_strings", "//components/access_code_cast/common:metrics", "//components/account_id", + "//components/adblock/content:browser", @@ -435,16 +435,16 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/ui/tab_helpers.h" -@@ -104,6 +108,8 @@ +@@ -102,6 +106,8 @@ #include "chrome/common/chrome_features.h" #include "chrome/common/chrome_isolated_world_ids.h" #include "chrome/common/chrome_switches.h" +#include "components/adblock/content/browser/adblock_webcontents_observer.h" +#include "components/adblock/content/browser/factories/embedding_utils.h" - #include "components/autofill/content/browser/content_autofill_client.h" - #include "components/autofill/content/browser/content_autofill_driver_factory.h" - #include "components/autofill/core/browser/foundations/browser_autofill_manager.h" -@@ -341,6 +347,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { + #include "components/blocked_content/popup_blocker_tab_helper.h" + #include "components/blocked_content/popup_opener_tab_helper.h" + #include "components/breadcrumbs/core/breadcrumbs_status.h" +@@ -335,6 +341,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { optimization_guide_decider); } } @@ -457,7 +457,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc autofill::AutofillClientProvider& autofill_client_provider = autofill::AutofillClientProviderFactory::GetForProfile(profile); autofill_client_provider.CreateClientForWebContents(web_contents); -@@ -369,6 +381,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -363,6 +375,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { // completions. HttpAuthCacheStatus::HttpAuthCacheStatus::CreateForWebContents(web_contents); #endif // BUILDFLAG(IS_ANDROID) @@ -478,22 +478,22 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni import("//ash/ambient/resources/resources.gni") import("//build/config/chrome_build.gni") -@@ -125,6 +128,7 @@ template("chrome_extra_paks") { - "$root_gen_dir/chrome/connectors_internals_resources.pak", +@@ -124,6 +127,7 @@ template("chrome_extra_paks") { + "$root_gen_dir/chrome/common_resources.pak", "$root_gen_dir/chrome/saved_tab_groups_unsupported_resources.pak", "$root_gen_dir/chrome/segmentation_internals_resources.pak", + "$root_gen_dir/components/adblock/core/resources/adblock_resources.pak", "$root_gen_dir/components/autofill/core/browser/geo/autofill_address_rewriter_resources.pak", "$root_gen_dir/components/autofill/core/browser/geo/autofill_alternative_state_name_map_resources.pak", "$root_gen_dir/components/autofill_and_password_manager_internals_resources.pak", -@@ -165,6 +169,7 @@ template("chrome_extra_paks") { - "//chrome/browser/resources/connectors_internals:resources", +@@ -164,6 +168,7 @@ template("chrome_extra_paks") { + "//chrome/browser/resources", "//chrome/browser/resources/saved_tab_groups_unsupported:resources", "//chrome/common:resources", + "//components/adblock/core/resources:adblock_resources", "//components/autofill/core/browser:autofill_address_rewriter_resources", "//components/autofill/core/browser:autofill_alternative_state_name_map_resources", - "//components/metrics:server_urls_grd", + "//components/enterprise/connectors/resources", diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn diff --git a/build/patches/eyeo-133.0.6943.49-extension_api.patch b/build/patches/eyeo-133.0.6943.49-extension_api.patch index ec16d19d..e0fa7e30 100644 --- a/build/patches/eyeo-133.0.6943.49-extension_api.patch +++ b/build/patches/eyeo-133.0.6943.49-extension_api.patch @@ -72,7 +72,7 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -834,6 +834,17 @@ source_set("extensions") { +@@ -828,6 +828,17 @@ source_set("extensions") { ] } @@ -103,7 +103,7 @@ diff --git a/chrome/browser/extensions/api/BUILD.gn b/chrome/browser/extensions/ import("//chrome/common/extensions/api/api_sources.gni") import("//chrome/common/features.gni") -@@ -139,6 +142,7 @@ function_registration("api_registration") { +@@ -142,6 +145,7 @@ function_registration("api_registration") { # include generated headers from these targets. # TODO(brettw) this should be made unnecessary if possible. "//chrome/common/extensions/api", @@ -2138,7 +2138,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac #include "chrome/browser/extensions/api/bookmarks/bookmarks_api.h" #include "chrome/browser/extensions/api/bookmarks/bookmarks_api_watcher.h" -@@ -33,10 +37,12 @@ +@@ -35,10 +39,12 @@ #include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h" @@ -2151,7 +2151,7 @@ diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_fac #include "chrome/browser/extensions/api/image_writer_private/operation_manager.h" #include "chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate_factory.h" #include "chrome/browser/extensions/api/networking_private/networking_private_ui_delegate_factory_impl.h" -@@ -106,6 +112,8 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { +@@ -109,6 +115,8 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt() { #if BUILDFLAG(ENABLE_EXTENSIONS) extensions::ActivityLogAPI::GetFactoryInstance(); @@ -3872,7 +3872,7 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens import("//chrome/common/features.gni") import("//pdf/features.gni") -@@ -38,6 +41,8 @@ schema_sources_ = [ +@@ -40,6 +43,8 @@ schema_sources_ = [ "tabs.json", "web_authentication_proxy.webidl", "web_navigation.json", @@ -4139,7 +4139,7 @@ diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/c #include "extensions/common/permissions/permission_set.h" -@@ -891,6 +895,10 @@ TEST(PermissionsTest, PermissionMessages) { +@@ -896,6 +900,10 @@ TEST(PermissionsTest, PermissionMessages) { skip.insert(APIPermissionID::kSystemLog); skip.insert(APIPermissionID::kOdfsConfigPrivate); @@ -4153,7 +4153,7 @@ diff --git a/chrome/common/extensions/permissions/permission_set_unittest.cc b/c diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -4291,6 +4291,20 @@ if (!is_android) { +@@ -4333,6 +4333,20 @@ if (!is_android) { ] } diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index 16de9ca7..bb9e02a2 100644 --- a/build/patches/kill-Vision.patch +++ b/build/patches/kill-Vision.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -295,8 +295,6 @@ if (_is_default_toolchain) { +@@ -296,8 +296,6 @@ if (_is_default_toolchain) { "$google_play_services_package:google_play_services_gcm_java", "$google_play_services_package:google_play_services_iid_java", "$google_play_services_package:google_play_services_tasks_java", diff --git a/build/patches/profile-resetter-disable-send-settings.patch b/build/patches/profile-resetter-disable-send-settings.patch index bec165fe..1642caf9 100644 --- a/build/patches/profile-resetter-disable-send-settings.patch +++ b/build/patches/profile-resetter-disable-send-settings.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/profile_resetter/reset_report_uploader.cc b/chrome/browser/profile_resetter/reset_report_uploader.cc --- a/chrome/browser/profile_resetter/reset_report_uploader.cc +++ b/chrome/browser/profile_resetter/reset_report_uploader.cc -@@ -22,7 +22,7 @@ +@@ -23,7 +23,7 @@ namespace { const char kResetReportUrl[] = diff --git a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch index 0368bec0..9029d38a 100644 --- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch +++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch @@ -9,8 +9,8 @@ Fixes https://github.com/Eloston/ungoogled-chromium/issues/302 License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - components/network_time/network_time_tracker.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + components/network_time/network_time_tracker.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc --- a/components/network_time/network_time_tracker.cc @@ -23,11 +23,12 @@ diff --git a/components/network_time/network_time_tracker.cc b/components/networ namespace { -@@ -300,7 +301,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, +@@ -324,8 +325,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, } bool NetworkTimeTracker::AreTimeFetchesEnabled() const { -- return base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying); +- return is_initialized() && +- base::FeatureList::IsEnabled(kNetworkTimeServiceQuerying); + return false; } diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 66049538..4d32dac1 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -14,8 +14,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1249,8 +1249,6 @@ static_library("browser") { - "profiles/incognito_mode_policy_handler.h", +@@ -1224,8 +1224,6 @@ static_library("browser") { + "profiles/force_youtube_safety_mode_policy_handler.h", "profiles/off_the_record_profile_impl.cc", "profiles/off_the_record_profile_impl.h", - "profiles/profile_avatar_downloader.cc", @@ -26,7 +26,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc --- a/chrome/browser/profiles/profile_attributes_entry.cc +++ b/chrome/browser/profiles/profile_attributes_entry.cc -@@ -381,12 +381,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( +@@ -380,12 +380,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( int size_for_placeholder_avatar, bool use_high_res_file, const PlaceholderAvatarIconParams& icon_params) const { diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 561b78be..3a3fb861 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -6,18 +6,18 @@ Remove translate offer License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../xml/languages_detailed_preferences.xml | 42 ---------------- - .../java/res/xml/languages_preferences.xml | 5 -- + .../xml/languages_detailed_preferences.xml | 41 --------------- + .../java/res/xml/languages_preferences.xml | 4 -- .../language/settings/LanguageSettings.java | 50 +------------------ .../strings/android_chrome_strings.grd | 3 -- .../core/browser/translate_manager.cc | 5 +- .../core/browser/translate_script.cc | 17 ++----- - 6 files changed, 10 insertions(+), 112 deletions(-) + 6 files changed, 10 insertions(+), 110 deletions(-) diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml --- a/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml +++ b/chrome/browser/language/android/java/res/xml/languages_detailed_preferences.xml -@@ -39,46 +39,4 @@ found in the LICENSE file. +@@ -39,45 +39,4 @@ found in the LICENSE file. @@ -30,8 +30,7 @@ diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_pre - - - @@ -67,28 +66,27 @@ diff --git a/chrome/browser/language/android/java/res/xml/languages_detailed_pre diff --git a/chrome/browser/language/android/java/res/xml/languages_preferences.xml b/chrome/browser/language/android/java/res/xml/languages_preferences.xml --- a/chrome/browser/language/android/java/res/xml/languages_preferences.xml +++ b/chrome/browser/language/android/java/res/xml/languages_preferences.xml -@@ -18,9 +18,4 @@ found in the LICENSE file. +@@ -18,8 +18,4 @@ found in the LICENSE file. android:layout="@layout/languages_preference" android:widgetLayout="@layout/accept_languages_list" /> - +- android:title="@string/languages_offer_translate_switch" /> - diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java -@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.preferences.PrefServiceUtil; - import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; +@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment; import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate; import org.chromium.chrome.browser.settings.SettingsNavigationFactory; + import org.chromium.chrome.browser.settings.search.ChromeBaseSearchIndexProvider; -import org.chromium.chrome.browser.translate.TranslateBridge; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsUtils; - import org.chromium.components.prefs.PrefChangeRegistrar; -@@ -54,12 +53,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment + import org.chromium.components.browser_ui.settings.search.SettingsIndexData; +@@ -58,12 +57,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment static final String APP_LANGUAGE_PREFERENCE_KEY = "app_language_preference"; static final String PREFERRED_LANGUAGES_KEY = "preferred_languages"; static final String CONTENT_LANGUAGES_KEY = "content_languages_preference"; @@ -101,7 +99,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse private static final String TAG = "LanguageSettings"; -@@ -107,35 +100,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -111,35 +104,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment ContentLanguagesPreference mLanguageListPref = (ContentLanguagesPreference) findPreference(PREFERRED_LANGUAGES_KEY); mLanguageListPref.initialize(this, getProfile(), getPrefService()); @@ -137,7 +135,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse } /** -@@ -150,8 +114,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -154,8 +118,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment ContentLanguagesPreference mLanguageListPref = (ContentLanguagesPreference) findPreference(CONTENT_LANGUAGES_KEY); mLanguageListPref.initialize(this, getProfile(), getPrefService()); @@ -146,7 +144,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse } /** Setup the App Language section with a title and preference to choose the app language. */ -@@ -182,7 +144,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -186,7 +148,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment * @param contentLanguagesPreference ContentLanguagesPreference reference to update about state * changes. */ @@ -155,7 +153,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse // Setup expandable advanced settings section. PreferenceCategory translationAdvancedSection = (PreferenceCategory) findPreference(TRANSLATION_ADVANCED_SECTION); -@@ -260,7 +222,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -266,7 +228,7 @@ public class LanguageSettings extends ChromeBaseSettingsFragment return getPrefService().isManagedPreference(Pref.OFFER_TRANSLATE_ENABLED); } }); @@ -164,7 +162,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse @Override public void onStart() { -@@ -315,17 +277,9 @@ public class LanguageSettings extends ChromeBaseSettingsFragment +@@ -321,17 +283,9 @@ public class LanguageSettings extends ChromeBaseSettingsFragment // Get the actual default system language to set as target language. code = GlobalAppLocaleController.getInstance().getOriginalSystemLocale().getLanguage(); } @@ -185,7 +183,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -1974,9 +1974,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1972,9 +1972,6 @@ Your Google account may have other forms of browsing history like searches and a Let websites know the languages you speak. They’ll show content in those languages, when possible. diff --git a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch index 70a43208..cdef67e2 100644 --- a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch +++ b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch @@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/android/rlz/rlz_ping_handler.cc --- a/chrome/browser/android/rlz/rlz_ping_handler.cc +++ b/chrome/browser/android/rlz/rlz_ping_handler.cc -@@ -78,7 +78,7 @@ void RlzPingHandler::Ping( +@@ -76,7 +76,7 @@ void RlzPingHandler::Ping(const base::android::JavaRef& j_brand, DCHECK_EQ(id.length(), 50u); GURL request_url(base::StringPrintf( @@ -27,7 +27,7 @@ diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/and diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc --- a/rlz/lib/financial_ping.cc +++ b/rlz/lib/financial_ping.cc -@@ -240,6 +240,7 @@ bool FinancialPing::SetURLLoaderFactory( +@@ -238,6 +238,7 @@ bool FinancialPing::SetURLLoaderFactory( void PingRlzServer(std::string url, scoped_refptr event) { @@ -35,7 +35,7 @@ diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc // Copy the pointer to stack because g_URLLoaderFactory may be set to NULL // in different thread. The instance is guaranteed to exist while // the method is running. -@@ -302,13 +303,13 @@ void PingRlzServer(std::string url, +@@ -300,13 +301,13 @@ void PingRlzServer(std::string url, FinancialPing::PingResponse FinancialPing::PingServer(const char* request, std::string* response) { diff --git a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index f5950fb6..131ed0d3 100644 --- a/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch +++ b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -150,7 +150,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -148,7 +148,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string()); registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index bdc7765a..0decd6a5 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -77,7 +77,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java -@@ -116,7 +116,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils; +@@ -121,7 +121,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils; import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordinator; import org.chromium.chrome.browser.omnibox.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; @@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; -@@ -1427,10 +1426,8 @@ public class RootUiCoordinator +@@ -1439,10 +1438,8 @@ public class RootUiCoordinator Profile profile = tab.getProfile(); TemplateUrlService service = TemplateUrlServiceFactory.getForProfile(profile); String url = service.getUrlForSearchQuery(query); @@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -867,10 +867,6 @@ static_library("browser") { +@@ -852,10 +852,6 @@ static_library("browser") { "page_info/privacy_policy_insights_service_factory.h", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.cc", "page_load_metrics/observers/bookmark_bar_page_load_metrics_observer.h", @@ -110,7 +110,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/core/amp_page_load_metrics_observer.cc", "page_load_metrics/observers/core/amp_page_load_metrics_observer.h", "page_load_metrics/observers/core/ukm_page_load_metrics_observer.cc", -@@ -879,10 +875,6 @@ static_library("browser") { +@@ -864,10 +860,6 @@ static_library("browser") { "page_load_metrics/observers/document_write_page_load_metrics_observer.h", "page_load_metrics/observers/foreground_duration_ukm_observer.cc", "page_load_metrics/observers/foreground_duration_ukm_observer.h", @@ -121,7 +121,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "page_load_metrics/observers/histogram_suffixes.cc", "page_load_metrics/observers/histogram_suffixes.h", "page_load_metrics/observers/https_engagement_metrics/https_engagement_page_load_metrics_observer.cc", -@@ -1483,8 +1475,6 @@ static_library("browser") { +@@ -1454,8 +1446,6 @@ static_library("browser") { "supervised_user/supervised_user_browser_utils.h", "supervised_user/supervised_user_content_filters_service_factory.cc", "supervised_user/supervised_user_content_filters_service_factory.h", @@ -130,7 +130,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "supervised_user/supervised_user_interstitial_tab_closer.cc", "supervised_user/supervised_user_interstitial_tab_closer.h", "supervised_user/supervised_user_metrics_service_factory.cc", -@@ -1608,10 +1598,7 @@ static_library("browser") { +@@ -1570,10 +1560,7 @@ static_library("browser") { "//chrome/browser/content_settings:impl", "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -141,7 +141,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/media/webrtc", "//chrome/browser/navigation_predictor:impl", -@@ -1794,7 +1781,6 @@ static_library("browser") { +@@ -1753,7 +1740,6 @@ static_library("browser") { # New dependencies inside of //chrome/browser that generate header files # should be added to browser_generated_files. ":browser_public_dependencies", @@ -152,7 +152,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browser/android/metrics/uma_session_stats.cc --- a/chrome/browser/android/metrics/uma_session_stats.cc +++ b/chrome/browser/android/metrics/uma_session_stats.cc -@@ -296,16 +296,6 @@ static void JNI_UmaSessionStats_ChangeMetricsReportingConsent( +@@ -320,16 +320,6 @@ static void JNI_UmaSessionStats_ChangeMetricsReportingConsent( jint called_from) { UpdateMetricsPrefsOnPermissionChange( consent, static_cast(called_from)); @@ -172,7 +172,7 @@ diff --git a/chrome/browser/android/metrics/uma_session_stats.cc b/chrome/browse diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -1275,7 +1275,6 @@ BrowserProcessImpl::component_updater() { +@@ -1336,7 +1336,6 @@ BrowserProcessImpl::component_updater() { std::make_unique(); std::string brand; @@ -183,7 +183,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -498,11 +498,6 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -500,11 +500,6 @@ void ProcessSingletonNotificationCallbackImpl( StartupBrowserCreator::ProcessCommandLineAlreadyRunning( command_line, current_directory, startup_profile_path_info); @@ -195,7 +195,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows } // Handles notifications from other processes. The function receives the -@@ -1950,11 +1945,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1985,11 +1980,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { upgrade_util::SaveLastModifiedTimeOfExe(); #endif @@ -210,7 +210,7 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2925,7 +2925,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2927,7 +2927,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( switches::kForceAppMode, #endif switches::kForceUIDirection, @@ -218,7 +218,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch switches::kJavaScriptHarmony, switches::kEnableExperimentalWebAssemblyFeatures, embedder_support::kOriginTrialDisabledFeatures, -@@ -5735,7 +5734,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { +@@ -5727,7 +5726,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { } #endif @@ -228,7 +228,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(IS_ANDROID) const std::string& client_data_header, #endif -@@ -5775,7 +5775,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -5767,7 +5767,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( std::move(bound_session_request_throttled_handler), #endif std::move(dynamic_params)); @@ -237,7 +237,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch std::vector> ChromeContentBrowserClient::CreateURLLoaderThrottles( -@@ -5832,15 +5832,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -5824,15 +5824,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( GetClientDataHeader(frame_tree_node_id); #endif @@ -253,7 +253,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch { auto* factory = ProtocolHandlerRegistryFactory::GetForBrowserContext(browser_context); -@@ -5885,20 +5876,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -5877,20 +5868,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( Profile* profile = Profile::FromBrowserContext(browser_context); DCHECK(profile); @@ -277,7 +277,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc --- a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc +++ b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -362,7 +362,6 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -361,7 +361,6 @@ void CreateAndAddChromeThrottlesForNavigation( extensions::WebViewGuest::MaybeCreateAndAddNavigationThrottle(registry); #endif @@ -365,10 +365,10 @@ diff --git a/chrome/browser/enterprise/connectors/device_trust/key_management/br diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -519,7 +519,6 @@ source_set("extensions") { - "//chrome/browser/extensions:external_loader", +@@ -517,7 +517,6 @@ source_set("extensions") { "//chrome/browser/extensions/api:api_registration", "//chrome/browser/favicon", + "//chrome/browser/gcm", - "//chrome/browser/google", "//chrome/browser/history", "//chrome/browser/infobars", @@ -492,7 +492,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -635,7 +635,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { +@@ -636,7 +636,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { } bool ChromeMetricsServiceClient::GetBrand(std::string* brand_code) { @@ -504,7 +504,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/br diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc -@@ -99,9 +99,6 @@ void PostStoreMetricsClientInfo(const metrics::ClientInfo& client_info) { +@@ -97,9 +97,6 @@ void PostStoreMetricsClientInfo(const metrics::ClientInfo& client_info) { // This must happen on the same sequence as the tasks to enable/disable // metrics reporting. Otherwise, this may run while disabling metrics // reporting if the user quickly enables and disables metrics reporting. @@ -514,7 +514,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/ } #if BUILDFLAG(IS_ANDROID) -@@ -333,7 +330,7 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManager() { +@@ -331,7 +328,7 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManager() { switches::kEnableGpuBenchmarking), }, base::BindRepeating(&PostStoreMetricsClientInfo), @@ -623,7 +623,7 @@ diff --git a/chrome/browser/metrics/metrics_reporting_state.cc b/chrome/browser/ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc --- a/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc -@@ -933,7 +933,6 @@ void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( +@@ -954,7 +954,6 @@ void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams( network::mojom::NetworkContextParams* network_context_params) { variations::UpdateCorsExemptHeaderForVariations(network_context_params); variations::UpdateCorsExemptHeaderForOmniboxAutofocus(network_context_params); @@ -678,7 +678,7 @@ diff --git a/chrome/browser/page_load_metrics/observers/from_gws_page_load_metri diff --git a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc --- a/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc +++ b/chrome/browser/page_load_metrics/page_load_metrics_initialize.cc -@@ -196,14 +196,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( +@@ -195,14 +195,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); @@ -720,7 +720,7 @@ diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browse diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn --- a/chrome/browser/safe_browsing/BUILD.gn +++ b/chrome/browser/safe_browsing/BUILD.gn -@@ -27,7 +27,6 @@ static_library("safe_browsing") { +@@ -29,7 +29,6 @@ static_library("safe_browsing") { "//build:branding_buildflags", "//chrome/app:generated_resources", "//chrome/browser:browser_process", @@ -756,32 +756,32 @@ diff --git a/chrome/browser/search_engines/ui_thread_search_terms_data.cc b/chro diff --git a/chrome/browser/signin/android/signin_manager_android.cc b/chrome/browser/signin/android/signin_manager_android.cc --- a/chrome/browser/signin/android/signin_manager_android.cc +++ b/chrome/browser/signin/android/signin_manager_android.cc -@@ -65,6 +65,7 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { +@@ -69,6 +69,7 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { remover_(profile->GetBrowsingDataRemover()) { remover_->AddObserver(this); -+ all_data = true; - if (all_data) { - chrome_browsing_data_remover::DataType removed_types = - chrome_browsing_data_remover::ALL_DATA_TYPES; -@@ -84,10 +85,6 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { ++ cleared_types = ClearedTypes::kAllData; + switch (cleared_types) { + case ClearedTypes::kGoogleServiceWorkerCaches: { + std::unique_ptr google_tld_filter = +@@ -77,10 +78,6 @@ class ProfileDataRemover : public content::BrowsingDataRemover::Observer { - // TODO(msramek): BrowsingDataFilterBuilder was not designed for - // large filters. Optimize it. -- for (const std::string& domain : -- google_util::GetGoogleRegistrableDomains()) { -- google_tld_filter->AddRegisterableDomain(domain); -- } + // TODO(msramek): BrowsingDataFilterBuilder was not designed for + // large filters. Optimize it. +- for (const std::string& domain : +- google_util::GetGoogleRegistrableDomains()) { +- google_tld_filter->AddRegisterableDomain(domain); +- } - remover_->RemoveWithFilterAndReply( - base::Time(), base::Time::Max(), + remover_->RemoveWithFilterAndReply( + base::Time(), base::Time::Max(), diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -294,7 +294,6 @@ static_library("ui") { - "//chrome/browser/favicon", +@@ -297,7 +297,6 @@ static_library("ui") { "//chrome/browser/feedback:feedback_impl", "//chrome/browser/file_system_access", + "//chrome/browser/gcm", - "//chrome/browser/google", "//chrome/browser/history", "//chrome/browser/image_decoder", @@ -796,8 +796,8 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr - "java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeader.java", - "java/src/org/chromium/chrome/browser/omnibox/geo/GeolocationTracker.java", "java/src/org/chromium/chrome/browser/omnibox/status/PageInfoIphController.java", + "java/src/org/chromium/chrome/browser/omnibox/status/PermissionStatusHandler.java", "java/src/org/chromium/chrome/browser/omnibox/status/StatusCoordinator.java", - "java/src/org/chromium/chrome/browser/omnibox/status/StatusIconView.java", diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java @@ -809,7 +809,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator.PageInfoAction; import org.chromium.chrome.browser.omnibox.status.StatusView; -@@ -537,7 +536,6 @@ public class LocationBarCoordinator +@@ -540,7 +539,6 @@ public class LocationBarCoordinator mLocationBarMediator.destroy(); mLocationBarMediator = null; @@ -820,7 +820,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java -@@ -68,7 +68,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; +@@ -70,7 +70,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; import org.chromium.chrome.browser.omnibox.fusebox.FuseboxAttachmentModelList.FuseboxAttachmentChangeListener; import org.chromium.chrome.browser.omnibox.fusebox.FuseboxCoordinator; import org.chromium.chrome.browser.omnibox.fusebox.FuseboxCoordinator.FuseboxState; @@ -828,7 +828,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; -@@ -419,22 +418,6 @@ class LocationBarMediator +@@ -421,22 +420,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); @@ -851,7 +851,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -451,8 +434,6 @@ class LocationBarMediator +@@ -453,8 +436,6 @@ class LocationBarMediator Profile profile = mProfileSupplier.get(); assert profile != null; templateUrlService.addObserver(this); @@ -860,7 +860,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow })); mLocationBarLayout.onFinishNativeInitialization(); -@@ -720,9 +701,6 @@ class LocationBarMediator +@@ -722,9 +703,6 @@ class LocationBarMediator LoadUrlParams loadUrlParams = new LoadUrlParams(url); try (TimingMetric record = TimingMetric.shortUptime("Android.Omnibox.SetGeolocationHeadersTime")) { @@ -870,7 +870,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); -@@ -2044,7 +2022,6 @@ class LocationBarMediator +@@ -2067,7 +2045,6 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && profile != null && templateUrlService != null) { @@ -878,7 +878,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } } -@@ -2052,7 +2029,6 @@ class LocationBarMediator +@@ -2075,7 +2052,6 @@ class LocationBarMediator public void onPauseWithNative() { OmniboxFeatures.updateLastExitTimestamp(); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()) { @@ -900,7 +900,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc --- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc +++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc -@@ -747,12 +747,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { +@@ -769,12 +769,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { // chrome-untrusted://new-tab-page for other external content and resources. // NOTE: Use caution when overriding content security policies as that cean // lead to subtle security bugs such as https://crbug.com/1251541. @@ -964,7 +964,7 @@ diff --git a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc b/chrome/b diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -134,8 +134,6 @@ static_library("common_lib") { +@@ -145,8 +145,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -1010,10 +1010,10 @@ diff --git a/chrome/renderer/url_loader_throttle_provider_impl.cc b/chrome/rende diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -6960,7 +6960,6 @@ test("unit_tests") { - "//chrome/browser/file_system_access", - "//chrome/browser/file_system_access:unit_tests", +@@ -6993,7 +6993,6 @@ test("unit_tests") { "//chrome/browser/first_party_sets", + "//chrome/browser/gcm", + "//chrome/browser/gcm:unit_tests", - "//chrome/browser/google:unit_tests", "//chrome/browser/media:unittests", "//chrome/browser/media/prefs", @@ -1756,7 +1756,7 @@ diff --git a/components/search_provider_logos/BUILD.gn b/components/search_provi diff --git a/components/search_provider_logos/logo_service_impl.cc b/components/search_provider_logos/logo_service_impl.cc --- a/components/search_provider_logos/logo_service_impl.cc +++ b/components/search_provider_logos/logo_service_impl.cc -@@ -251,8 +251,7 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks, bool for_webui_ntp) { +@@ -247,8 +247,7 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks, bool for_webui_ntp) { GURL base_url; GURL doodle_url; @@ -1766,7 +1766,7 @@ diff --git a/components/search_provider_logos/logo_service_impl.cc b/components/ if (is_google) { // Note: Ideally the Google doodle URL would be specified in // prepopulated_engines.json, but there is some custom logic in -@@ -279,23 +278,12 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks, bool for_webui_ntp) { +@@ -275,23 +274,12 @@ void LogoServiceImpl::GetLogo(LogoCallbacks callbacks, bool for_webui_ntp) { clock_ = base::DefaultClock::GetInstance(); } @@ -1883,7 +1883,7 @@ diff --git a/components/url_matcher/url_util.cc b/components/url_matcher/url_uti - if (net::GetValueForKeyInQuery(url, "u", &embedded)) { - // The embedded URL may or may not include a scheme. Fix it if - // necessary. -- return url_formatter::FixupURL(embedded, /*desired_tld=*/std::string()); +- return url_formatter::FixupURL(embedded); - } - } - @@ -1967,7 +1967,7 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc --- a/services/network/network_context.cc +++ b/services/network/network_context.cc -@@ -3114,7 +3114,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -3098,7 +3098,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( } #endif // BUILDFLAG(IS_CT_SUPPORTED) diff --git a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch index 28b3e847..856e46ad 100644 --- a/build/patches/webRTC-do-not-expose-local-IP-addresses.patch +++ b/build/patches/webRTC-do-not-expose-local-IP-addresses.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -144,7 +144,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -142,7 +142,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, @@ -45,7 +45,7 @@ diff --git a/third_party/blink/common/peerconnection/webrtc_ip_handling_policy.c diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc --- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc +++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc -@@ -1064,7 +1064,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( +@@ -1069,7 +1069,7 @@ PeerConnectionDependencyFactory::CreatePortAllocator( break; } diff --git a/build/patches/webview-Hard-no-to-persistent-histograms.patch b/build/patches/webview-Hard-no-to-persistent-histograms.patch index 1592ce41..1d339759 100644 --- a/build/patches/webview-Hard-no-to-persistent-histograms.patch +++ b/build/patches/webview-Hard-no-to-persistent-histograms.patch @@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/browser/aw_field_trials.cc b/android_webview/browser/aw_field_trials.cc --- a/android_webview/browser/aw_field_trials.cc +++ b/android_webview/browser/aw_field_trials.cc -@@ -36,12 +36,6 @@ +@@ -37,12 +37,6 @@ #include "ui/gl/gl_switches.h" void AwFieldTrials::OnVariationsSetupComplete() {