diff --git a/build/cromite_patches_list.txt b/build/cromite_patches_list.txt index ab137a3b..3628b525 100644 --- a/build/cromite_patches_list.txt +++ b/build/cromite_patches_list.txt @@ -316,7 +316,6 @@ Block-leakage-of-urls-in-sandbox-iframes.patch Fix-chromium-build-bugs.patch Try-to-fix-2082.patch Temp-use-PREVIEW-for-IDCompositionDevice5.patch -Enable-Socket-Pool-Limit-Randomization.patch Disable-integration-with-Gemini.patch # adblock patches diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index af3760b9..8afc38e4 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -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; -@@ -1125,6 +1126,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -1134,6 +1135,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv 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 -@@ -202,6 +202,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -204,6 +204,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedNoViewCache, &feed::kFeedPerformanceStudy, &feed::kFeedRecyclerBinderUnmountOnDetach, @@ -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"; // Don't clean up this flag yet, BCIV is launched, so this needs to be enabled by -@@ -797,6 +798,8 @@ public abstract class ChromeFeatureList { +@@ -801,6 +802,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 = -@@ -1131,6 +1134,7 @@ public abstract class ChromeFeatureList { - // keep-sorted start +@@ -1154,6 +1157,7 @@ public abstract class ChromeFeatureList { sAccountForSuppressedKeyboardInsets, sAndroidAnimatedProgressBarInBrowser, + sAndroidApb144Patch1, + sAllowUserCertificates, sAndroidAppIntegrationModule, sAndroidAppIntegrationMultiDataSource, 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 11c6db76..8326f07a 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 -@@ -941,6 +941,12 @@ public class KeyboardShortcuts { +@@ -935,6 +935,12 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_ESCAPE, KeyEvent.META_CTRL_ON); } diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index a337c99f..5080026d 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 -@@ -197,6 +197,10 @@ bool IsReducePPMsEnabled() { +@@ -198,6 +198,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 58d988cc..7461dba4 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -16,7 +16,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 -@@ -266,6 +266,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -241,6 +241,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)}, {wf::EnablePeriodicBackgroundSync, raw_ref(features::kPeriodicBackgroundSync)}, @@ -40,7 +40,7 @@ new file mode 100644 diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc --- a/device/gamepad/public/cpp/gamepad_features.cc +++ b/device/gamepad/public/cpp/gamepad_features.cc -@@ -59,4 +59,12 @@ bool IsGamepadMultitouchEnabled() { +@@ -63,4 +63,12 @@ bool IsGamepadMultitouchEnabled() { return false; } @@ -64,7 +64,7 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/publi #if BUILDFLAG(IS_WIN) GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kIgnorePS5GamepadsInWgi); -@@ -32,6 +33,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE( +@@ -34,6 +35,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE( #endif // BUILDFLAG(IS_APPLE) GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled(); @@ -93,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. -@@ -432,6 +436,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents( +@@ -433,6 +437,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 dca49004..a196d790 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/ui/webui/chrome_web_ui_configs.cc | 5 +- chrome/browser/ui/webui/proxy_config_ui.cc | 389 ++++++++++++++++++ chrome/browser/ui/webui/proxy_config_ui.h | 41 ++ - chrome/common/webui_url_constants.cc | 2 + + chrome/common/webui_url_constants.cc | 1 + chrome/common/webui_url_constants.h | 2 + .../pref_proxy_config_tracker_impl.cc | 5 +- .../proxy_config/proxy_config_dictionary.cc | 30 +- @@ -43,7 +43,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html net/proxy_resolution/pac_file_fetcher_impl.cc | 8 - net/proxy_resolution/proxy_config.cc | 53 ++- net/proxy_resolution/proxy_config.h | 3 + - 27 files changed, 987 insertions(+), 27 deletions(-) + 27 files changed, 986 insertions(+), 27 deletions(-) create mode 100644 chrome/browser/resources/proxy_config.css create mode 100644 chrome/browser/resources/proxy_config.html create mode 100644 chrome/browser/resources/proxy_config.js @@ -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 -@@ -106,6 +106,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -108,6 +108,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 -@@ -412,6 +412,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { +@@ -424,6 +424,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 -@@ -241,6 +241,9 @@ +@@ -225,6 +225,9 @@ @@ -115,7 +115,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc --- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc +++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc -@@ -375,7 +375,7 @@ std::optional CreateProxyConfigDict( +@@ -383,7 +383,7 @@ std::optional CreateProxyConfigDict( return std::nullopt; } return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string, @@ -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 -@@ -209,6 +209,8 @@ +@@ -212,6 +212,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 -@@ -1396,6 +1398,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1438,6 +1440,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -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 -@@ -159,6 +159,8 @@ static_library("ui") { +@@ -158,6 +158,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -60,6 +60,9 @@ +@@ -64,6 +64,9 @@ #include "extensions/buildflags/buildflags.h" #include "printing/buildflags/buildflags.h" @@ -686,9 +686,9 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif @@ -449,7 +452,7 @@ void RegisterChromeWebUIConfigs() { - #if BUILDFLAG(ENABLE_GLIC) && !BUILDFLAG(IS_ANDROID) - map.AddWebUIConfig(std::make_unique()); - #endif + map.AddWebUIConfig(std::make_unique()); + map.AddWebUIConfig(std::make_unique()); + #endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) - + map.AddWebUIConfig(std::make_unique()); #if BUILDFLAG(SAFE_BROWSING_AVAILABLE) @@ -1137,15 +1137,7 @@ new file mode 100644 diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -53,6 +53,7 @@ bool IsSystemWebUIHost(std::string_view host) { - kChromeUILockScreenNetworkHost, - kChromeUILockScreenStartReauthHost, - kChromeUIMobileSetupHost, -+ kChromeUIProxyConfigHost, - kChromeUIMultiDeviceSetupHost, - kChromeUINetworkHost, - kChromeUINotificationTesterHost, -@@ -74,6 +75,7 @@ bool IsSystemWebUIHost(std::string_view host) { +@@ -120,6 +120,7 @@ bool IsSystemWebUIHost(std::string_view host) { // These hosts will also be suggested by BuiltinProvider. base::span ChromeURLHosts() { static constexpr auto kChromeURLHosts = std::to_array({ @@ -1156,7 +1148,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -198,6 +198,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; +@@ -206,6 +206,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/"; inline constexpr char kChromeUINewTabHost[] = "newtab"; inline constexpr char kChromeUINewTabFooterHost[] = "newtab-footer"; diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index d93da04e..411a10ff 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/prefs/browser_prefs.cc | 5 + chrome/browser/profiles/profile_selections.cc | 10 + chrome/browser/profiles/profile_selections.h | 7 +- - .../signin/services/ProfileDataCache.java | 18 +- + .../signin/services/ProfileDataCache.java | 16 +- .../browser/ui/android/native_page/BUILD.gn | 2 + .../browser/ui/native_page/NativePage.java | 17 +- .../browser/omnibox/LocationBarMediator.java | 8 + @@ -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, 812 insertions(+), 119 deletions(-) + 70 files changed, 811 insertions(+), 118 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 -@@ -653,6 +653,7 @@ chrome_java_resources = [ +@@ -649,6 +649,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", -@@ -969,6 +970,7 @@ chrome_java_sources = [ +@@ -984,6 +985,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/PrivacySandbox3pcdRollbackMessageController.java", - "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java", + "java/src/org/chromium/chrome/browser/provider/BaseColumns.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 @@ -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 -@@ -84,6 +84,10 @@ import org.chromium.build.annotations.Nullable; +@@ -85,6 +85,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,7 +259,7 @@ 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; -@@ -850,13 +854,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -860,13 +864,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt mMultiInstanceManager); // For saving non-incognito tab closures for Recent Tabs. @@ -283,7 +283,7 @@ 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( -@@ -3426,7 +3435,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3544,7 +3553,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt shouldPersistAcrossReboots() && persistentState != null && persistentState.getBoolean(IS_INCOGNITO_SELECTED, false); @@ -303,7 +303,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; -@@ -2222,6 +2223,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2279,6 +2280,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity throw new IllegalStateException( "Attempting to access TabCreator before initialization"); } @@ -316,16 +316,16 @@ 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 -@@ -99,6 +99,8 @@ import java.util.Iterator; +@@ -98,6 +98,8 @@ import java.lang.annotation.RetentionPolicy; + import java.util.Iterator; import java.util.List; - import java.util.function.Supplier; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; + /** * Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu * items based on activity state. -@@ -686,8 +688,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -685,8 +687,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties && !isNativePage && !isFileScheme && !isContentScheme @@ -348,7 +348,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; -@@ -456,6 +457,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -466,6 +467,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { mShowEphemeralTabNewLabel = null; mCustomActionMap.clear(); @@ -358,7 +358,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr List groupedItems = new ArrayList<>(); if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) { -@@ -527,7 +531,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -537,7 +541,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } } if (FirstRunStatus.getFirstRunFlowComplete()) { @@ -411,7 +411,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/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 -@@ -21,6 +21,7 @@ import org.chromium.build.annotations.NullMarked; +@@ -22,6 +22,7 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; import org.chromium.chrome.browser.ActivityTabProvider; @@ -419,7 +419,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; -@@ -238,6 +239,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat +@@ -239,6 +240,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat tryAddingReadAloud = false; } @@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; -@@ -1373,6 +1376,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1372,6 +1375,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid return getInitialActivityWidth() > 0; } @@ -645,7 +645,7 @@ 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 -@@ -43,6 +43,16 @@ import org.chromium.ui.base.WindowAndroid; +@@ -44,6 +44,16 @@ import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; @@ -662,7 +662,7 @@ 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; -@@ -114,7 +124,8 @@ public class RecentTabsManager +@@ -115,7 +125,8 @@ public class RecentTabsManager SnackbarManager snackbarManager, Runnable showHistoryManager, RecentlyClosedEntriesManager recentlyClosedEntriesManager) { @@ -672,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM mActiveTab = tab; mShowHistoryManager = showHistoryManager; mForeignSessionHelper = new ForeignSessionHelper(profile); -@@ -285,6 +296,22 @@ public class RecentTabsManager +@@ -286,6 +297,22 @@ public class RecentTabsManager */ public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) { if (mIsDestroyed) return; @@ -880,7 +880,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -50,6 +50,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; +@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment; import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings; import org.chromium.chrome.browser.sync.settings.ManageSyncSettings; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; @@ -888,7 +888,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; -@@ -225,6 +226,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -243,6 +244,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl SigninAndHistorySyncActivityLauncherImpl.get(), new SettingsCustomTabLauncherImpl())); } @@ -1008,7 +1008,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore 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 -@@ -29,6 +29,7 @@ import org.chromium.build.annotations.Contract; +@@ -30,6 +30,7 @@ import org.chromium.build.annotations.Contract; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -1016,7 +1016,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; -@@ -256,7 +257,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -260,7 +261,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. @@ -1029,8 +1029,8 @@ 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 -@@ -236,6 +236,8 @@ import org.chromium.content_public.common.ContentSwitches; - import org.chromium.ui.UiUtils; +@@ -244,6 +244,8 @@ import org.chromium.ui.UiUtils; + import org.chromium.ui.base.ActivityResultTracker; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.DeviceFormFactor; +import org.chromium.base.ContextUtils; @@ -1038,7 +1038,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; -@@ -1401,7 +1403,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1405,7 +1407,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { () -> { mTabCreatorManagerSupplier .get() @@ -1078,9 +1078,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton; +import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor; import org.chromium.chrome.browser.flags.ActivityType; - import org.chromium.chrome.browser.flags.ChromeFeatureList; + import org.chromium.chrome.browser.flags.CustomTabProfileType; import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; -@@ -142,6 +143,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod +@@ -143,6 +144,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod ProfileProvider profileProvider = mProfileProviderSupplier.get(); assert profileProvider != null; @@ -1100,7 +1100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton; import org.chromium.chrome.browser.crypto.CipherFactory; import org.chromium.chrome.browser.flags.ChromeFeatureList; -@@ -727,6 +728,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore { +@@ -728,6 +729,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore { } } } @@ -1240,7 +1240,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and 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 -@@ -463,6 +463,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const { +@@ -475,6 +475,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const { return AimEligibilityServiceFactory::GetForProfile(profile_); } @@ -1361,7 +1361,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c + if (always_incognito_enabled) + return settings_map; + - #if BUILDFLAG(ENABLE_EXTENSIONS) + #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) // These must be registered before before the HostSettings are passed over to // the IOThread. Simplest to do this on construction. diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc @@ -1380,7 +1380,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE)); using safe_browsing::SafeBrowsingNavigationObserverManager; -@@ -235,6 +241,16 @@ const int kExtensionReferrerUserGestureLimit = 2; +@@ -232,6 +238,16 @@ const int kExtensionReferrerUserGestureLimit = 2; WebstorePrivateApi::Delegate* test_delegate = nullptr; @@ -1397,7 +1397,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 -@@ -456,7 +472,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() { +@@ -453,7 +469,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() { params_ = Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params_); @@ -1406,7 +1406,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, -@@ -987,7 +1003,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:: +@@ -1097,7 +1113,7 @@ void WebstorePrivateBeginInstallWithManifest3Function:: DCHECK(extension); DCHECK(contents); @@ -1415,7 +1415,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api std::string message_from_admin = ExtensionManagementFactory::GetForBrowserContext(profile) -@@ -1023,7 +1039,7 @@ WebstorePrivateCompleteInstallFunction::Run() { +@@ -1133,7 +1149,7 @@ WebstorePrivateCompleteInstallFunction::Run() { std::optional params = CompleteInstall::Params::Create(args()); EXTENSION_FUNCTION_VALIDATE(params); @@ -1424,7 +1424,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api if (profile->IsGuestSession() || profile->IsOffTheRecord()) { return RespondNow(Error(kIncognitoError)); } -@@ -1332,7 +1348,7 @@ ExtensionFunction::ResponseValue +@@ -1442,7 +1458,7 @@ ExtensionFunction::ResponseValue WebstorePrivateGetExtensionStatusFunction::BuildResponseWithoutManifest( const ExtensionId& extension_id) { ExtensionInstallStatus status = GetWebstoreExtensionInstallStatus( @@ -1433,7 +1433,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)); -@@ -1346,7 +1362,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed( +@@ -1456,7 +1472,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed( return; } @@ -1445,7 +1445,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc --- a/chrome/browser/history/history_tab_helper.cc +++ b/chrome/browser/history/history_tab_helper.cc -@@ -48,6 +48,9 @@ +@@ -46,6 +46,9 @@ #include "components/feed/core/v2/public/feed_api.h" // nogncheck #include "components/feed/core/v2/public/feed_service.h" // nogncheck #include "content/public/browser/web_contents.h" @@ -1455,7 +1455,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" -@@ -636,6 +639,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { +@@ -632,6 +635,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) { history::HistoryService* HistoryTabHelper::GetHistoryService() { Profile* profile = Profile::FromBrowserContext(web_contents()->GetBrowserContext()); @@ -1469,7 +1469,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo if (profile->IsOffTheRecord()) { return nullptr; } -@@ -644,6 +654,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { +@@ -640,6 +650,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() { profile, ServiceAccessType::IMPLICIT_ACCESS); } @@ -1489,7 +1489,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h --- a/chrome/browser/history/history_tab_helper.h +++ b/chrome/browser/history/history_tab_helper.h -@@ -18,6 +18,8 @@ +@@ -20,6 +20,8 @@ #include "components/translate/core/browser/translate_driver.h" #include "content/public/browser/web_contents_observer.h" #include "content/public/browser/web_contents_user_data.h" @@ -1498,7 +1498,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor namespace history { struct HistoryAddPageArgs; -@@ -60,6 +62,11 @@ class HistoryTabHelper +@@ -71,6 +73,11 @@ class HistoryTabHelper std::optional GetAppId() { return app_id_; } #endif @@ -1510,7 +1510,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor private: explicit HistoryTabHelper(content::WebContents* web_contents); friend class content::WebContentsUserData; -@@ -101,9 +108,6 @@ class HistoryTabHelper +@@ -112,9 +119,6 @@ class HistoryTabHelper void OnLanguageDetermined( const translate::LanguageDetectionDetails& details) override; @@ -1818,7 +1818,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 -@@ -239,6 +239,7 @@ +@@ -244,6 +244,7 @@ #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h" @@ -1826,7 +1826,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" -@@ -1878,6 +1879,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1918,6 +1919,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry); variations::VariationsService::RegisterProfilePrefs(registry); webapps::InstallPromptPrefs::RegisterProfilePrefs(registry); @@ -1891,7 +1891,7 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java --- a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java +++ b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java -@@ -134,7 +134,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -75,7 +75,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang private final Context mContext; private final AccountManagerFacade mAccountManagerFacade; @@ -1899,7 +1899,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome private final int mImageSize; // The badge for a given account is selected as follows: // * If there is a config for that specific account, use that -@@ -150,13 +149,11 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -91,13 +90,11 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang ProfileDataCache( Context context, AccountManagerFacade accountManagerFacade, @@ -1914,7 +1914,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome mImageSize = imageSize; mDefaultBadgeConfig = badgeConfig; mPlaceholderImage = getScaledPlaceholderImage(context, imageSize); -@@ -338,7 +335,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -266,7 +263,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang ThreadUtils.assertOnUiThread(); if (mObservers.isEmpty()) { mAccountManagerFacade.addObserver(this); @@ -1922,7 +1922,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome } mObservers.addObserver(observer); } -@@ -351,7 +347,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -279,7 +275,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang mObservers.removeObserver(observer); if (mObservers.isEmpty()) { mAccountManagerFacade.removeObserver(this); @@ -1930,7 +1930,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome } } -@@ -382,6 +377,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -311,6 +306,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang } private void updateCache() { @@ -1938,30 +1938,21 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome var accounts = mAccountManagerFacade.getAccounts(); if (!accounts.isFulfilled()) { // When the list of accounts is ready - onCoreAccountInfosChanged will call -@@ -391,13 +387,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang +@@ -320,14 +316,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang - List displayableAccounts = new ArrayList<>(); + List displayableAccounts = new ArrayList<>(); for (CoreAccountInfo account : accounts.getResult()) { - var accountInfo = mIdentityManager.findExtendedAccountInfoByAccountId(account.getId()); - if (accountInfo != null - && (accountInfo.hasDisplayableInfo() -- || getBadgeConfigForAccount(accountInfo.getEmail()) != null)) { -- displayableAccounts.add(toDisplayableProfileData(accountInfo)); +- || getBadgeConfigForAccount(accountInfo.getId()) != null)) { +- displayableAccounts.add( +- new AccountsCache.AccountEntry( +- accountInfo.getId(), toDisplayableProfileData(accountInfo))); - } -- } -+ } + } mAccountsCache.setAccounts(displayableAccounts); - mAccountsCache -@@ -413,8 +403,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang - /** TODO(crbug.com/476990153): Replace with email parameter with {@link #CoreAccountId}. */ - @Deprecated - private void populateCacheForAccount(String accountEmail) { -- var accountInfo = mIdentityManager.findExtendedAccountInfoByEmailAddress(accountEmail); -- onExtendedAccountInfoUpdated(accountInfo); - } - - private DisplayableProfileData toDisplayableProfileData(AccountInfo accountInfo) { diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn --- a/chrome/browser/ui/android/native_page/BUILD.gn +++ b/chrome/browser/ui/android/native_page/BUILD.gn @@ -2046,7 +2037,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 -@@ -112,6 +112,11 @@ import org.chromium.ui.interpolators.Interpolators; +@@ -113,6 +113,11 @@ import org.chromium.ui.interpolators.Interpolators; import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.url.GURL; @@ -2058,7 +2049,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; -@@ -532,6 +537,9 @@ class LocationBarMediator +@@ -520,6 +525,9 @@ class LocationBarMediator if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return; Tab tab = mLocationBarDataProvider.getTab(); if (tab == null) return; @@ -2071,7 +2062,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 -@@ -7057,6 +7057,31 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -7184,6 +7184,31 @@ To change this setting, BEGIN_LINKdelete the Chrome d Cookies, cache, and other site data @@ -2173,7 +2164,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 -@@ -4125,6 +4125,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = +@@ -3843,6 +3843,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] = "net.out_of_process_system_dns_resolution_enabled"; #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) @@ -2266,7 +2257,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h --- a/components/content_settings/core/browser/host_content_settings_map.h +++ b/components/content_settings/core/browser/host_content_settings_map.h -@@ -84,6 +84,7 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -83,6 +83,7 @@ class HostContentSettingsMap : public content_settings::Observer, // profile or a guest session. HostContentSettingsMap(PrefService* prefs, bool is_off_the_record, @@ -2274,7 +2265,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. bool store_last_modified, bool restore_session, bool should_record_metrics); -@@ -556,6 +557,8 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -562,6 +563,8 @@ class HostContentSettingsMap : public content_settings::Observer, // Whether this settings map is for an incognito or guest session. bool is_off_the_record_; diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index 5b52a49d..724083c4 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../placeholder.txt | 1 + chrome/browser/ui/ui_features.cc | 1 + chrome/browser/unexpire_flags.cc | 15 +- - chrome/common/chrome_features.cc | 2 +- + chrome/common/chrome_features.cc | 1 + .../browser_ui/accessibility/android/BUILD.gn | 1 + .../res/xml/accessibility_preferences.xml | 3 +- .../accessibility/AccessibilitySettings.java | 6 +- @@ -108,7 +108,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 + - 95 files changed, 885 insertions(+), 32 deletions(-) + 95 files changed, 885 insertions(+), 31 deletions(-) create mode 100644 base/android/java/src/org/chromium/base/ImmutableFlagWithDefault.java 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 @@ -146,7 +146,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 -@@ -187,6 +187,8 @@ generate_allowlist_from_histograms_file("memory_dump_provider_name_variants") { +@@ -190,6 +190,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") { @@ -155,7 +155,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1066,7 +1068,7 @@ component("base") { +@@ -1069,7 +1071,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -164,7 +164,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn ":check_version_internal", ":simdutf_shim", "//base/allocator:buildflags", -@@ -4941,6 +4943,7 @@ if (is_android) { +@@ -4959,6 +4961,7 @@ if (is_android) { "android/java/src/org/chromium/base/Flag.java", "android/java/src/org/chromium/base/MutableBooleanParamWithSafeDefault.java", "android/java/src/org/chromium/base/MutableFlagWithSafeDefault.java", @@ -178,7 +178,7 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc @@ -46,6 +46,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava( static bool JNI_FeatureMap_IsEnabled(int64_t jfeature_map, - std::string& feature_name) { + const std::string& feature_name) { + if (base::FeatureList::IsCromiteFlag(feature_name)) { + const base::Feature* cromite_feature = + base::FeatureList::GetCromiteFlag(feature_name); @@ -545,7 +545,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 -@@ -132,7 +132,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -134,7 +134,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } @Override @@ -557,7 +557,7 @@ 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/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -10,6 +10,7 @@ import android.os.Bundle; +@@ -13,6 +13,7 @@ import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; @@ -565,27 +565,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme import org.chromium.base.supplier.MonotonicObservableSupplier; import org.chromium.base.supplier.OneshotSupplier; import org.chromium.build.annotations.NullMarked; -@@ -71,6 +72,7 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl - private final OneshotSupplier mBottomSheetControllerSupplier; +@@ -82,6 +83,7 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + // TODO(crbug.com/469772349): Simplify to Supplier<@Nullable ModalDialogManagerSupplier> private final MonotonicObservableSupplier mModalDialogManagerSupplier; - private final @Nullable SettingsSearchCoordinator mSearchCoordinator; + private final Supplier<@Nullable SettingsSearchCoordinator> mSearchCoordinatorSupplier; + private final Supplier mRequireRestartDelegateSupplier; public FragmentDependencyProvider( - Context context, -@@ -78,19 +80,25 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl + Activity activity, +@@ -91,7 +93,8 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl OneshotSupplier snackbarManagerSupplier, OneshotSupplier bottomSheetControllerSupplier, MonotonicObservableSupplier modalDialogManagerSupplier, -- @Nullable SettingsSearchCoordinator searchCoordinator) { -+ @Nullable SettingsSearchCoordinator searchCoordinator, +- Supplier<@Nullable SettingsSearchCoordinator> searchCoordinatorSupplier) { ++ Supplier<@Nullable SettingsSearchCoordinator> searchCoordinatorSupplier, + Supplier requireRestartDelegateSupplier) { - mContext = context; + mActivity = activity; mProfile = profile; - mSnackbarManagerSupplier = snackbarManagerSupplier; + mWindowAndroidSupplier = windowAndroidSupplier; +@@ -100,12 +103,17 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl mBottomSheetControllerSupplier = bottomSheetControllerSupplier; mModalDialogManagerSupplier = modalDialogManagerSupplier; - mSearchCoordinator = searchCoordinator; + mSearchCoordinatorSupplier = searchCoordinatorSupplier; + mRequireRestartDelegateSupplier = requireRestartDelegateSupplier; } @@ -617,9 +618,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.supplier.ObservableSuppliers; +import org.chromium.base.supplier.OneshotSupplier; import org.chromium.base.supplier.OneshotSupplierImpl; + import org.chromium.base.supplier.SettableMonotonicObservableSupplier; import org.chromium.build.annotations.NullMarked; - import org.chromium.build.annotations.Nullable; -@@ -58,6 +60,7 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; +@@ -59,12 +61,14 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.init.ActivityLifecycleDispatcherImpl; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; @@ -627,15 +628,14 @@ 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; -@@ -66,6 +69,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator; + import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator; + import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator; import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher; ++import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; 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.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; -@@ -126,6 +130,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity + import org.chromium.chrome.browser.util.DefaultBrowserInfo; +@@ -131,6 +135,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity // Key used to store activity start time in the Bundle to have it survive activity re-creation. private static final String KEY_START_TIME = "start_time"; @@ -676,12 +676,12 @@ 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"; -@@ -229,7 +267,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -239,7 +277,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mSnackbarManagerSupplier, mBottomSheetControllerSupplier, getModalDialogManagerSupplier(), -- mSearchCoordinator), -+ mSearchCoordinator, +- () -> mSearchCoordinator), ++ () -> mSearchCoordinator, + () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)), /* recursive= */ true); fragmentManager.registerFragmentLifecycleCallbacks( @@ -711,7 +711,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting 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 -@@ -399,6 +399,10 @@ using flags_ui::kOsLinux; +@@ -404,6 +404,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -722,9 +722,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4645,6 +4649,10 @@ const FeatureEntry::FeatureVariation - {"Mute Both", kPermissionsGestureGatedPromptsMuteBoth, nullptr}, +@@ -4816,6 +4820,10 @@ const FeatureEntry::FeatureVariation kSigninPromoOnAvatarPillVariation[] = { }; + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -733,7 +733,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. -@@ -4671,6 +4679,9 @@ const FeatureEntry::FeatureVariation +@@ -4842,6 +4850,9 @@ const FeatureEntry::FeatureVariation kSigninPromoOnAvatarPillVariation[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -742,7 +742,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc +#undef FLAG_SECTION #include "build/chromeos_buildflags.h" #include "chrome/browser/unexpire_flags_gen.inc" - {variations::switches::kEnableBenchmarking, + {switches::kEnableBenchmarking, flag_descriptions::kEnableBenchmarkingName, 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 @@ -805,7 +805,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 -@@ -820,6 +820,7 @@ BASE_FEATURE(kXplatSyncedSetup, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -824,6 +824,7 @@ BASE_FEATURE(kYourSavedInfoSettingsPageAndroid, base::FEATURE_DISABLED_BY_DEFAUL // clang-format on @@ -816,7 +816,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h --- a/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h -@@ -375,6 +375,7 @@ inline constexpr base::FeatureParam +@@ -380,6 +380,7 @@ inline constexpr base::FeatureParam "snippet_as_subtitle", /*default_value=*/false); @@ -827,7 +827,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 -@@ -21,6 +21,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; +@@ -20,6 +20,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam; import org.chromium.components.cached_flags.IntCachedFeatureParam; import org.chromium.components.cached_flags.StringCachedFeatureParam; @@ -838,7 +838,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -1114,7 +1118,7 @@ public abstract class ChromeFeatureList { +@@ -1136,7 +1140,7 @@ public abstract class ChromeFeatureList { newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); // keep-sorted end @@ -847,7 +847,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( // keep-sorted start sAccountForSuppressedKeyboardInsets, -@@ -1272,6 +1276,13 @@ public abstract class ChromeFeatureList { +@@ -1302,6 +1306,13 @@ public abstract class ChromeFeatureList { // keep-sorted end ); @@ -1027,7 +1027,7 @@ 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 -@@ -580,4 +580,5 @@ BASE_FEATURE_PARAM(bool, +@@ -541,4 +541,5 @@ BASE_FEATURE_PARAM(bool, BASE_FEATURE(kUpdaterUI, base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -1068,11 +1068,10 @@ 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 -@@ -1985,5 +1985,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT); - // happen silently without prompting an updating dialog. - BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating, - base::FEATURE_ENABLED_BY_DEFAULT); -- +@@ -2020,4 +2020,5 @@ BASE_FEATURE(kUnicornChromeActivityReporting, + BASE_FEATURE(kSmartRestartMetrics, base::FEATURE_ENABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_ANDROID) + +#include "cromite_flags/chrome_common_chrome_features_cc.inc" } // namespace features diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn @@ -1141,7 +1140,7 @@ diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java --- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java +++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java -@@ -15,6 +15,8 @@ import android.view.accessibility.AccessibilityEvent; +@@ -14,6 +14,8 @@ import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.TextView; @@ -1150,7 +1149,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium import androidx.annotation.ColorInt; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceViewHolder; -@@ -42,6 +44,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co +@@ -38,6 +40,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co /** Indicates if the preference uses a custom layout. */ private final boolean mHasCustomLayout; @@ -1162,7 +1161,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium // TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate // away from a switch with dynamically changing summaries onto a radio group. /** -@@ -66,6 +73,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co +@@ -62,6 +69,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs); mUseSummaryAsTitle = true; @@ -1256,7 +1255,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 -@@ -177,4 +177,5 @@ BASE_FEATURE(kWebAuthnUsePasskeyFromAnotherDeviceInContextMenu, +@@ -200,4 +200,5 @@ BASE_FEATURE(kWebAuthnUsePasskeyFromAnotherDeviceInContextMenu, #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) @@ -1265,7 +1264,7 @@ diff --git a/components/password_manager/core/browser/features/password_features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -125,6 +125,7 @@ BASE_FEATURE(kPermissionPredictionsGeolocationAccuracy, +@@ -117,6 +117,7 @@ BASE_FEATURE(kPermissionPredictionsGeolocationAccuracy, BASE_FEATURE(kPermissionsGestureGatedPrompts, base::FEATURE_DISABLED_BY_DEFAULT); @@ -1527,7 +1526,19 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re private announceStatusDelayMs: number = 100; private featuresResolver: PromiseResolver = new PromiseResolver(); private flagSearch: FlagSearch|null = null; -@@ -186,10 +190,25 @@ export class FlagsAppElement extends CrLitElement { +@@ -180,6 +184,11 @@ export class FlagsAppElement extends CrLitElement { + override connectedCallback() { + super.connectedCallback(); + ++ if (location.pathname == '/cromite') { ++ this.onlyCromiteFlags = true; ++ this.getRequiredElement("#appcontainer").classList.add('cromite'); ++ document.title = "Cromite Flags List"; ++ } + // + const pathname = new URL(window.location.href).pathname; + this.isFlagsDeprecatedUrl_ = +@@ -252,10 +261,25 @@ export class FlagsAppElement extends CrLitElement { if (changedPrivateProperties.has('data')) { const defaultFeatures: Feature[] = []; const nonDefaultFeatures: Feature[] = []; @@ -1553,18 +1564,6 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re this.defaultFeatures = defaultFeatures; this.nonDefaultFeatures = nonDefaultFeatures; -@@ -233,6 +252,11 @@ export class FlagsAppElement extends CrLitElement { - override connectedCallback() { - super.connectedCallback(); - -+ if (location.pathname == '/cromite') { -+ this.onlyCromiteFlags = true; -+ this.getRequiredElement("#appcontainer").classList.add('cromite'); -+ document.title = "Cromite Flags List"; -+ } - // - const pathname = new URL(window.location.href).pathname; - this.isFlagsDeprecatedUrl_ = diff --git a/components/webui/flags/resources/experiment.css b/components/webui/flags/resources/experiment.css --- a/components/webui/flags/resources/experiment.css +++ b/components/webui/flags/resources/experiment.css @@ -1705,7 +1704,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 -@@ -758,4 +758,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { +@@ -763,4 +763,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() { blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument); } @@ -1714,22 +1713,20 @@ 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 -@@ -1460,4 +1460,5 @@ bool IsPushSubscriptionChangeEventEnabled() { - features::kPushSubscriptionChangeEventOnResubscribe); +@@ -1487,4 +1487,5 @@ bool IsFluidResizeEnabled() { } + #endif +#include "cromite_flags/content_public_common_content_features_cc.inc" } // namespace features 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 -@@ -422,6 +422,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess(); - CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess(); - CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled(); +@@ -440,4 +440,5 @@ CONTENT_EXPORT bool IsFluidResizeEnabled(); -+#include "cromite_flags/content_public_common_content_features_h.inc" } // namespace features ++#include "cromite_flags/content_public_common_content_features_h.inc" #endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ diff --git a/cromite_flags/BUILD.gn b/cromite_flags/BUILD.gn new file mode 100755 @@ -2069,7 +2066,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 -@@ -1831,5 +1831,5 @@ uint32_t GetPassthroughAudioFormats() { +@@ -1845,5 +1845,5 @@ uint32_t GetPassthroughAudioFormats() { return 0; #endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) } @@ -2079,7 +2076,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 -@@ -586,5 +586,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); +@@ -590,5 +590,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled(); MEDIA_EXPORT uint32_t GetPassthroughAudioFormats(); } // namespace media @@ -2089,18 +2086,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 -@@ -728,4 +728,5 @@ BASE_FEATURE(kUseLockFreeX509Verification, base::FEATURE_DISABLED_BY_DEFAULT); - BASE_FEATURE(kUseNSURLDataForGURLConversion, base::FEATURE_ENABLED_BY_DEFAULT); - #endif // BUILDFLAG(IS_APPLE) +@@ -777,4 +777,5 @@ BASE_FEATURE(kDrainSpdySessionSynchronouslyOnRemoteEndpointDisconnect, + + BASE_FEATURE(kLogicalClearHttpCache, 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 -@@ -764,6 +764,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseLockFreeX509Verification); - NET_EXPORT BASE_DECLARE_FEATURE(kUseNSURLDataForGURLConversion); - #endif // BUILDFLAG(IS_APPLE) +@@ -807,6 +807,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kLogicalClearHttpCache); + NET_EXPORT BASE_DECLARE_FEATURE( + kDrainSpdySessionSynchronouslyOnRemoteEndpointDisconnect); +#include "cromite_flags/net_base_features_h.inc" } // namespace net::features @@ -2109,18 +2106,18 @@ 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 -@@ -646,4 +646,5 @@ BASE_FEATURE_PARAM(bool, - /*name=*/"report_inconsistent_header", - /*default_value=*/false); +@@ -662,4 +662,5 @@ BASE_FEATURE_PARAM(int, + /*name=*/"max_global_buffer_size", + /*default_value=*/0); +#include "cromite_flags/services_network_public_cpp_features_cc.inc" } // namespace network::features 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 -@@ -395,6 +395,7 @@ BASE_DECLARE_FEATURE_PARAM( +@@ -434,6 +434,7 @@ BASE_DECLARE_FEATURE_PARAM(int, kDurableMessagesGlobalBufferSize); COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES) - BASE_DECLARE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess); + BASE_DECLARE_FEATURE(kBypassRequestForbiddenHeadersCheck); +#include "cromite_flags/services_network_public_cpp_features_h.inc" } // namespace network::features @@ -2129,7 +2126,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 -@@ -2703,4 +2703,5 @@ bool IsXrDevice() { +@@ -2771,4 +2771,5 @@ bool IsXrDevice() { // // DO NOT ADD NEW FEATURES HERE. @@ -2138,7 +2135,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 -@@ -1984,6 +1984,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); +@@ -2015,6 +2015,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice(); // // DO NOT ADD NEW FEATURES HERE. @@ -2149,18 +2146,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 -@@ -436,4 +436,5 @@ BASE_FEATURE(kStringWidthCache, base::FEATURE_ENABLED_BY_DEFAULT); - BASE_FEATURE(kUseClipboardStrictVirtualFileCheck, - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -462,4 +462,5 @@ BASE_FEATURE_PARAM(int, + "acceptable_latency_ms", + 50); +#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(kStringWidthCache); +@@ -303,6 +303,7 @@ BASE_DECLARE_FEATURE_PARAM(int, kCompensationExpectedLatencyMs); COMPONENT_EXPORT(UI_BASE_FEATURES) - BASE_DECLARE_FEATURE(kUseClipboardStrictVirtualFileCheck); + BASE_DECLARE_FEATURE_PARAM(int, kCompensationAcceptableLatencyMs); +#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 7c632914..09dbde6a 100644 --- a/build/patches/Add-cromite-test-support.patch +++ b/build/patches/Add-cromite-test-support.patch @@ -73,7 +73,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -142,6 +142,7 @@ import org.chromium.ui.base.SelectFileDialog; +@@ -146,6 +146,7 @@ import org.chromium.ui.base.SelectFileDialog; import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider; import org.chromium.url.GURL; @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import java.io.File; import java.nio.charset.StandardCharsets; -@@ -686,7 +687,10 @@ public class ProcessInitializationHandler { +@@ -699,7 +700,10 @@ public class ProcessInitializationHandler { tasks.add( () -> { @@ -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 -@@ -192,6 +192,11 @@ source_set("shell_integration") { +@@ -193,6 +193,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" -@@ -497,6 +498,15 @@ void ChromeContentBrowserClient:: +@@ -488,6 +489,15 @@ void ChromeContentBrowserClient:: render_frame_host); }, &render_frame_host)); @@ -412,7 +412,7 @@ new file mode 100644 diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java --- a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java +++ b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java -@@ -181,6 +181,7 @@ public class NotificationPermissionController { +@@ -175,6 +175,7 @@ public class NotificationPermissionController { * @return True if any UI was shown (either rationale dialog or OS prompt), false otherwise. */ public boolean requestPermissionIfNeeded(boolean contextual) { @@ -423,7 +423,7 @@ diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/b diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc --- a/chrome/browser/ui/startup/bad_flags_prompt.cc +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -220,6 +220,7 @@ static const std::variant +@@ -221,6 +221,7 @@ static const std::variant #if BUILDFLAG(IS_ANDROID) &chrome::android::kCommandLineOnNonRooted, @@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -667,6 +667,7 @@ mojom("mojo_bindings") { +@@ -666,6 +666,7 @@ mojom("mojo_bindings") { "actor.mojom", "chrome_render_frame.mojom", "google_accounts_private_api_extension.mojom", @@ -477,7 +477,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #include "chrome/renderer/google_accounts_private_api_extension.h" #include "chrome/renderer/loadtimes_extension_bindings.h" #include "chrome/renderer/media/flash_embed_rewrite.h" -@@ -656,6 +657,7 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -662,6 +663,7 @@ void ChromeContentRendererClient::RenderFrameCreated( TrustedVaultEncryptionKeysExtension::Create(render_frame); GoogleAccountsPrivateApiExtension::Create(render_frame); @@ -851,7 +851,7 @@ 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 -@@ -323,6 +323,8 @@ +@@ -327,6 +327,8 @@ #include "url/origin.h" #include "url/url_constants.h" @@ -860,7 +860,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b #if BUILDFLAG(IS_ANDROID) #include "base/android/scoped_service_binding_batch.h" #include "content/browser/accessibility/browser_accessibility_manager_android.h" -@@ -4959,7 +4961,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -4985,7 +4987,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 -@@ -4976,8 +4979,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole( +@@ -5002,8 +5005,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 0c5e0b37..825b1870 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -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/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 -@@ -22,6 +22,7 @@ import androidx.core.os.BuildCompat; - +@@ -23,6 +23,7 @@ import androidx.core.os.BuildCompat; + import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApplicationStatus; import org.chromium.base.CommandLine; +import org.chromium.base.ContextUtils; import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; -@@ -51,6 +52,9 @@ import java.lang.annotation.Retention; +@@ -53,6 +54,9 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Set; @@ -75,7 +75,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. -@@ -137,6 +141,9 @@ public class LaunchIntentDispatcher { +@@ -139,6 +143,9 @@ public class LaunchIntentDispatcher { */ public static boolean isCustomTabIntent(Intent intent) { if (intent == null) return false; @@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis Log.w( TAG, "CustomTabsIntent#shouldAlwaysUseBrowserUI() = " -@@ -163,6 +170,10 @@ public class LaunchIntentDispatcher { +@@ -165,6 +172,10 @@ public class LaunchIntentDispatcher { // Make sure the result of the CustomTabActivity is forwarded to the client. newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); @@ -96,7 +96,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()); -@@ -333,6 +344,17 @@ public class LaunchIntentDispatcher { +@@ -342,6 +353,17 @@ public class LaunchIntentDispatcher { if (Intent.ACTION_VIEW.equals(newIntent.getAction()) && !IntentHandler.wasIntentSenderChrome(newIntent)) { @@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust /** * Extra that, if set, makes the Custom Tab Activity's height to be x pixels, the Custom Tab -@@ -697,7 +697,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -696,7 +696,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION, ScreenOrientation.DEFAULT)); @@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust mBreakPointDp = getActivityBreakPointFromIntent(intent); mInitialActivityHeight = getInitialActivityHeightFromIntent(intent); -@@ -710,8 +710,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -709,8 +709,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT); mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED; @@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust @BackgroundInteractBehavior int backgroundInteractBehavior = IntentUtils.safeGetIntExtra( -@@ -1380,7 +1380,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid +@@ -1379,7 +1379,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid public @CustomTabProfileType int getCustomTabMode() { return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito() ? CustomTabProfileType.INCOGNITO @@ -194,7 +194,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/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java -@@ -44,6 +44,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable; +@@ -45,6 +45,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable; import java.util.ArrayList; import java.util.List; @@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco /** * A model class that parses the incoming intent for incognito Custom Tabs specific customization * data. -@@ -133,6 +136,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -134,6 +137,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD } private static boolean isIntentFromThirdPartyAllowed() { @@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled(); } -@@ -230,6 +236,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -231,6 +237,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD } public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) { @@ -225,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco if (!isIncognitoRequested(intent)) return false; var session = SessionHolder.getSessionHolderFromIntent(intent); if (isIntentFromThirdPartyAllowed() -@@ -340,6 +350,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD +@@ -341,6 +351,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD @Override public @CustomTabProfileType int getCustomTabMode() { @@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco 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 -@@ -11,6 +11,7 @@ import android.content.Context; +@@ -12,6 +12,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.drawable.Drawable; @@ -247,7 +247,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; -@@ -84,6 +85,15 @@ import org.chromium.ui.text.SpanApplier; +@@ -86,6 +87,15 @@ import org.chromium.ui.text.SpanApplier; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -263,7 +263,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; -@@ -153,6 +163,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -155,6 +165,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment startTag, endTag, new ChromeClickableSpan(context, onClickCallback)); } @@ -273,7 +273,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)); -@@ -403,6 +416,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -405,6 +418,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment new SpanApplier.SpanInfo("", "", servicesLink)); } @@ -283,7 +283,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(); -@@ -423,6 +439,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -425,6 +441,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { UserPrefs.get(getProfile()) .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); @@ -315,7 +315,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting } return true; } -@@ -455,6 +496,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -457,6 +498,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } @@ -335,7 +335,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 -@@ -705,7 +705,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -711,7 +711,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. @@ -349,7 +349,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 -@@ -977,6 +977,8 @@ public abstract class ChromeFeatureList { +@@ -995,6 +995,8 @@ public abstract class ChromeFeatureList { MOST_VISITED_TILES_CUSTOMIZATION, /* defaultValue= */ true, /* defaultValueInTests= */ true); @@ -358,18 +358,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sMostVisitedTilesReselect = newCachedFlag(MOST_VISITED_TILES_RESELECT, false); public static final CachedFlag sMoveToFrontInLaunchIntentDispatcher = -@@ -1227,6 +1229,7 @@ public abstract class ChromeFeatureList { +@@ -1255,6 +1257,7 @@ public abstract class ChromeFeatureList { sMaliciousApkDownloadCheck, sMostVisitedTilesCustomization, sMostVisitedTilesReselect, + sMayLaunchurlUsesSeparateStoragePartition, sMoveToFrontInLaunchIntentDispatcher, + sMultiInstanceSharedPrefsMigration, sMvcUpdateViewWhenModelChanged, - sNavBarColorAnimation, 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 --- 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 -@@ -88,7 +88,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im +@@ -90,7 +90,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im public static boolean isOpenedFromExternalApp(Tab tab) { TabAssociatedApp app = get(tab); if (app == null) return false; diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch index 7b83d9f6..267bf75d 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 -@@ -386,6 +386,8 @@ import java.util.Set; +@@ -395,6 +395,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. -@@ -4002,6 +4004,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -4132,6 +4134,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 -@@ -70,6 +70,7 @@ import org.chromium.base.supplier.SettableNullableObservableSupplier; +@@ -69,6 +69,7 @@ import org.chromium.base.supplier.SettableNullableObservableSupplier; 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; -@@ -2665,6 +2666,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2724,6 +2725,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 -@@ -444,6 +444,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -478,6 +478,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildContentFilterHelpCenterMenuItem(currentTab)); } @@ -108,9 +108,9 @@ 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 -@@ -4490,6 +4490,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d - - Dark theme +@@ -4563,6 +4563,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d + + More tools + + Exit diff --git a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch index 877962ab..b2bc102e 100644 --- a/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch +++ b/build/patches/Add-flag-for-omnibox-autocomplete-filtering.patch @@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/ #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -553,6 +554,15 @@ AutocompleteController::AutocompleteController( +@@ -547,6 +548,15 @@ AutocompleteController::AutocompleteController( steady_state_omnibox_position_( metrics::OmniboxEventProto::UNKNOWN_POSITION), config_(config) { diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch index d56c78c7..dbc74adb 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 -@@ -1204,6 +1204,7 @@ component("net") { +@@ -1215,6 +1215,7 @@ component("net") { ":net_deps", "//components/network_time/time_tracker", "//components/unexportable_keys", @@ -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" -@@ -1499,6 +1500,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck( +@@ -1506,6 +1507,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 c8920c6e..e4fb56c8 100644 --- a/build/patches/Add-flag-to-disable-external-intent-requests.patch +++ b/build/patches/Add-flag-to-disable-external-intent-requests.patch @@ -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; -@@ -168,6 +169,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { +@@ -167,6 +168,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory { @Override public boolean shouldDisableAllExternalIntents() { @@ -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; -@@ -137,7 +138,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat +@@ -139,7 +140,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat @Override public boolean shouldDisableExternalIntentRequestsForUrl( ExternalNavigationParams params, Intent intent) { @@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext } @Override -@@ -318,7 +320,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat +@@ -320,7 +322,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat && params.isInitialNavigationInFrame() // TODO(crbug.com/452537438): Figure out a better way to check whether we are in // desktop windowing mode or if the device can enter desktop windowing mode. @@ -195,7 +195,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 -@@ -1745,6 +1745,12 @@ public class ExternalNavigationHandler { +@@ -1796,6 +1796,12 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper { return false; } @@ -208,7 +208,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal( ExternalNavigationParams params, Intent targetIntent, -@@ -1832,6 +1838,21 @@ public class ExternalNavigationHandler { +@@ -1883,6 +1889,21 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper { return OverrideUrlLoadingResult.forNoOverride(); } diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 7b71844f..383d8a01 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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 -@@ -106,6 +106,7 @@ void SetRuntimeFeatureDefaultsForPlatform( +@@ -81,6 +81,7 @@ void SetRuntimeFeatureDefaultsForPlatform( if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) { WebRuntimeFeatures::EnableMediaSession(false); } @@ -59,10 +59,10 @@ new file mode 100644 diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h --- a/third_party/blink/public/platform/web_runtime_features.h +++ b/third_party/blink/public/platform/web_runtime_features.h -@@ -69,6 +69,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase { - static void EnableFingerprintingCanvasMeasureTextNoise(bool); +@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase { static void EnableFingerprintingCanvasImageDataNoise(bool); static void EnableFluentScrollbars(bool); + static void EnableDesktopAndroidScrollbars(bool); + static void EnableVibration(bool); static void EnableLocalNetworkAccessWebRTC(bool); @@ -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 -@@ -1176,6 +1176,10 @@ +@@ -1224,6 +1224,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 3c787105..44285d5b 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 -@@ -737,7 +737,7 @@ config("compiler") { +@@ -661,7 +661,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" ] } } -@@ -1836,7 +1836,7 @@ config("clang_revision") { +@@ -1861,7 +1861,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 ] -@@ -2211,7 +2211,9 @@ config("default_warnings") { +@@ -2236,7 +2236,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", -@@ -2265,6 +2267,15 @@ config("default_warnings") { +@@ -2290,6 +2292,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 4b3d2d84..866bfec8 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -233,7 +233,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc --- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc +++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc -@@ -236,7 +236,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) { +@@ -235,7 +235,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) { break; case permissions::PermissionAction::GRANTED_ONCE: active_chip_permission_request_manager_.value()->AcceptThisTime( @@ -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 -@@ -302,7 +302,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { +@@ -321,7 +321,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) { delegate_->Accept(/*prompt_options=*/std::monostate()); return; case PermissionDialogButton::kAcceptOnce: @@ -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 -@@ -240,7 +240,7 @@ void GetOrigins(JNIEnv* env, +@@ -230,7 +230,7 @@ void GetOrigins(JNIEnv* env, seen_origins.push_back(origin); insertionFunc(env, static_cast(content_type), list, ConvertOriginToJavaString(env, origin), jembedder, @@ -373,10 +373,10 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc - ContentSettingsType::GEOLOCATION_WITH_OPTIONS, - ContentSettingsType::MEDIASTREAM_MIC, - ContentSettingsType::MEDIASTREAM_CAMERA, + ContentSettingsType::SENSORS, ContentSettingsType::HAND_TRACKING, ContentSettingsType::SMART_CARD_DATA, - ContentSettingsType::AR, -@@ -301,10 +333,6 @@ const std::vector& GetTypesWithTemporaryGrantsInHcsm() { +@@ -302,10 +334,6 @@ const std::vector& GetTypesWithTemporaryGrantsInHcsm() { ContentSettingsType::CAPTURED_SURFACE_CONTROL, #endif ContentSettingsType::KEYBOARD_LOCK, @@ -384,9 +384,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc - ContentSettingsType::GEOLOCATION_WITH_OPTIONS, - ContentSettingsType::MEDIASTREAM_MIC, - ContentSettingsType::MEDIASTREAM_CAMERA, + ContentSettingsType::SENSORS, ContentSettingsType::HAND_TRACKING, ContentSettingsType::AR, - ContentSettingsType::VR, diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h --- a/components/content_settings/core/browser/content_settings_utils.h +++ b/components/content_settings/core/browser/content_settings_utils.h @@ -483,7 +483,7 @@ 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 -@@ -218,6 +218,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -219,6 +219,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( // being requested. This is needed for the Clapper experiment // (crbug.com/458351800) and (crbug.com/463333225). bool requested_notifications = false; @@ -492,7 +492,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp for (const auto& permission : permission_info_list) { if (std::ranges::contains(permissions_to_display, permission.type)) { -@@ -230,6 +232,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -231,6 +233,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 -@@ -256,7 +260,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -257,7 +261,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 } } -@@ -269,7 +274,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( +@@ -270,7 +275,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 -@@ -1305,6 +1305,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, +@@ -1314,6 +1314,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info, permission_info.is_one_time = (info.metadata.session_model() == content_settings::mojom::SessionModel::ONE_TIME); @@ -1153,11 +1153,11 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions + virtual void DenyThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) = 0; virtual void Dismiss(const PromptOptions& prompt_options) = 0; virtual void Ignore(const PromptOptions& prompt_options) = 0; - + virtual void SwitchToLoudPrompt() = 0; diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc --- a/components/permissions/permission_request.cc +++ b/components/permissions/permission_request.cc -@@ -37,6 +37,16 @@ PermissionRequest::PermissionRequest( +@@ -47,6 +47,16 @@ PermissionRequest::PermissionRequest( request_finished_callback_(std::move(request_finished_callback)), uses_automatic_embargo_(uses_automatic_embargo) {} @@ -1174,7 +1174,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio PermissionRequest::~PermissionRequest() { std::move(request_finished_callback_).Run(); } -@@ -448,7 +458,19 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { +@@ -485,7 +495,19 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const { } void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options, @@ -1195,7 +1195,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio std::move(permission_decided_callback_) .Run(PermissionPromptDecision{.overall_decision = is_one_time -@@ -459,7 +481,16 @@ void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options, +@@ -496,7 +518,16 @@ void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options, /*request_data=*/*data_); } @@ -1213,7 +1213,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio std::move(permission_decided_callback_) .Run(PermissionPromptDecision{.overall_decision = PermissionDecision::kDeny, -@@ -469,6 +500,14 @@ void PermissionRequest::PermissionDenied() { +@@ -506,6 +537,14 @@ void PermissionRequest::PermissionDenied() { } void PermissionRequest::Cancelled(bool is_final_decision) { @@ -1406,7 +1406,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p request); } -@@ -1779,7 +1791,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { +@@ -1787,7 +1799,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() { } switch (auto_response_for_test_) { case ACCEPT_ONCE: @@ -1418,7 +1418,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h --- a/components/permissions/permission_request_manager.h +++ b/components/permissions/permission_request_manager.h -@@ -185,8 +185,10 @@ class PermissionRequestManager +@@ -187,8 +187,10 @@ class PermissionRequestManager GURL GetRequestingOrigin() const override; GURL GetEmbeddingOrigin() const override; void Accept(const PromptOptions& prompt_options) override; @@ -1430,7 +1430,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe void Dismiss(const PromptOptions& prompt_options) override; void Ignore(const PromptOptions& prompt_options) override; void FinalizeCurrentRequests() override; -@@ -447,9 +449,11 @@ class PermissionRequestManager +@@ -449,9 +451,11 @@ class PermissionRequestManager // Calls PermissionGranted on a request and all its duplicates. void PermissionGrantedIncludingDuplicates(PermissionRequest* request, const PromptOptions& prompt_options, 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 71fa39f0..003efffd 100644 --- a/build/patches/Add-menu-item-to-bookmark-all-tabs.patch +++ b/build/patches/Add-menu-item-to-bookmark-all-tabs.patch @@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml --- a/chrome/android/java/res/values/ids.xml +++ b/chrome/android/java/res/values/ids.xml -@@ -200,6 +200,7 @@ found in the LICENSE file. +@@ -203,6 +203,7 @@ found in the LICENSE file. @@ -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 -@@ -113,6 +113,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane; +@@ -114,6 +114,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; -@@ -321,6 +322,9 @@ import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoU +@@ -327,6 +328,9 @@ import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoU import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils; import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils; import org.chromium.chrome.browser.ui.edge_to_edge.TransitiveTopInsetProvider; @@ -65,8 +65,8 @@ 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; -@@ -336,6 +340,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService; - import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; +@@ -344,6 +348,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; + import org.chromium.chrome.browser.util.DefaultBrowserInfo; import org.chromium.chrome.browser.xr.scenecore.XrModule; import org.chromium.components.browser_ui.accessibility.AccessibilityFeatureMap; +import org.chromium.components.bookmarks.BookmarkId; @@ -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; -@@ -4030,6 +4036,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -4160,6 +4166,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); -@@ -4164,6 +4172,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -4295,6 +4303,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 -@@ -303,6 +303,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -314,6 +314,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm // Bookmarks modelList.add(buildBookmarksItem()); @@ -141,9 +141,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab + shouldShowIconBeforeItem() ? R.drawable.ic_folder_blue_24dp : 0))); + // Recent Tabs - if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem()); - -@@ -503,6 +511,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm + if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SUBMENUS_IN_APP_MENU) + && shouldShowRecentTabsItem()) { +@@ -537,6 +545,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildNewTabGroupItem()); modelList.add(buildCloseAllTabsItem()); if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem()); @@ -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 -@@ -4615,6 +4615,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4694,6 +4694,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Select tabs @@ -473,7 +473,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro diff --git a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc --- a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc +++ b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc -@@ -105,6 +105,8 @@ ui::mojom::DragOperation BookmarkUIOperationsHelper::DropBookmarks( +@@ -113,6 +113,8 @@ ui::mojom::DragOperation BookmarkUIOperationsHelper::DropBookmarks( if (is_reorder) { base::UmaHistogramEnumeration("Bookmarks.ReorderDropTarget", target); switch (target_parent()->GetType()) { @@ -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 -@@ -907,7 +907,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const { +@@ -957,7 +957,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 { -@@ -1239,6 +1239,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr details) { +@@ -1289,6 +1289,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(); @@ -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_; -@@ -627,6 +633,7 @@ class BookmarkModel : public BookmarkUndoProvider, +@@ -638,6 +644,7 @@ class BookmarkModel : public BookmarkUndoProvider, raw_ptr account_bookmark_bar_node_ = nullptr; raw_ptr account_other_node_ = nullptr; raw_ptr account_mobile_node_ = nullptr; @@ -808,7 +808,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc --- a/components/bookmarks/browser/bookmark_storage.cc +++ b/components/bookmarks/browser/bookmark_storage.cc -@@ -45,6 +45,7 @@ base::DictValue EncodeModelToDict( +@@ -57,6 +57,7 @@ base::DictValue EncodeModelToDict( case BookmarkStorage::kSelectLocalOrSyncableNodes: return codec.Encode( model->bookmark_bar_node(), model->other_node(), model->mobile_node(), @@ -816,7 +816,7 @@ diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookm model->client()->EncodeLocalOrSyncableBookmarkSyncMetadata()); case BookmarkStorage::kSelectAccountNodes: // Either all permanent folders or none should exist. -@@ -61,6 +62,7 @@ base::DictValue EncodeModelToDict( +@@ -73,6 +74,7 @@ base::DictValue EncodeModelToDict( return codec.Encode(model->account_bookmark_bar_node(), model->account_other_node(), model->account_mobile_node(), @@ -851,34 +851,34 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc --- a/components/bookmarks/browser/model_loader.cc +++ b/components/bookmarks/browser/model_loader.cc -@@ -73,6 +73,9 @@ std::unique_ptr LoadBookmarks( +@@ -172,6 +172,9 @@ std::unique_ptr LoadBookmarks( std::unique_ptr account_mobile_folder_node = - BookmarkPermanentNode::CreateMobileBookmarks( - 0, /*is_account_node=*/true); + BookmarkPermanentNode::CreateMobileBookmarks(0, + /*is_account_node=*/true); + std::unique_ptr tabs_collection_folder_node = + BookmarkPermanentNode::CreateTabsCollectionBookmarks( + 0, /*is_account_node=*/true); - std::optional root_dict = - LoadFileToDict(account_file_path); -@@ -80,7 +83,8 @@ std::unique_ptr LoadBookmarks( - if (root_dict.has_value() && - codec.Decode(*root_dict, /*already_assigned_ids=*/{}, - account_bb_node.get(), account_other_folder_node.get(), -- account_mobile_folder_node.get(), &max_node_id, -+ account_mobile_folder_node.get(), -+ tabs_collection_folder_node.get(), &max_node_id, - &sync_metadata_str)) { + const base::expected + json_string = ReadFile(/*encryptor=*/nullptr, account_file_path, +@@ -186,7 +189,8 @@ std::unique_ptr LoadBookmarks( + } else if (codec.Decode(*root_dict, /*already_assigned_ids=*/{}, + account_bb_node.get(), + account_other_folder_node.get(), +- account_mobile_folder_node.get(), &max_node_id, ++ account_mobile_folder_node.get(), ++ tabs_collection_folder_node.get(), &max_node_id, + &sync_metadata_str)) { ids_assigned_to_account_nodes = codec.release_assigned_ids(); -@@ -122,7 +126,8 @@ std::unique_ptr LoadBookmarks( - if (root_dict.has_value() && - codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes), - details->bb_node(), details->other_folder_node(), -- details->mobile_folder_node(), &max_node_id, -+ details->mobile_folder_node(), -+ details->tabs_collection_folder_node(), &max_node_id, - &sync_metadata_str)) { +@@ -248,7 +252,8 @@ std::unique_ptr LoadBookmarks( + } else if (codec.Decode(*root_dict, + std::move(ids_assigned_to_account_nodes), + details->bb_node(), details->other_folder_node(), +- details->mobile_folder_node(), &max_node_id, ++ details->mobile_folder_node(), ++ details->tabs_collection_folder_node(), &max_node_id, + &sync_metadata_str)) { details->set_local_or_syncable_sync_metadata_str( std::move(sync_metadata_str)); diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 44922fc0..33724dc3 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 -@@ -4066,6 +4066,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -4196,6 +4196,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); } RecordUserAction.record("MobileMenuDownloadManager"); @@ -39,7 +39,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 -@@ -2829,6 +2829,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2888,6 +2888,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity return AppInstallMenuHandler.doOpenWebApk(this, 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 -@@ -1053,6 +1053,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties +@@ -1057,6 +1057,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 +@@ -407,6 +407,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat modelList.add(buildOpenInAppItem()); } @@ -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 -@@ -391,6 +391,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -424,6 +424,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm modelList.add(buildOpenInAppItem()); } @@ -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 -@@ -342,6 +342,10 @@ CHAR_LIMIT guidelines: +@@ -346,6 +346,10 @@ CHAR_LIMIT guidelines: Chrome Tips diff --git a/build/patches/Add-option-to-force-tablet-UI.patch b/build/patches/Add-option-to-force-tablet-UI.patch index 99dcdbae..13bb4962 100644 --- a/build/patches/Add-option-to-force-tablet-UI.patch +++ b/build/patches/Add-option-to-force-tablet-UI.patch @@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../chrome/browser/WarmupManager.java | 7 +++++-- .../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++ .../chrome/browser/app/ChromeActivity.java | 5 ++++- - .../overlays/strip/StripLayoutHelper.java | 10 ++++++++-- + .../overlays/strip/StripLayoutHelper.java | 1 + .../strip/StripLayoutHelperManager.java | 6 +++++- .../scene_layer/TabStripSceneLayer.java | 8 ++++++++ .../init/ChromeBrowserInitializer.java | 2 ++ @@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../accessibility/AccessibilitySettings.java | 13 +++++++++++++ .../AccessibilitySettingsDelegate.java | 2 ++ .../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++ - 33 files changed, 172 insertions(+), 24 deletions(-) + 33 files changed, 165 insertions(+), 22 deletions(-) diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml --- a/chrome/android/java/res/layout/custom_tabs_control_container.xml @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java -@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; +@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.content_public.browser.WebContents; import org.chromium.ui.LayoutInflaterUtils; @@ -125,7 +125,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.display.DisplayUtil; import org.chromium.url.GURL; -@@ -472,8 +473,10 @@ public class WarmupManager { +@@ -475,8 +476,10 @@ public class WarmupManager { ControlContainer controlContainer = mainView.findViewById(R.id.control_container); if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { @@ -170,7 +170,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 -@@ -841,7 +841,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -845,7 +845,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) { @@ -185,7 +185,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 -@@ -144,6 +144,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService; +@@ -147,6 +147,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; @@ -193,26 +193,10 @@ 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; -@@ -5335,8 +5336,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(); -- int verticalOffset = -- -(tabHeight - (int) mContext.getResources().getDimension(R.dimen.tab_strip_height)); -+ int tab_strip_height = -+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_cromite); -+ if (DeviceFormFactor.isForceTabletUI()) { -+ tab_strip_height = -+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_tabletui); -+ } -+ int verticalOffset = -(tabHeight - tab_strip_height); - mCloseButtonMenu.setVerticalOffset(verticalOffset); - - // 4. Set the horizontal offset to align the close button menu with the right side of the 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 -@@ -109,6 +109,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa +@@ -116,6 +116,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa import org.chromium.components.browser_ui.styles.SemanticColorUtils; import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; import org.chromium.content_public.browser.LoadUrlParams; @@ -220,7 +204,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.PageTransition; import org.chromium.ui.base.WindowAndroid; -@@ -548,7 +549,10 @@ public class StripLayoutHelperManager +@@ -576,7 +577,10 @@ public class StripLayoutHelperManager mIsHeaderCustomizationSupported = ToolbarFeatures.isAppHeaderCustomizationSupported( /* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext)); @@ -272,7 +256,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 -@@ -872,7 +872,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -893,7 +893,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @Override public int getControlContainerHeightResource() { @@ -295,7 +279,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; -@@ -2046,7 +2048,9 @@ public class RootUiCoordinator +@@ -2063,7 +2065,9 @@ public class RootUiCoordinator protected int getFindToolbarStub() { int stubId = R.id.find_toolbar_stub; @@ -320,7 +304,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 -@@ -402,6 +402,7 @@ public final class ChromePreferenceKeys { +@@ -417,6 +417,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"; @@ -390,7 +374,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 -@@ -1024,7 +1024,7 @@ public class LocationBarCoordinator +@@ -1036,7 +1036,7 @@ public class LocationBarCoordinator } private boolean isTabletWindow() { @@ -402,7 +386,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 -@@ -1519,6 +1519,13 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1592,6 +1592,13 @@ Your Google account may have other forms of browsing history like searches and a Privacy guide explanation closed @@ -533,7 +517,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/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java -@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp; +@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp; import org.chromium.components.feature_engagement.Tracker; import org.chromium.ui.base.ViewUtils; import org.chromium.ui.util.MotionEventUtils; @@ -541,7 +525,7 @@ 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; -@@ -600,7 +601,9 @@ public abstract class ToolbarLayout extends FrameLayout +@@ -591,7 +592,9 @@ public abstract class ToolbarLayout extends FrameLayout * @see Toolbar#getTabStripHeight() */ public int getTabStripHeightFromResource() { 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 45d26db7..691b7213 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 @@ -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 -@@ -57,6 +57,7 @@ import org.chromium.base.ApplicationStatus; +@@ -58,6 +58,7 @@ import org.chromium.base.ApplicationStatus; import org.chromium.base.Callback; import org.chromium.base.CallbackController; import org.chromium.base.CallbackUtils; @@ -37,7 +37,7 @@ 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; -@@ -2272,8 +2273,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -2291,8 +2292,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt ActivityRestoreState.NUM_ENTRIES); } @@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct 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 -@@ -9,6 +9,7 @@ import static org.chromium.components.content_settings.PrefNames.COOKIE_CONTROLS +@@ -10,6 +10,7 @@ import static org.chromium.ui.R.drawable.gshield_colorful; import android.content.Context; import android.content.Intent; @@ -60,15 +60,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.SpannableString; -@@ -22,6 +23,7 @@ import androidx.annotation.VisibleForTesting; - import androidx.preference.Preference; +@@ -24,6 +25,7 @@ import androidx.preference.Preference; + import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.Callback; +import org.chromium.base.ContextUtils; import org.chromium.base.IntentUtils; import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordUserAction; -@@ -117,6 +119,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -119,6 +121,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private final SharedPreferencesManager mSharedPreferencesManager = ChromeSharedPreferences.getInstance(); @@ -77,7 +77,7 @@ 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"; private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info"; -@@ -401,7 +405,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -403,7 +407,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)) { -@@ -461,6 +469,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -463,6 +471,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 -@@ -2905,6 +2905,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -2978,6 +2978,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 621edd8d..5b8bdefa 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 @@ -70,7 +70,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver; import org.chromium.chrome.browser.layouts.LayoutType; import org.chromium.chrome.browser.profiles.Profile; -@@ -426,10 +427,15 @@ public class TabGroupUiMediator implements BackPressHandler { +@@ -428,10 +429,15 @@ public class TabGroupUiMediator implements BackPressHandler { UrlConstantResolverFactory.getForProfile(currentTabProfile); Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1); @@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome 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 -@@ -415,6 +415,7 @@ public final class ChromePreferenceKeys { +@@ -430,6 +430,7 @@ public final class ChromePreferenceKeys { public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP"; public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; @@ -254,7 +254,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 -@@ -1360,6 +1360,9 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1422,6 +1422,9 @@ Your Google account may have other forms of browsing history like searches and a Last hour @@ -267,19 +267,19 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro 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 -@@ -123,6 +123,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -126,6 +126,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { pref_registration_flags); registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false, pref_registration_flags); + registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false, + PrefRegistry::NO_REGISTRATION_FLAGS); - registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0); + registry->RegisterInt64Pref(prefs::kDefaultBrowserInfobarLastDeclined, 0); registry->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); 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 -@@ -1344,6 +1344,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] = +@@ -1265,6 +1265,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] = // by enterprise policy. inline constexpr char kGeminiSettings[] = "browser.gemini_settings"; 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 98712cc8..4cf2b02e 100644 --- a/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch +++ b/build/patches/Add-setting-to-enable-Credman-for-passkeys.patch @@ -129,8 +129,8 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut +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; -@@ -166,8 +168,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon + import org.chromium.content_public.browser.Visibility; +@@ -167,8 +169,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon mIsPaymentRequest = options.isPaymentCredentialCreation; mRequestCallback = requestCallback; mRequestCallback.setCompletionCallback(this::cleanupRequest); @@ -140,7 +140,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut mRequestCallback.onComplete( WebauthnRequestResponse.forFailedMakeCredential( AuthenticatorStatus.NOT_IMPLEMENTED, -@@ -246,8 +247,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -254,8 +255,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon && DeviceFeatureMap.isEnabled( DeviceFeatureList .WEBAUTHN_AUTHENTICATOR_PASSWORDS_ONLY_IMMEDIATE_REQUESTS); @@ -150,7 +150,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut || (options.publicKey == null && !isPasswordOnlyFlux)) { RequestMetrics metrics = new RequestMetrics.Builder() -@@ -287,12 +287,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -300,12 +300,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 -@@ -366,22 +365,19 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon +@@ -379,22 +378,19 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon capabilities.add( createWebAuthnClientCapability( AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET, @@ -189,9 +189,9 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut - .WEBAUTHN_IMMEDIATE_GET) - && isUvpaa)); + false)); - boolean signalSupported = - isUvpaa - && DeviceFeatureMap.isEnabled( + capabilities.add( + createWebAuthnClientCapability( + AuthenticatorConstants 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 @@ -317,15 +317,15 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h 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 -@@ -136,6 +136,7 @@ BASE_FEATURE(kWebAuthnAndroidSignal, - "WebAuthenticationAndroidSignal", - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -124,6 +124,7 @@ BASE_FEATURE(kWebAuthnPublishPrelinkingInfo, + "WebAuthenticationPublishPrelinkingInfo", + base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) +SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGet); // Disabled by default. - BASE_FEATURE(kDigitalCredentialsHybridLinking, -@@ -184,6 +185,7 @@ BASE_FEATURE_PARAM(int, + BASE_FEATURE(kWebAuthnHelloSignal, +@@ -177,6 +178,7 @@ BASE_FEATURE_PARAM(int, BASE_FEATURE(kWebAuthnImmediateGetAutoselect, "WebAuthenticationImmediateGetAutoselect", base::FEATURE_ENABLED_BY_DEFAULT); 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 0266955d..2b19e983 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 -@@ -478,6 +478,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { +@@ -488,6 +488,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { } if (mParams.isAnchor()) { ModelList linkGroup = new ModelList(); @@ -138,19 +138,19 @@ 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 { - getProfile(), - false); - }); +@@ -1132,6 +1135,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator { + title = mParams.getLinkText(); + } + tabItemDelegate.onReadLater(mParams.getUrl(), title); + } else if (itemId == R.id.contextmenu_open_in_tab) { + mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer()); } else if (itemId == R.id.contextmenu_open_in_chrome) { recordContextMenuSelection(ContextMenuUma.Action.OPEN_IN_CHROME); - mItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl()); + tabItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl()); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java -@@ -414,6 +414,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -417,6 +417,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { mTab.loadUrl(loadUrlParams); } @@ -168,8 +168,8 @@ 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 -@@ -443,6 +443,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kTabFreezingUsesDiscard, +@@ -446,6 +446,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { + &kTabClosureMethodRefactor, &kTabModelInitFixes, &kTabStorageSqlitePrototype, + &blink::features::kShowAlwaysContextMenuOnLinks, @@ -179,16 +179,16 @@ 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 -@@ -514,6 +514,8 @@ public abstract class ChromeFeatureList { +@@ -526,6 +526,8 @@ public abstract class ChromeFeatureList { "DisableToolbarSwipeUp"; public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM = "MoveTopToolbarToBottom"; + public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS = + "ShowAlwaysContextMenuOnLinks"; - public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON = - "NewTabPageCustomizationToolbarButton"; + public static final String NEW_TAB_PAGE_CUSTOMIZATION_THEME_SYNC = + "NewTabPageCustomizationThemeSync"; public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2"; -@@ -1024,6 +1026,8 @@ public abstract class ChromeFeatureList { +@@ -1049,6 +1051,8 @@ public abstract class ChromeFeatureList { newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false); public static final CachedFlag sMoveTopToolbarToBottom = newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false); @@ -197,7 +197,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false); public static final CachedFlag sPersistAcrossReboots = newCachedFlag(PERSIST_ACROSS_REBOOTS, false); -@@ -1293,6 +1297,7 @@ public abstract class ChromeFeatureList { +@@ -1323,6 +1327,7 @@ public abstract class ChromeFeatureList { sTopControlsRefactorV2, sTouchToSearchCallout, sUnparcelIntentFileDescriptors, @@ -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 -@@ -1584,6 +1584,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1657,6 +1657,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 -@@ -3247,6 +3253,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -3320,6 +3326,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d Open in new Chrome tab @@ -297,7 +297,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java --- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java +++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java -@@ -10,6 +10,7 @@ import androidx.annotation.IntDef; +@@ -11,6 +11,7 @@ import androidx.annotation.IntDef; import org.chromium.build.annotations.NullMarked; import org.chromium.content_public.browser.WebContents; @@ -305,7 +305,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component import org.chromium.url.GURL; import java.lang.annotation.Retention; -@@ -150,6 +151,8 @@ public interface ContextMenuItemDelegate { +@@ -175,6 +176,8 @@ public interface ContextMenuItemDelegate { */ GURL getPageUrl(); @@ -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" -@@ -422,6 +423,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -429,6 +430,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; -@@ -502,6 +514,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink( +@@ -509,6 +521,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; -@@ -538,7 +559,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const { +@@ -545,7 +566,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(); -@@ -596,13 +617,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -603,13 +624,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( -@@ -612,7 +632,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { +@@ -619,7 +639,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) { frame->GetEventHandler().SetDelayedNavigationTaskHandle( std::move(task_handle)); } else { @@ -488,7 +488,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_ + bool HTMLImageElement::draggable() const { // Image elements are draggable by default. - return !EqualIgnoringASCIICase(FastGetAttribute(html_names::kDraggableAttr), + return !EqualIgnoringAsciiCase(FastGetAttribute(html_names::kDraggableAttr), diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h --- a/third_party/blink/renderer/core/html/html_image_element.h +++ b/third_party/blink/renderer/core/html/html_image_element.h @@ -552,7 +552,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t // Clear any previously set cached results if we are resetting the hit test // result. image_selection_cached_result_ = nullptr; -@@ -844,7 +857,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, +@@ -843,7 +856,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame, SetAutofillData(result.InnerNode(), data); diff --git a/build/patches/Add-site-engagement-flag.patch b/build/patches/Add-site-engagement-flag.patch index b42cd226..5a476696 100644 --- a/build/patches/Add-site-engagement-flag.patch +++ b/build/patches/Add-site-engagement-flag.patch @@ -26,10 +26,10 @@ 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 -@@ -165,6 +165,7 @@ +@@ -166,6 +166,7 @@ #include "components/sensitive_content/features.h" #include "components/services/heap_profiling/public/cpp/switches.h" - #include "components/services/storage/public/cpp/buckets/bucket_info.h" + #include "components/services/storage/dom_storage/features.h" +#include "components/site_engagement/core/features.h" #include "components/shared_highlighting/core/common/shared_highlighting_features.h" #include "components/sharing_message/features.h" diff --git a/build/patches/Add-support-for-ISupportHelpAndFeedback.patch b/build/patches/Add-support-for-ISupportHelpAndFeedback.patch index f2b10d59..0a695084 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 -@@ -1018,8 +1018,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -1056,8 +1056,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 92339b4b..247695b0 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 -@@ -139,6 +139,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env, +@@ -140,6 +140,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector( Time::FromMillisecondsSinceUnixEpoch(last_modified)); } diff --git a/build/patches/Allow-building-without-enable_reporting.patch b/build/patches/Allow-building-without-enable_reporting.patch index 63e8174b..85781d2c 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 -@@ -1608,6 +1608,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { +@@ -1628,6 +1628,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( -@@ -1621,6 +1622,7 @@ std::vector ComputeReportingURLs(RenderFrameHostImpl* frame_host) { +@@ -1641,6 +1642,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 -@@ -16557,12 +16557,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( +@@ -16685,12 +16685,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( } } } @@ -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 -@@ -1890,7 +1890,6 @@ mojom("mojom") { +@@ -1894,7 +1894,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 -@@ -1229,6 +1229,7 @@ interface NetworkContext { +@@ -1247,6 +1247,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, -@@ -1236,6 +1237,7 @@ interface NetworkContext { +@@ -1254,6 +1255,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, -@@ -1246,6 +1248,7 @@ interface NetworkContext { +@@ -1264,6 +1266,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`. @@ -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" -@@ -2889,9 +2890,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() { +@@ -2890,9 +2891,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" -@@ -671,7 +672,9 @@ class CORE_EXPORT LocalFrame final +@@ -677,7 +678,9 @@ class CORE_EXPORT LocalFrame final return client_hints_preferences_; } diff --git a/build/patches/Allow-building-without-supervised-users.patch b/build/patches/Allow-building-without-supervised-users.patch index adce842b..04c0efd3 100644 --- a/build/patches/Allow-building-without-supervised-users.patch +++ b/build/patches/Allow-building-without-supervised-users.patch @@ -25,7 +25,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 -@@ -823,7 +823,6 @@ if (_is_default_toolchain) { +@@ -833,7 +833,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", @@ -36,7 +36,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java --- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java -@@ -95,7 +95,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector profile, -@@ -2062,9 +2058,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { +@@ -2077,9 +2073,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) { init_params.icon_index = profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex); @@ -165,7 +165,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 -@@ -620,10 +620,6 @@ bool ManagementUIHandler::managed() const { +@@ -621,10 +621,6 @@ bool ManagementUIHandler::managed() const { void ManagementUIHandler::RegisterPrefChange( PrefChangeRegistrar& pref_registrar) { diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch index ff931da1..aac8fbde 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 -@@ -1296,6 +1296,12 @@ bool WebMediaPlayerImpl::HasAudio() const { +@@ -1342,6 +1342,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()); -@@ -3658,7 +3664,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { +@@ -3740,7 +3746,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured(); // Audio only stream is allowed to play when in background. @@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h --- a/third_party/blink/renderer/platform/media/web_media_player_impl.h +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h -@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl +@@ -213,6 +213,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl bool HasVideo() const override; bool HasAudio() const override; diff --git a/build/patches/Always-open-browser-controls-in-new-tab.patch b/build/patches/Always-open-browser-controls-in-new-tab.patch index a0094c90..5469deb9 100644 --- a/build/patches/Always-open-browser-controls-in-new-tab.patch +++ b/build/patches/Always-open-browser-controls-in-new-tab.patch @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.DefaultBrowserInfo; import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpenerImpl; -@@ -45,6 +46,7 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -46,6 +47,7 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory; import org.chromium.chrome.browser.printing.TabPrinter; import org.chromium.chrome.browser.profiles.Profile; @@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; -@@ -348,6 +350,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -351,6 +353,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { @Nullable Referrer referrer, boolean navigateToTab, @Nullable AdditionalNavigationParams additionalNavigationParams) { @@ -34,7 +34,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM RecordUserAction.record("MobileNewTabOpened"); RecordUserAction.record("LinkOpenedInNewTab"); LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec()); -@@ -368,6 +371,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { +@@ -371,6 +374,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate { * @param url The URL to open. */ public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) { 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 e96a98f3..89246e79 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 @@ -68,7 +68,7 @@ diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/b diff --git a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java --- a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java +++ b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java -@@ -96,6 +96,7 @@ public class TemplateUrl { +@@ -109,6 +109,7 @@ public class TemplateUrl { * prepopulated_engines.json. */ public String getNewTabURL() { @@ -79,7 +79,7 @@ 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 -@@ -412,6 +412,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( +@@ -414,6 +414,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( jimage_translate_source_language_param_key, const base::android::JavaRef& jimage_translate_target_language_param_key) { diff --git a/build/patches/Android-Pixel-Perfect-Mode.patch b/build/patches/Android-Pixel-Perfect-Mode.patch index a346f805..b61b95a9 100644 --- a/build/patches/Android-Pixel-Perfect-Mode.patch +++ b/build/patches/Android-Pixel-Perfect-Mode.patch @@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../render_widget_host_input_event_router.cc | 5 +- .../input/render_widget_host_view_input.cc | 3 ++ components/input/render_widget_targeter.cc | 4 +- - .../thin_webview/internal/thin_webview.cc | 2 +- + .../thin_webview/internal/thin_webview.cc | 3 +- components/viz/service/input/input_manager.cc | 2 +- .../render_input_router_support_android.cc | 2 +- ...render_input_router_support_child_frame.cc | 2 +- @@ -107,7 +107,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html ui/display/mojom/screen_info_mojom_traits.h | 4 ++ ui/display/screen_info.h | 1 + ui/events/blink/blink_event_util.cc | 2 +- - 97 files changed, 530 insertions(+), 138 deletions(-) + 97 files changed, 531 insertions(+), 138 deletions(-) create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Pixel-perfect-mode.grdp create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Pixel-perfect-mode.inc @@ -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 -@@ -1004,7 +1004,7 @@ void AwContents::OnSizeChanged(JNIEnv* env, int w, int h, int ow, int oh) { +@@ -1008,7 +1008,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 -@@ -737,7 +737,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt( +@@ -747,7 +747,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 -@@ -1355,7 +1355,7 @@ void VizLayerContext::SetVisible(bool visible) { +@@ -1356,7 +1356,7 @@ void VizLayerContext::SetVisible(bool visible) { service_->SetVisible(visible); } @@ -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 -@@ -1416,7 +1416,7 @@ void LayerTreeHost::SetEventListenerProperties( +@@ -1429,7 +1429,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) { -@@ -1527,9 +1527,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) { +@@ -1540,9 +1540,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); -@@ -1545,6 +1547,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor, +@@ -1558,6 +1560,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; @@ -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 -@@ -2877,7 +2877,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() { +@@ -2695,7 +2695,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, -@@ -3038,7 +3038,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { +@@ -2856,7 +2856,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { return metadata; } @@ -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 -@@ -1765,7 +1765,7 @@ void ScrollTree::clear() { +@@ -1773,7 +1773,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); -@@ -2318,7 +2318,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, +@@ -2326,7 +2326,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node, return old_offset + scroll - new_offset; } @@ -487,7 +487,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java -@@ -302,7 +302,7 @@ public class WarmupManager { +@@ -303,7 +303,7 @@ public class WarmupManager { int height = bounds.bottom - bounds.top; webContents = tab.getWebContents(); assumeNonNull(webContents); @@ -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; +@@ -43,6 +43,9 @@ import androidx.annotation.CallSuper; 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; -@@ -553,7 +556,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -556,7 +559,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity // Ensure that mConfig is initialized before tablet mode changes. mConfig = getResources().getConfiguration(); @@ -539,21 +539,21 @@ 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 -@@ -1005,7 +1005,7 @@ public class CompositorViewHolder extends FrameLayout - int viewportInsets = controlsInsets + keyboardInset; +@@ -1049,7 +1049,7 @@ public class CompositorViewHolder extends FrameLayout + int verticalViewportInsets = controlsInsets + keyboardInset; if (isAttachedToWindow(view)) { -- webContents.setSize(width, height - viewportInsets); -+ webContents.setSize(width, height - viewportInsets, viewportInsets); +- webContents.setSize(width - horizontalViewportInsets, height - verticalViewportInsets); ++ webContents.setSize(width - horizontalViewportInsets, height - viewportInsets, verticalViewportInsets); // Dispatch the geometrychange JavaScript event to the page. // TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer -@@ -1025,7 +1025,7 @@ public class CompositorViewHolder extends FrameLayout - MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), - MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); +@@ -1071,7 +1071,7 @@ public class CompositorViewHolder extends FrameLayout view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); -- webContents.setSize(view.getWidth(), view.getHeight() - viewportInsets); -+ webContents.setSize(view.getWidth(), view.getHeight() - viewportInsets, viewportInsets); + webContents.setSize( + view.getWidth() - horizontalViewportInsets, +- view.getHeight() - verticalViewportInsets); ++ view.getHeight() - viewportInsets, verticalViewportInsets); requestRender(); } } @@ -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 -@@ -2490,7 +2490,7 @@ class TabImpl implements Tab { +@@ -2429,7 +2429,7 @@ class TabImpl implements Tab { View compositorView = assumeNonNull(getActivity()).getCompositorViewHolderSupplier().get(); assumeNonNull(compositorView); @@ -629,7 +629,7 @@ diff --git a/chrome/browser/android/bottombar/overlay_panel_content.cc b/chrome/ diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/browser/android/compositor/tab_content_manager.cc --- a/chrome/browser/android/compositor/tab_content_manager.cc +++ b/chrome/browser/android/compositor/tab_content_manager.cc -@@ -26,6 +26,7 @@ +@@ -28,6 +28,7 @@ #include "chrome/browser/android/tab_android.h" #include "chrome/browser/thumbnail/cc/thumbnail.h" #include "components/viz/common/frame_sinks/copy_output_result.h" @@ -637,8 +637,8 @@ 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" -@@ -74,7 +75,10 @@ class TabContentManager::TabReadbackRequest { - std::move(result_callback).Run(viz::CopyOutputBitmapWithMetadata()); +@@ -129,7 +130,10 @@ class TabContentManager::TabReadbackRequest : public RetryableTask { + std::move(result_callback).Run(content::CopyFromSurfaceResult()); return; } - gfx::Rect source_rect = gfx::Rect(view_size_in_pixels); @@ -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, base::TimeDelta(), + rwhv->CopyFromSurface(source_rect, thumbnail_size, kTabReadbackTimeout, 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,15 +836,16 @@ 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 -@@ -104,7 +104,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) { - return; +@@ -131,7 +131,8 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) { - web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size); -- web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height()); -+ web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height(), size.width(), size.height()); - } + web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(viewport_size); + web_contents_->GetNativeView()->OnSizeChanged(viewport_size.width(), +- viewport_size.height()); ++ viewport_size.height(), ++ viewport_size.width(), viewport_size.height()); - } // namespace android + // Position the WebContents layer to account for top/left insets. + // Content is drawn at (0,0) in its own layer space, so we move the layer. diff --git a/components/viz/service/input/input_manager.cc b/components/viz/service/input/input_manager.cc --- a/components/viz/service/input/input_manager.cc +++ b/components/viz/service/input/input_manager.cc @@ -884,7 +885,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 -@@ -1955,7 +1955,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( +@@ -1957,7 +1957,7 @@ base::expected LayerContextImpl::DoUpdateDisplayTree( return base::unexpected("Invalid page scale factors"); } layers.SetPageScaleFactorAndLimitsForDisplayTree( @@ -896,7 +897,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 -@@ -189,7 +189,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( +@@ -191,7 +191,7 @@ void SelectionPopupController::MoveRangeSelectionExtent( web_contents_impl->MoveRangeSelectionExtent(gfx::ToRoundedPoint(extent)); } @@ -905,7 +906,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()); -@@ -321,7 +321,8 @@ bool SelectionPopupController::ShowSelectionMenu( +@@ -327,7 +327,8 @@ bool SelectionPopupController::ShowSelectionMenu( can_select_all, can_edit_richly, should_suggest, static_cast(params.source_type), render_frame_host->GetJavaRenderFrameHost(), @@ -985,7 +986,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 -@@ -9439,7 +9439,7 @@ void RenderFrameHostImpl::ShowPopupMenu( +@@ -9547,7 +9547,7 @@ void RenderFrameHostImpl::ShowPopupMenu( #endif } @@ -1191,7 +1192,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 -@@ -821,8 +821,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { +@@ -826,8 +826,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) { return Java_WebContentsImpl_createSize(env, size.width(), size.height()); } @@ -1208,7 +1209,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 -@@ -187,7 +187,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -188,7 +188,7 @@ class CONTENT_EXPORT WebContentsAndroid { base::android::ScopedJavaLocalRef GetFullscreenVideoSize( JNIEnv* env); @@ -1220,7 +1221,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 -@@ -535,7 +535,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( +@@ -507,7 +507,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 +1237,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 -@@ -531,7 +531,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -532,7 +532,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper boolean shouldSuggest, int sourceType, RenderFrameHost renderFrameHost, @@ -1246,7 +1247,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select mMenuModelBridge = menuModelBridge; RecordHistogram.recordEnumeratedHistogram( "Android.ShowSelectionMenuSourceType", sourceType, MenuSourceType.MAX_VALUE); -@@ -541,6 +542,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper +@@ -542,6 +543,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper mXDip = xDip; mYDip = yDip; mSelectionRect.set(left, top, right, offsetBottom); @@ -1258,7 +1259,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/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java -@@ -988,9 +988,9 @@ public class WebContentsImpl +@@ -1015,9 +1015,9 @@ public class WebContentsImpl } @Override @@ -1270,7 +1271,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon } @Override -@@ -1477,7 +1477,7 @@ public class WebContentsImpl +@@ -1508,7 +1508,7 @@ public class WebContentsImpl Rect getFullscreenVideoSize(long nativeWebContentsAndroid); @@ -1294,7 +1295,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 -@@ -18,6 +18,10 @@ +@@ -22,6 +22,10 @@ namespace features { @@ -1344,7 +1345,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 -@@ -82,6 +82,7 @@ struct LayerTreeUpdate { +@@ -83,6 +83,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 +1471,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 -@@ -1267,8 +1267,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( +@@ -1256,8 +1256,19 @@ void WebViewImpl::UpdateICBAndResizeViewport( if (GetBrowserControls().PermittedState() == cc::BrowserControlsState::kBoth && !GetBrowserControls().ShrinkViewport()) { @@ -1492,7 +1493,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } GetPageScaleConstraintsSet().DidChangeInitialContainingBlockSize(icb_size); -@@ -1348,7 +1359,8 @@ void WebViewImpl::DidUpdateBrowserControls() { +@@ -1337,7 +1348,8 @@ void WebViewImpl::DidUpdateBrowserControls() { ResizeViewportAnchor::ResizeScope resize_scope(*resize_viewport_anchor_); visual_viewport.SetBrowserControlsAdjustment( @@ -1502,7 +1503,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -1412,7 +1424,7 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1401,7 +1413,7 @@ void WebViewImpl::ResizeWithBrowserControls( float bottom_controls_height, bool browser_controls_shrink_layout) { ResizeWithBrowserControls( @@ -1511,7 +1512,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(), -@@ -1422,6 +1434,8 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1411,6 +1423,8 @@ void WebViewImpl::ResizeWithBrowserControls( void WebViewImpl::ResizeWithBrowserControls( const gfx::Size& main_frame_widget_size, const gfx::Size& visible_viewport_size, @@ -1520,7 +1521,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 -@@ -1430,6 +1444,11 @@ void WebViewImpl::ResizeWithBrowserControls( +@@ -1419,6 +1433,11 @@ void WebViewImpl::ResizeWithBrowserControls( return; } @@ -1532,7 +1533,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) -@@ -2114,7 +2133,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { +@@ -2107,7 +2126,7 @@ void WebViewImpl::DidAttachLocalMainFrame() { web_preferences_.prefers_reduced_motion); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1541,7 +1542,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_ = -@@ -2961,7 +2980,7 @@ void WebViewImpl::RefreshPageScaleFactor() { +@@ -2954,7 +2973,7 @@ void WebViewImpl::RefreshPageScaleFactor() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1550,7 +1551,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -3040,7 +3059,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( +@@ -3034,7 +3053,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints( TextAutosizer::UpdatePageInfoInAllFrames(GetPage()->MainFrame()); } @@ -1559,7 +1560,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p if (should_auto_resize_ || !MainFrameImpl()) return; -@@ -3368,6 +3387,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { +@@ -3395,6 +3414,10 @@ float WebViewImpl::MinimumPageScaleFactor() const { return GetPageScaleConstraintsSet().FinalConstraints().minimum_scale; } @@ -1570,7 +1571,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; } -@@ -3418,7 +3441,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { +@@ -3445,7 +3468,7 @@ void WebViewImpl::SendResizeEventForMainFrame() { auto& viewport = GetPage()->GetVisualViewport(); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1579,7 +1580,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p } } -@@ -3963,7 +3986,7 @@ void WebViewImpl::PageScaleFactorChanged() { +@@ -3996,7 +4019,7 @@ void WebViewImpl::PageScaleFactorChanged() { DCHECK(viewport.IsActiveViewport()); MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits( viewport.Scale(), viewport.IsPinchGestureActive(), @@ -1591,7 +1592,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/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h --- a/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h -@@ -168,6 +168,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -169,6 +169,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, void AdvanceFocus(bool reverse) override; float PageScaleFactor() const override; float MinimumPageScaleFactor() const override; @@ -1599,7 +1600,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa float MaximumPageScaleFactor() const override; void SetDefaultPageScaleLimits(float min_scale, float max_scale) override; void SetInitialPageScaleOverride(float) override; -@@ -281,6 +282,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -282,6 +283,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // includes all browser controls params such as the min heights. void ResizeWithBrowserControls(const gfx::Size& main_frame_widget_size, const gfx::Size& visible_viewport_size, @@ -1608,7 +1609,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. -@@ -841,6 +844,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -844,6 +847,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, // The upper bound on the size when auto-resizing. gfx::Size max_auto_size_; @@ -1620,7 +1621,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 -@@ -1805,8 +1805,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { +@@ -1871,8 +1871,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) { } float LocalFrameView::InputEventsScaleFactor() const { @@ -1698,7 +1699,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); -@@ -869,10 +901,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset, +@@ -901,10 +933,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset, return clamped; } @@ -1761,7 +1762,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 -@@ -1886,6 +1886,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1885,6 +1885,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 +1772,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 -@@ -1893,7 +1896,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1892,7 +1895,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 +1781,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); -@@ -1906,7 +1909,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties( +@@ -1905,7 +1908,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 +1790,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th /*is_pinch_gesture_active=*/false); } -@@ -1950,6 +1953,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1949,6 +1952,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( new_compositor_viewport_pixel_rect, device_scale_factor_for_testing_ / non_testing_device_scale_factor_); } @@ -1808,7 +1809,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th if (ForMainFrame()) { if (size_ != new_size) { -@@ -1967,6 +1982,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1966,6 +1981,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( size_.value(), widget_base_->DIPsToCeiledBlinkSpace( widget_base_->VisibleViewportSize()), @@ -1817,7 +1818,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); return; } -@@ -2000,6 +2017,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1999,6 +2016,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( View()->ResizeWithBrowserControls( size_.value(), widget_base_->VisibleViewportSize(), @@ -1826,7 +1827,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th visual_properties.browser_controls_params); } -@@ -2384,6 +2403,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, +@@ -2383,6 +2402,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level, View()->ZoomFactorForViewportLayout() * static_cast(View()->ZoomLevelToZoomFactor(zoom_level)) * static_cast(css_zoom_factor); @@ -1835,7 +1836,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()) { -@@ -3439,6 +3460,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr layer) { +@@ -3438,6 +3459,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 +1844,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th View()->MaximumPageScaleFactor()); } -@@ -4824,9 +4846,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( +@@ -4870,9 +4892,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits( float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1855,7 +1856,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()) { -@@ -4950,7 +4973,10 @@ void WebFrameWidgetImpl::OrientationChanged() { +@@ -4996,7 +5019,10 @@ void WebFrameWidgetImpl::OrientationChanged() { void WebFrameWidgetImpl::DidUpdateSurfaceAndScreen( const display::ScreenInfos& previous_original_screen_infos) { display::ScreenInfo screen_info = widget_base_->GetScreenInfo(); @@ -1867,7 +1868,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 -@@ -5160,7 +5186,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { +@@ -5206,7 +5232,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) { if (!device_scale_factor_for_testing_) { non_testing_device_scale_factor_ = @@ -1879,7 +1880,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 -@@ -661,6 +661,7 @@ class CORE_EXPORT WebFrameWidgetImpl +@@ -662,6 +662,7 @@ class CORE_EXPORT WebFrameWidgetImpl void SetPageScaleStateAndLimits(float page_scale_factor, bool is_pinch_gesture_active, float minimum, @@ -1890,7 +1891,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/thi diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc -@@ -2564,7 +2564,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) { +@@ -2577,7 +2577,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) { dev_tools_agent_->PaintOverlays(context); } @@ -1899,7 +1900,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi TRACE_EVENT0("blink", "WebLocalFrameImpl::createFrameView"); DCHECK(GetFrame()); // If frame() doesn't exist, we probably didn't init -@@ -3046,7 +3046,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal( +@@ -3068,7 +3068,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal( std::move(context_menu_client), params); } @@ -1911,7 +1912,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc --- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc +++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc -@@ -1523,6 +1523,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr&& image, +@@ -1517,6 +1517,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr&& image, } bool HTMLCanvasElement::ShouldAccelerate() const { @@ -1922,7 +1923,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 -@@ -2138,7 +2138,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( +@@ -2149,7 +2149,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent( hit_test_result); } @@ -1934,7 +1935,7 @@ diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_part diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc --- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc +++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc -@@ -1075,7 +1075,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride( +@@ -1090,7 +1090,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride( // Ensure the override is applied immediately without having to wait for // `WebFrameWidgetImpl::UpdateVisualProperties()` to be called. GetWebViewImpl()->ResizeWithBrowserControls( @@ -1947,7 +1948,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 -@@ -1290,6 +1290,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { +@@ -1301,6 +1301,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) { || disable_screen_emulated_) { isEnabled = false; } @@ -1961,14 +1962,14 @@ 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/viewport_description.cc b/third_party/blink/renderer/core/page/viewport_description.cc --- a/third_party/blink/renderer/core/page/viewport_description.cc +++ b/third_party/blink/renderer/core/page/viewport_description.cc -@@ -87,7 +87,7 @@ float ViewportDescription::ResolveViewportLength( +@@ -80,7 +80,7 @@ float ViewportDescription::ResolveViewportLength( NOTREACHED(); } -PageScaleConstraints ViewportDescription::Resolve( +PageScaleConstraints ViewportDescription::Resolve( // POI const gfx::SizeF& initial_viewport_size, - const Length& legacy_fallback_width) const { + const ViewportLength& legacy_fallback_width) const { float result_width = kValueAuto; 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 @@ -1996,7 +1997,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 -@@ -6443,5 +6443,9 @@ +@@ -6675,5 +6675,9 @@ // crbug.com/435623334. name: "XSLTSpecialTrial", }, @@ -2077,8 +2078,8 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox } @@ -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 + // TODO(crbug.com/40106459): Pass in the modifier instead of a bool + // once the refactor is done. For details, see // crbug.com/1016955. - HandlePointerDown(event_with_callback, mouse_event.PositionInWidget()); + HandlePointerDown(event_with_callback, ScalePoint(mouse_event.PositionInWidget())); @@ -2126,7 +2127,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox const cc::ElementId targeted_element = input_handler_->FindFrameElementIdAtPoint(point); -@@ -1121,7 +1139,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( +@@ -1124,7 +1142,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel( } } @@ -2135,7 +2136,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; -@@ -1318,7 +1336,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( +@@ -1319,7 +1337,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( scroll_data->set_unused_delta_y(scroll_result.unused_scroll_delta.y()); }); @@ -2144,7 +2145,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox gesture_event.SourceDevice()); if (elastic_overscroll_controller_) { -@@ -1411,8 +1429,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( +@@ -1412,8 +1430,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent( } cc::TouchAction touch_action = cc::TouchAction::kAuto; @@ -2155,7 +2156,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. -@@ -1527,7 +1545,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( +@@ -1528,7 +1546,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart( touch_event.touches_length == 1) { DCHECK(touch_event.touches[0].state == WebTouchPoint::State::kStatePressed); cc::InputHandlerPointerResult pointer_result = HandlePointerDown( @@ -2164,7 +2165,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; -@@ -1590,7 +1608,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( +@@ -1591,7 +1609,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove( touch_event.touch_start_or_first_touch_move); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerMove( @@ -2173,7 +2174,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; -@@ -1633,7 +1651,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( +@@ -1634,7 +1652,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd( touch_event.touches_length); if (touch_event.touches_length == 1) { cc::InputHandlerPointerResult pointer_result = HandlePointerUp( @@ -2185,7 +2186,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 -@@ -1683,7 +1683,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) { +@@ -1687,7 +1687,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) { client_->ScheduleAnimation(/*urgent=*/urgent_for_input); } @@ -2196,7 +2197,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p return client_->GetOriginalScreenInfos().current().device_scale_factor; } -@@ -1717,7 +1719,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo( +@@ -1721,7 +1723,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, @@ -2205,7 +2206,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. -@@ -1847,56 +1849,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) { +@@ -1851,56 +1853,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? @@ -2275,7 +2276,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 -@@ -406,7 +406,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget, +@@ -407,7 +407,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget, void OnDevToolsSessionConnectionChanged(bool attached); // Helper to get the non-emulated device scale factor. @@ -2299,7 +2300,7 @@ diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_f 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 @@ bool EventForwarder::OnTouchEvent(JNIEnv* env, +@@ -144,7 +144,7 @@ bool EventForwarder::OnTouchEvent(JNIEnv* env, JNI_MotionEvent::Java_MotionEvent_getDownTime(env, motion_event)); auto event = ui::MotionEventAndroidFactory::CreateFromJava( env, /*event=*/motion_event, @@ -2308,7 +2309,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, -@@ -191,7 +191,7 @@ void EventForwarder::OnMouseEvent( +@@ -198,7 +198,7 @@ void EventForwarder::OnMouseEvent( /*tool_type=*/android_tool_type); auto event = ui::MotionEventAndroidFactory::CreateFromJava( env, /*event=*/motion_event, @@ -2317,7 +2318,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, -@@ -225,7 +225,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env, +@@ -232,7 +232,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env, const JavaRef& j_text, const JavaRef& j_html, const JavaRef& j_url) { @@ -2326,7 +2327,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc 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 @@ bool EventForwarder::OnGestureEvent(JNIEnv* env, +@@ -247,7 +247,7 @@ bool EventForwarder::OnGestureEvent(JNIEnv* env, int32_t type, int64_t time_ms, float scale) { @@ -2335,7 +2336,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc auto size = view_->GetSizeDIPs(); float x = size.width() / 2; float y = size.height() / 2; -@@ -270,7 +270,7 @@ bool EventForwarder::OnGenericMotionEvent(JNIEnv* env, +@@ -277,7 +277,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, @@ -2344,7 +2345,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, -@@ -353,7 +353,7 @@ void EventForwarder::DoubleTap(JNIEnv* env, +@@ -360,7 +360,7 @@ void EventForwarder::DoubleTap(JNIEnv* env, int64_t time_ms, int32_t x, int32_t y) { @@ -2353,7 +2354,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, -@@ -372,7 +372,7 @@ void EventForwarder::StartFling(JNIEnv* env, +@@ -379,7 +379,7 @@ void EventForwarder::StartFling(JNIEnv* env, if (velocity_x == 0 && velocity_y == 0) return; @@ -2419,7 +2420,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc ScopedJavaLocalRef ViewAndroid::GetEventForwarder() { if (!event_forwarder_) { DCHECK(!RootPathHasEventForwarder(parent_)) -@@ -152,7 +156,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) { +@@ -153,7 +157,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) { // spurious events with empty size from being sent down. if (child->match_parent() && !bounds_device_px_.IsEmpty() && child->GetSizeDevicePx() != bounds_device_px_.size()) { @@ -2428,7 +2429,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc child->DispatchOnSizeChanged(); } -@@ -501,7 +505,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up, +@@ -502,7 +506,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up, env, delegate, direction_up, current_scroll_ratio); } @@ -2437,7 +2438,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc // Match-parent view must not receive size events. DCHECK(!match_parent()); -@@ -511,13 +515,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) { +@@ -512,13 +516,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) { return; } @@ -2455,7 +2456,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc if (bounds_device_px_.size() == size_device_px) { return; } -@@ -525,12 +531,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) { +@@ -526,12 +532,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) { bounds_device_px_.set_size(size_device_px); float scale = GetDipScale(); @@ -2474,7 +2475,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc } } -@@ -591,6 +600,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const { +@@ -592,6 +601,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const { return bounds_device_px_.size(); } diff --git a/build/patches/Android-fonts-fingerprinting-mitigation.patch b/build/patches/Android-fonts-fingerprinting-mitigation.patch index f31bb3e6..b470a3ba 100644 --- a/build/patches/Android-fonts-fingerprinting-mitigation.patch +++ b/build/patches/Android-fonts-fingerprinting-mitigation.patch @@ -43,12 +43,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../skia/src/ports/SkFontConfigInterface.cpp | 5 + .../ports/SkFontConfigInterface_direct.cpp | 5 + .../src/ports/SkFontConfigInterface_direct.h | 1 + - .../skia/src/ports/SkFontMgr_android.cpp | 282 ++- + .../skia/src/ports/SkFontMgr_android.cpp | 284 ++- .../skia/src/ports/SkFontMgr_android_data.cpp | 1641 +++++++++++++++++ .../skia/src/ports/SkFontMgr_android_ndk.cpp | 2 +- .../src/ports/SkFontMgr_android_parser.cpp | 66 +- .../skia/src/ports/SkFontMgr_android_parser.h | 5 +- - 42 files changed, 2447 insertions(+), 86 deletions(-) + 42 files changed, 2448 insertions(+), 87 deletions(-) create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h @@ -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 -@@ -970,6 +970,9 @@ public final class ProductionSupportedFlagList { +@@ -996,6 +996,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."), @@ -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 -@@ -8000,6 +8000,13 @@ static_library("browser") { +@@ -7871,6 +7871,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 -@@ -101,6 +101,11 @@ +@@ -100,6 +100,11 @@ #include "chrome/browser/component_updater/file_type_policies_component_installer.h" #endif @@ -151,7 +151,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c namespace component_updater { namespace { -@@ -134,6 +139,11 @@ void DeleteOldComponents(const base::FilePath& user_data_dir) { +@@ -133,6 +138,11 @@ void DeleteOldComponents(const base::FilePath& user_data_dir) { void RegisterComponentsForUpdate() { auto* const cus = g_browser_process->component_updater(); @@ -190,7 +190,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre // If a font name in prefs default values starts with a comma, consider it's a // comma-separated font list and resolve it to the first available font. #define PREFS_FONT_LIST 1 -@@ -442,9 +441,9 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -447,9 +446,9 @@ void PrefsTabHelper::RegisterProfilePrefs( value = gfx::FontList::FirstAvailableOrFirst(value); } #else // !PREFS_FONT_LIST @@ -670,7 +670,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 -@@ -2611,6 +2611,17 @@ source_set("browser") { +@@ -2637,6 +2637,17 @@ source_set("browser") { ] } @@ -688,7 +688,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" ] -@@ -2657,6 +2668,13 @@ source_set("browser") { +@@ -2683,6 +2694,13 @@ source_set("browser") { deps += [ "//components/services/font_data:lib" ] } @@ -705,9 +705,9 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc --- a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc +++ b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc -@@ -52,6 +52,11 @@ - #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" - #endif +@@ -56,6 +56,11 @@ + #include "content/browser/renderer_host/p2p/socket_dispatcher_host.h" + #endif // BUILDFLAG(IS_P2P_ENABLED) +#if BUILDFLAG(IS_ANDROID) +#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck @@ -717,7 +717,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck #include "content/browser/font_service.h" // nogncheck -@@ -352,6 +357,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver( +@@ -356,6 +361,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver( } #endif @@ -734,7 +734,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn --- a/content/child/BUILD.gn +++ b/content/child/BUILD.gn -@@ -139,6 +139,13 @@ target(link_target_type, "child") { +@@ -137,6 +137,13 @@ target(link_target_type, "child") { ] } @@ -850,11 +850,11 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer +#endif #endif - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc --- a/content/renderer/renderer_main.cc +++ b/content/renderer/renderer_main.cc -@@ -200,8 +200,6 @@ int RendererMain(MainFunctionParams parameters) { +@@ -184,8 +184,6 @@ int RendererMain(MainFunctionParams parameters) { // On Linux, Windows, and ChromeOS, the font manager is overridden or // specially handled in RendererBlinkPlatformImpl(). On other platforms, // initialise the default one on a thread pool, to avoid blocking on it later. @@ -905,7 +905,7 @@ new file mode 100644 diff --git a/skia/BUILD.gn b/skia/BUILD.gn --- a/skia/BUILD.gn +++ b/skia/BUILD.gn -@@ -446,6 +446,18 @@ component("skia") { +@@ -444,6 +444,18 @@ component("skia") { sources += skia_ports_fci_sources } @@ -1374,28 +1374,26 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia } this->buildNameToFamilyMap(families, custom ? custom->fIsolated : false); this->findDefaultStyleSet(); -@@ -309,12 +452,12 @@ protected: +@@ -309,33 +452,53 @@ protected: } - enum class NameType { Self, Fallback }; + using Matcher = bool (*)(const SkString& familyName, const NameToFamily&); - static sk_sp find_family_style_character( + sk_sp find_family_style_character( const SkString& familyName, const TArray& nameToFamilyMap, - NameType nameType, const SkFontStyle& style, bool elegant, -- const SkString& langTag, SkUnichar character) -+ const SkString& langTag, SkUnichar character) const + const SkString& langTag, SkUnichar character, +- Matcher matcher) ++ Matcher matcher) const { for (auto&& nameToFamily : nameToFamilyMap) { - SkFontStyleSet_Android* family = nameToFamily.styleSet; -@@ -325,22 +468,42 @@ protected: - continue; - } + if (!matcher(familyName, nameToFamily)) { + continue; } -- sk_sp face(family->matchAStyle(style)); +- sk_sp face(nameToFamily.styleSet->matchAStyle(style)); + if (custom_) { -+ sk_sp face(family->matchCromiteStyle(style)); ++ sk_sp face(nameToFamily.styleSet->matchCromiteStyle(style)); + + if (!langTag.isEmpty() && + std::none_of(face->fLang.begin(), face->fLang.end(), [&](const SkLanguage& lang){ @@ -1432,29 +1430,32 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia + { + continue; + } - -- if (face->unicharToGlyph(character) != 0) { -- return face; ++ + if (SkToBool(face->fVariantStyle & kElegant_FontVariant) != elegant) { + continue; + } -+ + +- if (face->unicharToGlyph(character) != 0) { +- return face; + if (face->unicharToGlyph(character) != 0) { + return face; + } } } return nullptr; -@@ -355,7 +518,7 @@ protected: - // The variant 'default' means 'compact and elegant'. - // As a result, it is not possible to know the variant context from the font alone. - // TODO: add 'is_elegant' and 'is_compact' bits to 'style' request. -- sk_sp matchingTypeface; -+ sk_sp matchingTypeface; - SkString familyNameString(familyName); - for (const SkString& currentFamilyName : { familyNameString, SkString() }) { - // The first time match anything elegant, second time anything not elegant. -@@ -435,6 +598,7 @@ protected: +@@ -360,9 +523,9 @@ protected: + + auto find = [this, &style, &character](const SkString& familyName, + const SkString& lang, +- bool elegant) -> sk_sp ++ bool elegant) -> sk_sp + { +- sk_sp matchingTypeface; ++ sk_sp matchingTypeface; + if (!familyName.isEmpty()) { + matchingTypeface = find_family_style_character( + familyName, fNameToFamilyMap, style, elegant, lang, character, +@@ -475,6 +638,7 @@ protected: private: std::unique_ptr fScanner; @@ -1462,7 +1463,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia TArray> fStyleSets; sk_sp fDefaultStyleSet; -@@ -456,7 +620,7 @@ private: +@@ -496,7 +660,7 @@ private: } sk_sp newSet = @@ -1471,7 +1472,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia if (0 == newSet->count()) { return; } -@@ -502,7 +666,11 @@ static char const * const gSystemFontUseStrings[] = { +@@ -542,7 +706,11 @@ static char const * const gSystemFontUseStrings[] = { } // namespace @@ -1484,7 +1485,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia std::unique_ptr scanner) { if (custom) { SkASSERT(0 <= custom->fSystemFontUse); -@@ -515,5 +683,5 @@ sk_sp SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust +@@ -555,5 +723,5 @@ sk_sp SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust custom->fFallbackFontsXml); } } diff --git a/build/patches/Ask-for-restart-on-connection-change.patch b/build/patches/Ask-for-restart-on-connection-change.patch index c78555c2..f7e5602d 100644 --- a/build/patches/Ask-for-restart-on-connection-change.patch +++ b/build/patches/Ask-for-restart-on-connection-change.patch @@ -282,7 +282,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 -@@ -1618,7 +1618,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1629,7 +1629,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mActivity, mStatusIndicatorCoordinator, isUrlBarFocusedSupplier, @@ -405,7 +405,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse 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 -@@ -144,6 +144,8 @@ public interface TabWindowManager { +@@ -148,6 +148,8 @@ public interface TabWindowManager { /** Returns the total number of incognito tabs across all tab model selectors. */ int getIncognitoTabCount(); @@ -417,7 +417,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 -@@ -556,6 +556,16 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -534,6 +534,16 @@ public class TabWindowManagerImpl implements TabWindowManager { return tabGroupModelFilter.getTabsInGroup(tabGroupId); } @@ -433,7 +433,7 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr + @Override public @Nullable TabModelSelector getTabModelSelectorById(@WindowId int windowId) { - WindowDeps windowDeps = mWindowIdToDeps.get(windowId); + return mWindowIdToSelectors.get(windowId); diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp new file mode 100644 --- /dev/null @@ -483,7 +483,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro + private String mDismissActionText; + private Object mDismissActionData; private int mBackgroundColor; - private int mTextApperanceResId; + private int mTextAppearanceResId; private boolean mDefaultLines = true; @@ -251,6 +253,20 @@ public class Snackbar { return this; @@ -509,7 +509,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 -@@ -403,6 +403,12 @@ public class SnackbarManager +@@ -434,6 +434,12 @@ public class SnackbarManager new SnackbarView( mActivity, this, @@ -566,7 +566,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 -@@ -898,6 +898,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) { +@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) { view->SetFocus(focused); } @@ -592,7 +592,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 -@@ -198,6 +198,7 @@ class CONTENT_EXPORT WebContentsAndroid { +@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid { void OnScaleFactorChanged(JNIEnv* env); void SetFocus(JNIEnv* env, bool focused); @@ -603,7 +603,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 -@@ -4092,8 +4092,10 @@ void WebContentsImpl::Stop() { +@@ -4104,8 +4104,10 @@ void WebContentsImpl::Stop() { void WebContentsImpl::SetPageFrozen(bool frozen) { TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen); @@ -617,7 +617,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java -@@ -1144,6 +1144,12 @@ public class WebContentsImpl +@@ -1171,6 +1171,12 @@ public class WebContentsImpl WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus); } @@ -630,7 +630,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon @Override public void setDisplayCutoutSafeArea(Rect insets) { if (mNativeWebContentsAndroid == 0) return; -@@ -1488,6 +1494,8 @@ public class WebContentsImpl +@@ -1519,6 +1525,8 @@ public class WebContentsImpl void setFocus(long nativeWebContentsAndroid, boolean focused); @@ -699,7 +699,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 -@@ -4628,6 +4628,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { +@@ -4620,6 +4620,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) { } void Document::DispatchFreezeEvent() { @@ -710,7 +710,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 -@@ -3339,6 +3339,7 @@ void LocalFrame::DidFreeze() { +@@ -3340,6 +3340,7 @@ void LocalFrame::DidFreeze() { LoaderFreezeMode freeze_mode = GetLoaderFreezeMode(); GetDocument()->Fetcher()->SetDefersLoading(freeze_mode); Loader().SetDefersLoading(freeze_mode); @@ -718,7 +718,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ } void LocalFrame::DidResume() { -@@ -3353,6 +3354,7 @@ void LocalFrame::DidResume() { +@@ -3354,6 +3355,7 @@ void LocalFrame::DidResume() { GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone); Loader().SetDefersLoading(LoaderFreezeMode::kNone); @@ -729,7 +729,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc --- a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc +++ b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc -@@ -1029,7 +1029,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( +@@ -1022,7 +1022,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState( if (!parent_page_scheduler_) return SchedulingLifecycleState::kNotThrottled; if (parent_page_scheduler_->IsFrozen()) { diff --git a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch index 51d2ea4e..4f161c57 100644 --- a/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch +++ b/build/patches/AudioBuffer-AnalyserNode-fp-mitigations.patch @@ -52,7 +52,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc -@@ -200,6 +200,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) +@@ -197,6 +197,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus) } } @@ -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" -@@ -1125,7 +1126,9 @@ double AudioContext::baseLatency() const { +@@ -1133,7 +1134,9 @@ double AudioContext::baseLatency() const { DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_); DCHECK(destination()); @@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h --- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h +++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h -@@ -328,6 +328,8 @@ class MODULES_EXPORT BaseAudioContext +@@ -331,6 +331,8 @@ class MODULES_EXPORT BaseAudioContext // if the execution context does not exist. bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&); @@ -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 -@@ -410,6 +410,7 @@ void OfflineAudioContext::FireCompletionEvent() { +@@ -418,6 +418,7 @@ void OfflineAudioContext::FireCompletionEvent() { if (!rendered_buffer) { return; } @@ -170,17 +170,17 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ #include "third_party/blink/renderer/platform/audio/audio_bus.h" #include "third_party/blink/renderer/platform/audio/audio_utilities.h" #include "third_party/blink/renderer/platform/audio/vector_math.h" -@@ -118,7 +119,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array, +@@ -117,7 +118,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array, for (unsigned i = 0; i < len; ++i) { - const float linear_value = UNSAFE_TODO(source[i]); + const float linear_value = magnitude_buffer_[i]; const double db_mag = audio_utilities::LinearToDecibels(linear_value); -- UNSAFE_TODO(destination[i]) = static_cast(db_mag); +- destination[i] = static_cast(db_mag); + auto v = static_cast(db_mag); -+ UNSAFE_TODO(destination[i]) = BaseAudioContext::ShuffleAudioData(v, i); ++ destination[i] = BaseAudioContext::ShuffleAudioData(v, i); } } } -@@ -156,9 +158,11 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array, +@@ -153,9 +155,11 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array, // The range m_minDecibels to m_maxDecibels will be scaled to byte values // from 0 to UCHAR_MAX. @@ -191,24 +191,24 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/ + scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i); + // Clip to valid range. - UNSAFE_TODO(destination[i]) = + destination[i] = static_cast(ClampTo(scaled_value, 0, UCHAR_MAX)); -@@ -189,6 +193,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( - input_buffer[(i + write_index - fft_size + kInputBufferSize) % - kInputBufferSize]); +@@ -184,6 +188,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData( + input_buffer_[(i + write_index - fft_size + kInputBufferSize) % + kInputBufferSize]; + value = BaseAudioContext::ShuffleAudioData(value, i); - UNSAFE_TODO(destination[i]) = value; + destination[i] = value; } } -@@ -212,10 +217,12 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { - +@@ -205,10 +210,12 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) { + base::span destination = destination_array->AsSpan(); for (unsigned i = 0; i < len; ++i) { // Buffer access is protected due to modulo operation. -- const float value = UNSAFE_TODO( -+ float value = UNSAFE_TODO( - input_buffer[(i + write_index - fft_size + kInputBufferSize) % - kInputBufferSize]); +- const float value = ++ float value = + input_buffer_[(i + write_index - fft_size + kInputBufferSize) % + kInputBufferSize]; + value = BaseAudioContext::ShuffleAudioData(value, i); + @@ -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 -@@ -669,9 +669,8 @@ +@@ -688,9 +688,8 @@ { // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch index ca2d93d3..c57ff109 100644 --- a/build/patches/Block-gateway-attacks-via-websockets.patch +++ b/build/patches/Block-gateway-attacks-via-websockets.patch @@ -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 -@@ -1139,6 +1139,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { +@@ -1138,6 +1138,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 -@@ -196,6 +196,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -197,6 +197,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; std::unique_ptr CreateWebSocketHandshakeThrottle() override; @@ -148,7 +148,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc --- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc +++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc @@ -104,6 +104,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) { - request_url.ProtocolIsInHTTPFamily(); + request_url.ProtocolIsInHttpFamily(); } +bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context, 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 ff79a0d4..05775335 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 -@@ -5328,7 +5328,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( +@@ -5362,7 +5362,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin( } void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) { @@ -106,7 +106,7 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli 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 -@@ -833,6 +833,11 @@ WebString DocumentLoader::HttpMethod() const { +@@ -850,6 +850,11 @@ WebString DocumentLoader::HttpMethod() const { } const AtomicString& DocumentLoader::GetReferrer() const { @@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return referrer_; } -@@ -2909,6 +2914,13 @@ void DocumentLoader::CommitNavigation() { +@@ -2965,6 +2970,13 @@ void DocumentLoader::CommitNavigation() { response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly)); } @@ -135,7 +135,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h -@@ -770,7 +770,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, +@@ -789,7 +789,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, // |archive_|, but won't have |loading_main_document_from_mhtml_archive_| set. bool loading_main_document_from_mhtml_archive_ = false; const bool loading_srcdoc_ = false; diff --git a/build/patches/Bookmarks-select-all-menu-entry.patch b/build/patches/Bookmarks-select-all-menu-entry.patch index aece8524..01cff0bf 100644 --- a/build/patches/Bookmarks-select-all-menu-entry.patch +++ b/build/patches/Bookmarks-select-all-menu-entry.patch @@ -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 -@@ -267,6 +267,9 @@ CHAR_LIMIT guidelines: +@@ -271,6 +271,9 @@ CHAR_LIMIT guidelines: Sites diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch index 06cbca90..107eb7ce 100644 --- a/build/patches/Bromite-auto-updater.patch +++ b/build/patches/Bromite-auto-updater.patch @@ -39,8 +39,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../strings/android_chrome_strings.grd | 23 +- .../ui/lens/lens_overlay_query_controller.cc | 2 +- components/commerce/core/account_checker.cc | 2 +- - .../core/compare/cluster_server_proxy.cc | 2 +- - .../product_specifications_server_proxy.cc | 2 +- .../subscriptions_server_proxy.cc | 2 +- .../internal/composebox_query_controller.cc | 2 +- .../data_sharing_network_loader_impl.cc | 2 +- @@ -50,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/manta/base_provider.cc | 4 +- .../Bromite-auto-updater.inc | 3 + .../Bromite-auto-updater.inc | 1 + - 42 files changed, 1156 insertions(+), 106 deletions(-) + 40 files changed, 1154 insertions(+), 104 deletions(-) create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn @@ -79,7 +77,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 -@@ -1963,6 +1963,9 @@ if (!is_robolectric && enable_java_templates) { +@@ -1979,6 +1979,9 @@ if (!is_robolectric && enable_java_templates) { sources = [ "//build/android/java/templates/BuildConfig.template" ] defines = [] @@ -92,7 +90,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 -@@ -890,6 +890,8 @@ chrome_java_sources = [ +@@ -906,6 +906,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", @@ -690,7 +688,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 -@@ -2595,6 +2595,12 @@ static_library("browser") { +@@ -2505,6 +2505,12 @@ static_library("browser") { } if (is_android) { @@ -1010,18 +1008,18 @@ 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 -@@ -393,6 +393,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -401,6 +401,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kProtectedTabsAndroid, &kPwaRestoreUi, &kPwaRestoreUiAtStartup, + &kInlineUpdateFlow, - &kReadAloud, &kReadAloudAudioOverviews, - &kReadAloudAudioOverviewsFeedback, + &kReadAloudIPHMenuButtonHighlightCCT, + &kReadAloudPlayback, 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 -@@ -473,6 +473,7 @@ public abstract class ChromeFeatureList { +@@ -484,6 +484,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"; @@ -1353,9 +1351,9 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o - mMetrics.startUpdate(); - Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl)); - if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); -@@ -201,9 +238,15 @@ public class UpdateStatusProvider { + // Ensure that the app vs browser disambiguation dialog is not shown. + intent.addFlags(Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER); +@@ -203,9 +240,15 @@ public class UpdateStatusProvider { return true; } @@ -1373,7 +1371,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o } @RequiresNonNull("mStatus") -@@ -212,35 +255,52 @@ public class UpdateStatusProvider { +@@ -214,35 +257,52 @@ public class UpdateStatusProvider { } private void resolveStatus() { @@ -1435,7 +1433,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o mCallback = resultReceiver; } -@@ -252,7 +312,7 @@ public class UpdateStatusProvider { +@@ -254,7 +314,7 @@ public class UpdateStatusProvider { protected UpdateStatus doInBackground() { UpdateStatus testStatus = getTestStatus(); if (testStatus != null) return testStatus; @@ -1444,7 +1442,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o } @Override -@@ -270,6 +330,8 @@ public class UpdateStatusProvider { +@@ -272,6 +332,8 @@ public class UpdateStatusProvider { status.mIsSimulated = true; status.updateState = forcedUpdateState; @@ -1453,7 +1451,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o // Push custom configurations for certain update states. switch (forcedUpdateState) { case UpdateState.UPDATE_AVAILABLE: -@@ -287,31 +349,33 @@ public class UpdateStatusProvider { +@@ -289,31 +351,33 @@ public class UpdateStatusProvider { return status; } @@ -1623,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 -@@ -2328,6 +2328,12 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2401,6 +2401,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 @@ -1636,7 +1634,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro -@@ -4419,7 +4425,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4486,7 +4492,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -1648,7 +1646,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Newer version is available -@@ -4430,6 +4439,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4497,6 +4506,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d Android version is unsupported @@ -1670,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 -@@ -769,7 +769,7 @@ LensOverlayQueryController::CreateEndpointFetcher( +@@ -771,7 +771,7 @@ LensOverlayQueryController::CreateEndpointFetcher( .SetTimeout(timeout) .SetUrl(fetch_url) .SetUploadProgressCallback(std::move(upload_progress_callback)) @@ -1691,30 +1689,6 @@ diff --git a/components/commerce/core/account_checker.cc b/components/commerce/c } } // namespace commerce -diff --git a/components/commerce/core/compare/cluster_server_proxy.cc b/components/commerce/core/compare/cluster_server_proxy.cc ---- a/components/commerce/core/compare/cluster_server_proxy.cc -+++ b/components/commerce/core/compare/cluster_server_proxy.cc -@@ -156,7 +156,7 @@ std::unique_ptr ClusterServerProxy::CreateEndpointFetcher( - .SetPostData(post_data); - commerce::MaybeUseAlternateShoppingServer(request_params); - return std::make_unique( -- url_loader_factory_, identity_manager_, request_params.Build()); -+ url_loader_factory_, identity_manager_, request_params.Build(), kGetComparableProductsTrafficAnnotation); - } - - void ClusterServerProxy::HandleCompareResponse( -diff --git a/components/commerce/core/compare/product_specifications_server_proxy.cc b/components/commerce/core/compare/product_specifications_server_proxy.cc ---- a/components/commerce/core/compare/product_specifications_server_proxy.cc -+++ b/components/commerce/core/compare/product_specifications_server_proxy.cc -@@ -296,7 +296,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher( - .SetPostData(post_data); - MaybeUseAlternateShoppingServer(request_params); - return std::make_unique( -- url_loader_factory_, identity_manager_, request_params.Build()); -+ url_loader_factory_, identity_manager_, request_params.Build(), kShoppingListTrafficAnnotation); - } - - std::optional diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc --- a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc +++ b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc @@ -1730,7 +1704,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 -@@ -916,7 +916,7 @@ ComposeboxQueryController::CreateEndpointFetcher( +@@ -1074,7 +1074,7 @@ ComposeboxQueryController::CreateEndpointFetcher( .SetTimeout(timeout) .SetUploadProgressCallback(std::move(upload_progress_callback)) .SetUrl(fetch_url) diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index 67621a60..37db23fb 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -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 -@@ -313,6 +313,7 @@ if (_is_default_toolchain) { +@@ -318,6 +318,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 -@@ -436,6 +436,7 @@ chrome_java_resources = [ +@@ -432,6 +432,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", -@@ -642,6 +643,7 @@ chrome_java_resources = [ +@@ -638,6 +639,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 -@@ -962,6 +962,8 @@ chrome_java_sources = [ +@@ -977,6 +977,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", @@ -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 -@@ -115,6 +115,11 @@ found in the LICENSE file. +@@ -113,6 +113,11 @@ found in the LICENSE file. android:key="toolbar_shortcut" android:order="21" android:title="@string/toolbar_shortcut"/> @@ -443,7 +443,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 -@@ -101,6 +101,8 @@ import java.util.HashMap; +@@ -106,6 +106,8 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -452,7 +452,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin /** * The Chrome settings activity. * -@@ -1277,6 +1279,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -1325,6 +1327,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity && !MAIN_FRAGMENT_TAG.equals(fragment.getTag())) { return; } @@ -463,7 +463,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 -@@ -17579,6 +17579,16 @@ Please help our engineers fix this problem. Tell us what happened right before y +@@ -17715,6 +17715,16 @@ Please help our engineers fix this problem. Tell us what happened right before y Never show this again. @@ -534,7 +534,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h 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 -@@ -1368,6 +1368,34 @@ BrowserProcessImpl::component_updater() { +@@ -1375,6 +1375,34 @@ BrowserProcessImpl::component_updater() { return component_updater_.get(); } @@ -591,7 +591,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 -@@ -432,6 +432,9 @@ StartupProfileInfo CreateInitialProfile( +@@ -439,6 +439,9 @@ StartupProfileInfo CreateInitialProfile( // missing code in the above test. CHECK(profile_info.profile) << "Cannot get default profile."; @@ -742,7 +742,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 -@@ -2986,6 +2986,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; +@@ -2778,6 +2778,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; inline constexpr char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; @@ -757,7 +757,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 -@@ -427,6 +427,9 @@ +@@ -421,6 +421,9 @@ This site shows intrusive or misleading ads diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch index 63eefa3f..b3eb0be2 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 -@@ -1475,6 +1475,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1481,6 +1481,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. -@@ -1515,13 +1528,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1521,13 +1534,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; -@@ -1532,11 +1538,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, +@@ -1538,11 +1544,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, friend class ui_devtools::BubbleLocking; friend void DisableActivationChangeHandlingForTests(); diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch index 0c8dbd49..b9779bbf 100644 --- a/build/patches/Chrome-web-store-protection.patch +++ b/build/patches/Chrome-web-store-protection.patch @@ -84,7 +84,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a namespace extensions { namespace developer = api::developer_private; -@@ -69,6 +75,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { +@@ -70,6 +76,28 @@ DeveloperPrivateAPI::GetFactoryInstance() { return g_developer_private_api_factory.Pointer(); } @@ -181,7 +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 -@@ -257,6 +257,8 @@ Profile* GetProfileInIncognito(Profile* profile) { +@@ -254,6 +254,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) { @@ -190,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); } -@@ -264,11 +266,15 @@ std::string GetWebstoreLogin(Profile* profile) { +@@ -261,11 +263,15 @@ std::string GetWebstoreLogin(Profile* profile) { } void SetWebstoreLogin(Profile* profile, const std::string& login) { @@ -206,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; -@@ -1207,7 +1213,8 @@ ExtensionFunction::ResponseAction +@@ -1317,7 +1323,8 @@ ExtensionFunction::ResponseAction WebstorePrivateIsInIncognitoModeFunction::Run() { Profile* profile = Profile::FromBrowserContext(browser_context()); return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create( @@ -216,7 +216,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api } WebstorePrivateIsPendingCustodianApprovalFunction:: -@@ -1304,11 +1311,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { +@@ -1414,11 +1421,14 @@ WebstorePrivateGetReferrerChainFunction::Run() { request.mutable_referrer_chain_options()->set_recent_navigations_to_collect( recent_navigations_to_collect); @@ -259,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 -@@ -441,6 +441,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( +@@ -435,6 +435,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( const Extension* extension) { @@ -283,7 +283,7 @@ diff --git a/chrome/browser/extensions/extension_safety_check_utils.cc b/chrome/ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc --- a/chrome/browser/extensions/extension_service.cc +++ b/chrome/browser/extensions/extension_service.cc -@@ -248,8 +248,6 @@ ExtensionService::ExtensionService( +@@ -249,8 +249,6 @@ ExtensionService::ExtensionService( UpgradeDetector::GetInstance()->AddObserver(this); #endif @@ -292,7 +292,7 @@ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/ext ExtensionManagementFactory::GetForBrowserContext(profile_)->AddObserver(this); if (auto* extension_install_policy_service = -@@ -772,7 +770,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() { +@@ -773,7 +771,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() { // unpublished extensions should not be enabled. This update allows // unpublished extensions to be disabled sooner rather than waiting till the // next regularly scheduled fetch. @@ -496,10 +496,10 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -595,7 +595,7 @@ void WebstoreInstaller::StartDownload( - traffic_annotation)); +@@ -589,7 +589,7 @@ void WebstoreInstaller::StartDownload( + render_frame_host->CreateDownloadUrlParameters(download_url_, + traffic_annotation); params->set_file_path(file); - params->set_initiator(render_frame_host->GetLastCommittedOrigin()); - if (controller.GetVisibleEntry()) { + if ((false) && controller.GetVisibleEntry()) { content::Referrer referrer = content::Referrer::SanitizeForRequest( @@ -537,7 +537,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res accessor showActivityLog: boolean = loadTimeData.getBoolean('showActivityLog'); accessor enableEnhancedSiteControls: boolean = -@@ -228,6 +232,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { +@@ -247,6 +251,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase { this.canLoadUnpacked = profileInfo.canLoadUnpacked; this.isMv2DeprecationNoticeDismissed = profileInfo.isMv2DeprecationNoticeDismissed; @@ -681,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse #include "chrome/browser/extensions/manifest_v2_experiment_manager.h" #include "chrome/browser/extensions/mv2_experiment_stage.h" #include "chrome/browser/extensions/permissions_url_constants.h" -@@ -385,6 +386,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, +@@ -387,6 +388,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, {"itemSuspiciousInstallLearnMore", IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE}, {"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE}, @@ -690,7 +690,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse {"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED}, {"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE}, {"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK}, -@@ -470,6 +473,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, +@@ -472,6 +475,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, "hostPermissionsLearnMoreLink", extension_permissions_constants::kRuntimeHostPermissionsHelpURL); source->AddBoolean(kInDevModeKey, in_dev_mode); @@ -1194,8 +1194,8 @@ 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 -@@ -218,4 +218,11 @@ BASE_FEATURE(kWebRequestPersistFilteredEvents, - BASE_FEATURE(kWebRequestAlternativeAddListener, +@@ -218,4 +218,11 @@ BASE_FEATURE(kSearchEngineUnconditionalDialog, + BASE_FEATURE(kWebRequestPersistFilteredEventsViaEventRouter, base::FEATURE_ENABLED_BY_DEFAULT); +CROMITE_FEATURE(kEnableExtensionAutoupdate, @@ -1209,9 +1209,9 @@ 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 -@@ -333,6 +333,16 @@ BASE_DECLARE_FEATURE(kWebRequestPersistFilteredEvents); - // WebRequestInternal's custom API. - BASE_DECLARE_FEATURE(kWebRequestAlternativeAddListener); +@@ -323,6 +323,16 @@ BASE_DECLARE_FEATURE(kWebRequestSecurityInfo); + // in WebRequestEventRouter. + BASE_DECLARE_FEATURE(kWebRequestPersistFilteredEventsViaEventRouter); +// Activates the auto update of extensions. +// the only data provided by default is the list of extensions. diff --git a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch index a8552c82..6ed81bb5 100644 --- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch +++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch @@ -79,12 +79,12 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p 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 -@@ -1372,6 +1372,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, +@@ -1379,6 +1379,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time, base::Time end_time, mojom::ClearDataFilterPtr filter, ClearHttpCacheCallback callback) { + cors_preflight_controller_.ClearCache(); - // It's safe to use Unretained below as the HttpCacheDataRemover is owned by - // |this| and guarantees it won't call its callback if deleted. - http_cache_data_removers_.push_back(HttpCacheDataRemover::CreateAndStart( + if (base::FeatureList::IsEnabled(net::features::kLogicalClearHttpCache)) { + net::HttpCache* cache = + url_request_context_->http_transaction_factory()->GetCache(); -- diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 30db3b9f..8d4f3fa6 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java --- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java +++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java -@@ -95,7 +95,7 @@ public class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryB +@@ -99,7 +99,7 @@ public class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryB Features.GET_COOKIE_INFO, Features.WEB_MESSAGE_ARRAY_BUFFER, Features.IMAGE_DRAG_DROP, @@ -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 -@@ -114,6 +114,7 @@ const size_t kMaxRestarts = 32; +@@ -119,6 +119,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 -@@ -232,6 +232,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( -@@ -732,7 +734,7 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -731,7 +733,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 -@@ -628,6 +628,11 @@ +@@ -647,6 +647,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", -@@ -1045,8 +1050,7 @@ +@@ -1093,8 +1098,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 59aad17e..b94e6a0f 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 -@@ -289,7 +289,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -294,7 +294,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 51b630a9..a074f8de 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 -@@ -579,6 +579,7 @@ template("chrome_common_apk_or_module_tmpl") { +@@ -600,6 +600,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/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch index fa926ddc..e504fba5 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 -@@ -667,7 +667,7 @@ chrome_java_resources = [ +@@ -663,7 +663,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", @@ -247,7 +247,7 @@ new file mode 100644 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 -@@ -194,7 +194,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -196,7 +196,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) { mPageTitle.set(getString(R.string.prefs_privacy_security)); @@ -256,7 +256,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference sandboxPreference = findPreference(PREF_PRIVACY_SANDBOX); // Overwrite the click listener to pass a correct referrer to the fragment. -@@ -281,7 +281,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -283,7 +283,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment ChromeSwitchPreference passwordLeakTogglePref = (ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION); diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch index 624f863a..1b34bfe6 100644 --- a/build/patches/Cromite-Branding.patch +++ b/build/patches/Cromite-Branding.patch @@ -107,7 +107,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn 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 -@@ -203,7 +203,7 @@ by a child template that "extends" this file. +@@ -206,7 +206,7 @@ by a child template that "extends" this file. CreateProfilePrefStoreManager( +@@ -293,10 +294,7 @@ std::unique_ptr CreateProfilePrefStoreManager( const base::FilePath& profile_path) { std::string seed; CHECK(ui::ResourceBundle::HasSharedInstance()); @@ -13446,7 +13446,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; -@@ -110,8 +111,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout { +@@ -109,8 +110,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout { // Omnibox. // Making the container `clickable=true` achieves similar goal, but this consumes all // activators, including keyboard key. @@ -13463,7 +13463,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 -@@ -2393,7 +2393,7 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2466,7 +2466,7 @@ Your Google account may have other forms of browsing history like searches and a About Chrome @@ -13472,7 +13472,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Application version -@@ -5912,7 +5912,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6042,7 +6042,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d @@ -13495,7 +13495,7 @@ diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h --- a/chrome/common/url_constants.h +++ b/chrome/common/url_constants.h -@@ -135,7 +135,7 @@ inline constexpr char kChromeHelpViaMenuURL[] = +@@ -117,7 +117,7 @@ inline constexpr char kChromeHelpViaMenuURL[] = #endif // BUILDFLAG(IS_CHROMEOS) inline constexpr char kChromeHelpViaWebUIURL[] = @@ -13504,15 +13504,15 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h #if BUILDFLAG(IS_CHROMEOS) inline constexpr char kChromeOsHelpViaWebUIURL[] = #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -193,7 +193,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] = +@@ -175,7 +175,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] = "chrome-untrusted://new-tab-page/"; // The URL for the Chromium project used in the About dialog. -inline constexpr char16_t kChromiumProjectURL[] = u"https://www.chromium.org/"; +inline constexpr char16_t kChromiumProjectURL[] = u"https://www.cromite.org/"; - - #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - // The URL for the "Clear browsing data in Chrome" help center article. + #if BUILDFLAG(IS_CHROMEOS) + static_assert(std::u16string_view(kChromiumProjectURL) == + ash::chrome_external_urls::kChromiumProjectURL); diff --git a/chrome/install_static/chromium_install_modes.h b/chrome/install_static/chromium_install_modes.h --- a/chrome/install_static/chromium_install_modes.h +++ b/chrome/install_static/chromium_install_modes.h @@ -18436,7 +18436,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 -@@ -1123,6 +1123,7 @@ bool AutocompleteController::ShouldRunProvider( +@@ -1117,6 +1117,7 @@ bool AutocompleteController::ShouldRunProvider( #if BUILDFLAG(IS_ANDROID) if (omnibox::IsAndroidHub(input_.current_page_classification())) { @@ -19198,7 +19198,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 -@@ -575,19 +575,22 @@ void ResolveInvalidConfigurations() { +@@ -549,19 +549,22 @@ void ResolveInvalidConfigurations() { base::FeatureList::IsEnabled( features::kPrivacySandboxAdsAPIsM1Override)) && !base::FeatureList::IsEnabled(blink::features::kFencedFrames)) { @@ -19225,7 +19225,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 << "=" -@@ -595,12 +598,14 @@ void ResolveInvalidConfigurations() { +@@ -569,12 +572,14 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableFeatureFromString( "FencedFramesLocalUnpartitionedDataAccess", false); } @@ -19241,7 +19241,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."; -@@ -608,30 +613,23 @@ void ResolveInvalidConfigurations() { +@@ -582,30 +587,23 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableTopicsDocumentAPI(false); WebRuntimeFeatures::EnableTopicsImgAPI(false); } else { @@ -19278,7 +19278,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. << "AttributionReporting cannot be enabled in this " "configuration. Use --" << switches::kEnableFeatures << "=" -@@ -639,23 +637,25 @@ void ResolveInvalidConfigurations() { +@@ -613,23 +611,25 @@ void ResolveInvalidConfigurations() { << " in addition."; WebRuntimeFeatures::EnableAttributionReporting(false); } @@ -19299,15 +19299,15 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features. + CHECK(false) << "kInterestGroupStorage is enabled!"; } - // PermissionElement cannot be enabled without the support of the + // UserMediaElement cannot be enabled without the support of the // browser process. - if (!base::FeatureList::IsEnabled(blink::features::kPermissionElement)) { + if (!base::FeatureList::IsEnabled(blink::features::kUserMediaElement)) { - LOG_IF(WARNING, -- WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag()) -+ CHECK(!WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag()) - << "PermissionElement cannot be enabled in this configuration. Use --" +- WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag()) ++ CHECK(!WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag()) + << "UserMediaElement cannot be enabled in this configuration. Use --" << switches::kEnableFeatures << "=" - << blink::features::kPermissionElement.name << " instead."; + << blink::features::kUserMediaElement.name << " instead."; diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Disable-Accessibility-service-by-default.patch b/build/patches/Disable-Accessibility-service-by-default.patch index 6bd326c7..9bddba31 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 -@@ -1226,6 +1226,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa +@@ -1325,6 +1325,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 afb0ab93..2cac7e7c 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 -@@ -100,7 +100,8 @@ found in the LICENSE file. +@@ -98,7 +98,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 e77f79de..c2b50be8 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 -@@ -1460,7 +1460,7 @@ +@@ -1515,7 +1515,7 @@ }, { name: "CSSDynamicRangeLimit", diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch index 9c58c02b..4354337d 100644 --- a/build/patches/Disable-Compose-feature.patch +++ b/build/patches/Disable-Compose-feature.patch @@ -4,26 +4,24 @@ Subject: Disable Compose feature License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - chrome/browser/ui/webui/settings/settings_ui.cc | 6 ++++-- + chrome/browser/ui/webui/settings/settings_ui.cc | 4 ++-- components/compose/core/browser/compose_features.cc | 2 ++ components/compose/features.gni | 2 +- - 3 files changed, 7 insertions(+), 3 deletions(-) + 3 files changed, 5 insertions(+), 3 deletions(-) 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 -@@ -21,7 +21,9 @@ +@@ -21,7 +21,7 @@ #include "chrome/browser/browser_features.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/commerce/shopping_service_factory.h" -#include "chrome/browser/compose/compose_enabling.h" -+// #if BUILDFLAG(ENABLE_COMPOSE) +// #include "chrome/browser/compose/compose_enabling.h" -+// #endif + #include "chrome/browser/glic/public/glic_enabling.h" + #include "chrome/browser/glic/public/glic_keyed_service.h" #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" -@@ -366,7 +368,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -369,7 +369,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 867c67f1..0a26f3c5 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 -@@ -1477,8 +1477,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( +@@ -1527,8 +1527,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 3604dfe2..2ac69cd5 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 -@@ -146,6 +146,7 @@ bool IsAffiliatedUser() { +@@ -147,6 +147,7 @@ bool IsAffiliatedUser() { 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; -@@ -322,6 +323,10 @@ void DeviceServiceImpl::GetAnnotatedLocation( +@@ -323,6 +324,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 ed480f7b..05636179 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 -@@ -639,7 +639,7 @@ void ContentSettingsRegistry::Init() { +@@ -640,7 +640,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 -@@ -2379,7 +2379,7 @@ +@@ -2470,7 +2470,7 @@ { name: "FedCm", public: true, diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch index ec18c5f2..0e5a6be5 100644 --- a/build/patches/Disable-GSA-by-default.patch +++ b/build/patches/Disable-GSA-by-default.patch @@ -5,13 +5,13 @@ Subject: Disable GSA by default License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../src/org/chromium/base/PackageUtils.java | 1 + - .../chrome/browser/IntentHandler.java | 7 ---- + .../chrome/browser/IntentHandler.java | 6 ---- .../chrome/browser/share/LensUtils.java | 14 ++------ .../chromium/chrome/browser/gsa/GSAUtils.java | 34 +++---------------- .../GoogleBottomBarActionsHandler.java | 19 ++--------- .../chrome/browser/pdf/PdfCoordinator.java | 2 +- .../Disable-GSA-by-default.inc | 1 + - 7 files changed, 12 insertions(+), 66 deletions(-) + 7 files changed, 12 insertions(+), 65 deletions(-) create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc diff --git a/base/android/java/src/org/chromium/base/PackageUtils.java b/base/android/java/src/org/chromium/base/PackageUtils.java @@ -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; -@@ -306,9 +305,6 @@ public class IntentHandler { +@@ -310,9 +309,6 @@ public class IntentHandler { public static final String EXTRA_TIPS_NOTIFICATION_FEATURE_TYPE = "org.chromium.chrome.browser.tips_notification_feature_type"; @@ -46,15 +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"; -@@ -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"; -- - public static final String EXTRA_ITEM_PICKER_ERROR = - "org.chromium.chrome.browser.chrome_item_picker.EXTRA_ITEM_PICKER_ERROR"; - -@@ -572,8 +567,6 @@ public class IntentHandler { +@@ -573,8 +569,6 @@ public class IntentHandler { return ExternalAppId.LINE; } else if (PACKAGE_WHATSAPP.equals(packageName)) { return ExternalAppId.WHATSAPP; @@ -240,7 +232,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java --- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java +++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java -@@ -276,7 +276,7 @@ public class PdfCoordinator { +@@ -351,7 +351,7 @@ public class PdfCoordinator implements PdfActionsDelegate { } @Nullable String requestAssistContent(String filename, boolean isWorkProfile) { diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch index 88394cb4..e3d209f8 100644 --- a/build/patches/Disable-GetInstalledRelatedApps-API.patch +++ b/build/patches/Disable-GetInstalledRelatedApps-API.patch @@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java --- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java +++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java -@@ -162,6 +162,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { +@@ -137,6 +137,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { final Url manifestUrl, final boolean addSavedRelatedApplications, final FilterInstalledApps_Response callback) { @@ -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 -@@ -3167,9 +3167,8 @@ +@@ -3274,9 +3274,8 @@ status: "stable", }, { diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch index e2eca9ce..5b317e5c 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 -@@ -343,8 +343,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) +@@ -342,8 +342,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 7d65bd76..14cbc73e 100644 --- a/build/patches/Disable-Real-Box.patch +++ b/build/patches/Disable-Real-Box.patch @@ -13,7 +13,7 @@ Real-box is search box in ntp 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 -@@ -2091,7 +2091,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -2130,7 +2130,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref( prefs::kLensRegionSearchEnabled, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); @@ -27,12 +27,12 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res +++ b/chrome/browser/resources/new_tab_page/app.html @@ -43,24 +43,6 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js';
+ @focusin="${this.onSearchboxContainerFocusin_}" + @focusout="${this.onSearchboxContainerFocusout_}"> - & optimization_types) { @@ -258,7 +249,7 @@ diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BUILD.gn --- a/chrome/browser/permissions/BUILD.gn +++ b/chrome/browser/permissions/BUILD.gn -@@ -42,8 +42,6 @@ source_set("permissions") { +@@ -43,8 +43,6 @@ source_set("permissions") { "prediction_service/language_detection_observer.h", "prediction_service/passage_embedder_delegate.cc", "prediction_service/passage_embedder_delegate.h", @@ -270,7 +261,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 -@@ -477,8 +477,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( +@@ -474,8 +474,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors( #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -282,15 +273,15 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/br diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc --- a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc +++ b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc -@@ -17,6 +17,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile) +@@ -25,6 +25,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile) : profile_(profile) {} - Embedder* PassageEmbedderDelegate::get_passage_embedder() { + Embedder* PassageEmbedderDelegate::GetPassageEmbedder() { +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) if (auto* prediction_model_handler_provider = PredictionModelHandlerProviderFactory::GetForBrowserContext( profile_)) { -@@ -30,6 +31,7 @@ Embedder* PassageEmbedderDelegate::get_passage_embedder() { +@@ -38,6 +39,7 @@ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() { return prediction_model_handler_provider->GetPassageEmbedder(); } PermissionUmaUtil::RecordPassageEmbedderMetadataValid(false); @@ -301,7 +292,7 @@ diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_dele diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc --- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc +++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc -@@ -434,6 +434,7 @@ void PermissionsAiUiSelector::SelectUiToUse( +@@ -414,6 +414,7 @@ void PermissionsAiUiSelector::SelectUiToUse( } } @@ -309,7 +300,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel( ModelExecutionData model_data, ModelExecutionCallback model_execution_callback, -@@ -481,6 +482,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel( +@@ -468,6 +469,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel( InquireServerModel(model_data.features, std::move(model_data.request_metadata)); } @@ -317,7 +308,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel void PermissionsAiUiSelector::OnTimeout() { VLOG(1) << "[CPSS] Overall timeout for prediction reached."; -@@ -697,6 +699,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack( +@@ -677,6 +679,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack( PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse( permissions::RequestType request_type) { @@ -325,7 +316,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel const bool is_msbb_enabled = profile_->GetPrefs()->GetBoolean( unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled); -@@ -773,6 +776,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse( +@@ -749,6 +752,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse( return PredictionSource::kNoCpssModel; } @@ -333,7 +324,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel void PermissionsAiUiSelector::set_language_detection_observer_for_testing( std::unique_ptr language_detection_observer) { -@@ -785,6 +789,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing( +@@ -761,6 +765,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing( CHECK_IS_TEST(); inner_text_for_testing_ = std::move(inner_text_); } @@ -376,16 +367,16 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc --- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc +++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc -@@ -13,15 +13,16 @@ +@@ -13,14 +13,16 @@ #include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h" #include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h" #include "components/permissions/features.h" -+#include "components/permissions/request_type.h" + +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) - #include "components/permissions/prediction_service/permissions_aiv3_handler.h" ++#include "components/permissions/prediction_service/permissions_aiv3_handler.h" #include "components/permissions/prediction_service/permissions_aiv4_handler.h" -#include "components/permissions/request_type.h" ++#endif #if BUILDFLAG(IS_ANDROID) #include "components/download/public/background_service/download_params.h" @@ -395,7 +386,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand #include "components/permissions/prediction_service/prediction_model_handler.h" #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) -@@ -31,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget; +@@ -30,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget; namespace { @@ -403,7 +394,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand inline OptimizationTarget getGeolocationAiv4OptTarget() { #if BUILDFLAG(IS_ANDROID) return OptimizationTarget:: -@@ -49,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() { +@@ -48,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() { OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP; #endif } @@ -411,7 +402,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand } // namespace -@@ -56,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider( +@@ -55,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider( OptimizationGuideKeyedService* optimization_guide, passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider, passage_embeddings::Embedder* passage_embedder) @@ -426,7 +417,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 -@@ -61,9 +61,11 @@ class PredictionModelHandlerProvider +@@ -56,9 +56,11 @@ class PredictionModelHandlerProvider #endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) private: @@ -441,7 +432,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand 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 -@@ -25,9 +25,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs( +@@ -24,9 +24,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs( registry->RegisterTimePref(prefs::kQuietNotificationPermissionUiDisabledTime, base::Time()); registry->RegisterBooleanPref(prefs::kEnableNotificationCPSS, @@ -495,10 +486,10 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p diff --git a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc --- a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc +++ b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc -@@ -202,3 +202,7 @@ const base::FeatureParam - kSuppressesSearchPrefetchOnSlowNetworkThreshold{ - &kSuppressesSearchPrefetchOnSlowNetwork, - "slow_network_threshold_for_search_prefetch", base::Milliseconds(208)}; +@@ -255,3 +255,7 @@ bool ShouldSuppressPrefetchForUnsupportedMode(const AutocompleteMatch& match) { + } + return ShouldSuppressPrefetchForUnsupportedMode(match.destination_url); + } + +SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchServicePrefetching); +SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchWithNoVarySearchDiskCache); @@ -517,7 +508,7 @@ 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 -@@ -1221,7 +1221,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1240,7 +1240,6 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) policy::UserPolicyOidcSigninServiceFactory::GetInstance(); #endif @@ -528,7 +519,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 -@@ -57,7 +57,6 @@ static_library("safe_browsing") { +@@ -60,7 +60,6 @@ static_library("safe_browsing") { "//components/resources:components_resources_grit", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -587,7 +578,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 -@@ -572,7 +572,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { +@@ -585,7 +585,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) { } AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() { @@ -596,7 +587,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows } AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() { -@@ -1404,18 +1404,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( +@@ -1417,18 +1417,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey( optimization_guide::ModelQualityLogsUploaderService* ChromeAutofillClient::GetMqlsUploadService() { @@ -618,7 +609,7 @@ 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 -@@ -459,7 +459,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -477,7 +477,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } MixedContentSettingsTabHelper::CreateForWebContents(web_contents); NavigationMetricsRecorder::CreateForWebContents(web_contents); @@ -812,8 +803,8 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc --- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc +++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc -@@ -27,7 +27,9 @@ - #include "build/build_config.h" +@@ -28,7 +28,9 @@ + #include "chrome/common/read_anything/read_anything.mojom-shared.h" #include "chrome/common/read_anything/read_anything_util.h" #include "chrome/renderer/accessibility/ax_tree_distiller.h" +#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) @@ -822,7 +813,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" -@@ -2129,6 +2131,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -2135,6 +2137,7 @@ void ReadAnythingAppController::OnConnected() { render_frame()->GetBrowserInterfaceBroker().GetInterface( std::move(page_handler_factory_receiver)); @@ -830,7 +821,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; -@@ -2137,6 +2140,7 @@ void ReadAnythingAppController::OnConnected() { +@@ -2143,6 +2146,7 @@ void ReadAnythingAppController::OnConnected() { page_handler_->GetDependencyParserModel( base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel, weak_ptr_factory_.GetWeakPtr())); @@ -838,7 +829,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr SetDistillationState( read_anything::mojom::ReadAnythingDistillationState::kNotAttempted); } -@@ -2398,8 +2402,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { +@@ -2415,8 +2419,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() { } void ReadAnythingAppController::PreprocessTextForSpeech() { @@ -849,7 +840,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr } void ReadAnythingAppController::MovePositionToNextGranularity() { -@@ -2755,14 +2761,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { +@@ -2768,14 +2774,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const { void ReadAnythingAppController::UpdateDependencyParserModel( base::File model_file) { @@ -881,7 +872,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr class ReadAnythingAppControllerTest; class ReadAnythingAppControllerScreen2xDataCollectionModeTest; class ReadAnythingAppControllerReadabilityTest; -@@ -383,7 +385,9 @@ class ReadAnythingAppController +@@ -381,7 +383,9 @@ class ReadAnythingAppController // available. void UpdateDependencyParserModel(base::File model_file); @@ -894,7 +885,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 -@@ -5902,8 +5902,6 @@ if (!is_android) { +@@ -6004,8 +6004,6 @@ if (!is_android) { "//chrome/browser/ui/exclusive_access:test_support", "//chrome/browser/ui/hats", "//components/safe_browsing/content/browser:safe_browsing_blocking_page", @@ -943,7 +934,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc diff --git a/components/BUILD.gn b/components/BUILD.gn --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -627,7 +627,7 @@ test("components_unittests") { +@@ -629,7 +629,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", @@ -966,7 +957,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; -@@ -1027,12 +1029,14 @@ void AutofillManager::UpdateFormCache( +@@ -1034,12 +1036,14 @@ void AutofillManager::UpdateFormCache( auto apply_predictions = [](FormStructure& form_structure, const AsyncContext& context, size_t i) { @@ -981,7 +972,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()); } -@@ -1148,6 +1152,7 @@ void AutofillManager::LogCurrentFieldTypes( +@@ -1155,6 +1159,7 @@ void AutofillManager::LogCurrentFieldTypes( } } @@ -989,7 +980,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ void AutofillManager::SubscribeToMlModelChanges( FieldClassificationModelHandler& handler) { switch (handler.optimization_target()) { -@@ -1171,5 +1176,6 @@ void AutofillManager::SubscribeToMlModelChanges( +@@ -1178,5 +1183,6 @@ void AutofillManager::SubscribeToMlModelChanges( NOTREACHED(); } } @@ -999,7 +990,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h --- a/components/autofill/core/browser/foundations/autofill_manager.h +++ b/components/autofill/core/browser/foundations/autofill_manager.h -@@ -39,6 +39,7 @@ +@@ -40,6 +40,7 @@ #include "components/autofill/core/common/mojom/autofill_types.mojom.h" #include "components/autofill/core/common/signatures.h" #include "components/autofill/core/common/unique_ids.h" @@ -1007,7 +998,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c #include "components/translate/core/browser/translate_driver.h" namespace autofill { -@@ -375,10 +376,12 @@ class AutofillManager +@@ -392,10 +393,12 @@ class AutofillManager // Reparses all known forms. void ReparseKnownForms(); @@ -1223,7 +1214,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn diff --git a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc --- a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc +++ b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc -@@ -53,7 +53,7 @@ const char kDisableModelDownloadsForBenchmarking[] = +@@ -55,7 +55,7 @@ const char kDisableModelDownloadsForBenchmarking[] = // we require models to come from. constexpr std::array kPublisherKeyHash = { 0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa, @@ -1232,7 +1223,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo 0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a}; const net::NetworkTrafficAnnotationTag kOptimizationGuidePredictionModelsTrafficAnnotation = -@@ -123,7 +123,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( +@@ -125,7 +125,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager( unzip::UnzipperFactory unzipper_factory, scoped_refptr background_task_runner) : download_service_tracker_(download_service_tracker), @@ -1241,7 +1232,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo api_key_(features::GetOptimizationGuideServiceAPIKey()), get_base_model_dir_for_download_callback_( get_base_model_dir_for_download_callback), -@@ -137,6 +137,7 @@ void PredictionModelDownloadManager::StartDownload( +@@ -139,6 +139,7 @@ void PredictionModelDownloadManager::StartDownload( const GURL& download_url, proto::OptimizationTarget optimization_target, const std::optional& scheduling_params) { @@ -1249,7 +1240,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo download::DownloadParams download_params; download_params.client = download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS; -@@ -299,6 +300,7 @@ bool PredictionModelDownloadManager::VerifyDownload( +@@ -303,6 +304,7 @@ bool PredictionModelDownloadManager::VerifyDownload( const base::FilePath& download_file_path, const base::FilePath& base_model_dir, bool delete_file_on_error) { @@ -1311,7 +1302,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } // namespace -@@ -279,8 +275,7 @@ size_t MaxHostKeyedHintCacheSize() { +@@ -275,8 +271,7 @@ size_t MaxHostKeyedHintCacheSize() { } bool ShouldPersistHintsToDisk() { @@ -1321,7 +1312,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b } RequestContextSet GetAllowedContextsForPersonalizedMetadata() { -@@ -641,5 +636,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() { +@@ -637,5 +632,9 @@ std::optional GetMainFrameGetAIPageContentTimeout() { return kGetAIPageContentMainFrameTimeoutParam.Get(); } @@ -1347,7 +1338,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 -@@ -56,6 +56,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{ +@@ -63,6 +63,7 @@ const base::FeatureParam kPageContentExtractionTriggeringMode{ bool IsSupportedLocale(const std::string& locale, const std::string& supported_locales) { @@ -1355,7 +1346,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (supported_locales == "*") { return true; } -@@ -75,6 +76,7 @@ bool IsSupportedLocale(const std::string& locale, +@@ -82,6 +83,7 @@ bool IsSupportedLocale(const std::string& locale, bool IsSupportedCountry(const std::string& country_code, const std::string& supported_countries) { @@ -1363,7 +1354,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (supported_countries == "*") { return true; } -@@ -274,6 +276,7 @@ bool IsSupportedLocaleForFeature( +@@ -281,6 +283,7 @@ bool IsSupportedLocaleForFeature( const std::string& locale, const base::Feature& feature, const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") { @@ -1371,7 +1362,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (!base::FeatureList::IsEnabled(feature)) { return false; } -@@ -291,6 +294,7 @@ bool IsSupportedLocaleForFeature( +@@ -298,6 +301,7 @@ bool IsSupportedLocaleForFeature( bool IsSupportedCountryForFeature(const std::string& country_code, const base::Feature& feature, const std::string& default_value) { @@ -1379,7 +1370,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f if (!base::FeatureList::IsEnabled(feature)) { return false; } -@@ -305,4 +309,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code, +@@ -312,4 +316,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code, return IsSupportedCountry(country_code, value); } @@ -1452,8 +1443,8 @@ 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 -@@ -652,24 +652,6 @@ void GpuServiceImpl::BindWebNNContextProvider( - std::move(pending_receiver), client_id, is_incognito)); +@@ -641,25 +641,6 @@ void GpuServiceImpl::BindWebNNContextProvider( + client_id, client_tracing_id, is_incognito)); return; } - @@ -1467,20 +1458,21 @@ diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/serv - // `client_id` in order to support memory metrics. - webnn_context_provider_ = webnn::WebNNContextProviderImpl::Create( - std::move(shared_context_state), gpu_feature_info_, gpu_info_, -- shared_image_manager(), +- shared_image_manager(), gpu_channel_manager_->peak_memory_monitor(), - base::BindOnce(&GpuServiceImpl::LoseAllContexts, weak_ptr_), - main_runner(), GetGpuScheduler(), gpu_host_); - } - -- webnn_context_provider_->BindWebNNContextProvider(std::move(pending_receiver), -- {is_incognito, client_id}); +- webnn_context_provider_->BindWebNNContextProvider( +- std::move(pending_receiver), +- {is_incognito, client_id, client_tracing_id}); } void GpuServiceImpl::GetVideoMemoryUsageStats( diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -272,9 +272,9 @@ source_set("browser") { +@@ -290,9 +290,9 @@ source_set("browser") { "//services/viz/public/cpp/gpu", "//services/viz/public/mojom", "//services/webnn:buildflags", @@ -1496,7 +1488,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 -@@ -1338,9 +1338,9 @@ bool GpuProcessHost::LaunchGpuProcess() { +@@ -1341,9 +1341,9 @@ bool GpuProcessHost::LaunchGpuProcess() { cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames); cmd_line->CopySwitchesFrom(browser_command_line, switches::kGLSwitchesCopiedFromGpuProcessHost); @@ -1512,7 +1504,7 @@ 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 -@@ -537,6 +537,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( +@@ -543,6 +543,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest( scoped_refptr context, scoped_refptr version, base::OnceCallback clone_completed_for_fetch_handler_callback) { @@ -1577,17 +1569,17 @@ new file mode 100644 diff --git a/media/webrtc/BUILD.gn b/media/webrtc/BUILD.gn --- a/media/webrtc/BUILD.gn +++ b/media/webrtc/BUILD.gn -@@ -4,6 +4,7 @@ - +@@ -5,6 +5,7 @@ + import("//components/optimization_guide/features.gni") import("//media/media_options.gni") import("//third_party/webrtc/webrtc.gni") +import("//components/optimization_guide/features.gni") component("webrtc") { output_name = "media_webrtc" -@@ -31,6 +32,10 @@ component("webrtc") { - "//third_party/webrtc_overrides:webrtc_component", - ] +@@ -36,6 +37,10 @@ component("webrtc") { + deps += [ "//components/optimization_guide/core/inference:op_resolver" ] + } + if (!build_with_tflite_lib) { + deps -= [ "//components/optimization_guide/core/inference:op_resolver" ] @@ -1602,20 +1594,11 @@ diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc @@ -14,6 +14,7 @@ #include "build/build_config.h" #include "build/chromecast_buildflags.h" - #include "components/optimization_guide/core/tflite_op_resolver.h" + #include "components/optimization_guide/machine_learning_tflite_buildflags.h" +#include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "media/base/media_switches.h" #include "media/webrtc/webrtc_features.h" #include "third_party/webrtc/api/audio/audio_processing.h" -@@ -161,7 +162,7 @@ CreateWebRtcAudioProcessingModule( - // Fuchsia does not use the optimization guide. - // Avoid linking the op resolver to keep Fuchsia binary size down. - // TODO(crbug.com/450466837): Investigate if this build guard can be avoided. --#if !BUILDFLAG(IS_FUCHSIA) -+#if !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB) - if (residual_echo_estimator_model) { - optimization_guide::TFLiteOpResolver op_resolver; - echo_estimator = webrtc::CreateNeuralResidualEchoEstimator( 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 @@ -1676,7 +1659,7 @@ 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 -@@ -258,35 +258,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( +@@ -263,35 +263,7 @@ void WebNNContextProviderImpl::CreateWebNNContext( } #if BUILDFLAG(IS_WIN) @@ -1694,7 +1677,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn - 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), params.is_incognito, +- std::move(callback), params.is_incognito, std::move(memory_tracker), - /*ep_package_info=*/{}); - return; - } @@ -1706,7 +1689,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn - 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), params.is_incognito)); +- std::move(callback), params.is_incognito, std::move(memory_tracker))); - return; - } else if (dml::ShouldCreateDmlContext(*options)) { + if (dml::ShouldCreateDmlContext(*options)) { @@ -1716,7 +1699,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 -@@ -1797,6 +1797,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( +@@ -1782,6 +1782,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget( } bool HTMLDocumentParser::ShouldSkipPreloadScan() { @@ -1738,7 +1721,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 -@@ -4213,7 +4213,7 @@ +@@ -4329,7 +4329,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 9b7051cc..1ea25053 100644 --- a/build/patches/Disable-all-promo-dialogs.patch +++ b/build/patches/Disable-all-promo-dialogs.patch @@ -4,21 +4,18 @@ Subject: Disable all promo dialogs License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 + - chrome/browser/ui/browser_ui_prefs.cc | 2 +- - .../views/profiles/profile_picker_feature_promo_controller.cc | 1 + - .../user_education/impl/browser_feature_promo_controller_20.cc | 1 + - .../chrome/browser/user_education/UserEducationHelper.java | 1 + - .../browser/user_education/user_education_service_factory.cc | 1 + - .../common/feature_promo/feature_promo_registry.cc | 2 ++ - .../common/feature_promo/impl/feature_promo_controller_20.cc | 1 + - .../common/feature_promo/impl/feature_promo_controller_25.cc | 3 ++- - 9 files changed, 11 insertions(+), 2 deletions(-) + .../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 + + chrome/browser/ui/browser_ui_prefs.cc | 2 +- + .../chrome/browser/user_education/UserEducationHelper.java | 1 + + chrome/browser/user_education/user_education_service_factory.cc | 1 + + .../common/feature_promo/feature_promo_registry.cc | 2 ++ + .../common/feature_promo/impl/feature_promo_queue.cc | 1 + + 6 files changed, 7 insertions(+), 1 deletion(-) 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 -@@ -1976,6 +1976,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -2066,6 +2066,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { } private boolean maybeShowPromo(Profile profile) { @@ -29,7 +26,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 -@@ -188,7 +188,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -191,7 +191,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled, false); @@ -38,28 +35,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u registry->RegisterBooleanPref( prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox, true); registry->RegisterBooleanPref(prefs::kScreenCaptureAllowed, true); -diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc ---- a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc -+++ b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc -@@ -36,6 +36,7 @@ user_education::FeaturePromoResult - ProfilePickerFeaturePromoController::CanShowPromoForElement( - ui::TrackedElement* anchor_element, - const user_education::UserEducationContextPtr&) const { -+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi; - return ProfilePicker::IsOpen() - ? user_education::FeaturePromoResult::Success() - : user_education::FeaturePromoResult::kBlockedByUi; -diff --git a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc ---- a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc -+++ b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc -@@ -47,6 +47,7 @@ user_education::FeaturePromoResult - BrowserFeaturePromoController20::CanShowPromoForElement( - ui::TrackedElement* anchor_element, - const user_education::UserEducationContextPtr& context) const { -+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi; - auto* const browser_context = context->AsA(); - CHECK(browser_context && browser_context->IsValid()); - auto* const browser_view = &browser_context->GetBrowserView(); diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java --- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java +++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java @@ -101,35 +76,15 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist const base::Feature* const iph_feature = spec.feature; CHECK(iph_feature); FeatureRegistry::RegisterFeature(*iph_feature, -diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc ---- a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc -+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc -@@ -109,6 +109,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon( - const UserEducationContextPtr& context, - ShowSource source, - CanShowPromoOutputs* outputs) const { -+ if ((true)) return FeaturePromoResult::kBlockedByContext; - const bool for_demo = source == ShowSource::kDemo; - - // Ensure that this promo isn't already queued for startup. -diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc ---- a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc -+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc -@@ -189,6 +189,7 @@ FeaturePromoController25::~FeaturePromoController25() { - FeaturePromoResult FeaturePromoController25::CanShowPromo( - const FeaturePromoParams& params, +diff --git a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc +--- a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc ++++ b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc +@@ -76,6 +76,7 @@ FeaturePromoResult FeaturePromoQueue::CanShow( + const FeaturePromoSpecification& spec, + const FeaturePromoParams& promo_params, const UserEducationContextPtr& context) const { -+ if ((true)) return FeaturePromoResult::kBlockedByContext; - auto* const spec = registry()->GetParamsForFeature(*params.feature); - if (!spec) { - return FeaturePromoResult::kError; -@@ -211,7 +212,7 @@ void FeaturePromoController25::MaybeShowStartupPromo( - void FeaturePromoController25::MaybeShowPromo(FeaturePromoParams params, - UserEducationContextPtr context) { - auto* const spec = registry()->GetParamsForFeature(*params.feature); -- if (!spec) { -+ if (((true)) || !spec) { - PostShowPromoResult(*params.feature, - std::move(params.show_promo_result_callback), - FeaturePromoResult::kError); ++ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi; + auto required = required_preconditions_provider_->GetPreconditions( + spec, promo_params, context); + UnownedTypedDataCollection data; -- diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch index 68b251e5..6a3fbfbb 100644 --- a/build/patches/Disable-conversion-measurement-api.patch +++ b/build/patches/Disable-conversion-measurement-api.patch @@ -53,7 +53,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 -@@ -1350,6 +1350,7 @@ network::mojom::AttributionSupport +@@ -1371,6 +1371,7 @@ network::mojom::AttributionSupport AwContentBrowserClient::GetAttributionSupport( AttributionReportingOsApiState state, bool client_os_disabled) { @@ -61,7 +61,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: -@@ -1368,6 +1369,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( +@@ -1389,6 +1390,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed( const url::Origin* destination_origin, const url::Origin* reporting_origin, bool* can_bypass) { @@ -82,7 +82,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja @SpeculativeLoadingAllowedFlags private int mSpeculativeLoadingAllowedFlags = -@@ -1813,7 +1813,7 @@ public class AwSettings { +@@ -1820,7 +1820,7 @@ public class AwSettings { public void setAttributionBehavior(@AttributionBehavior int behavior) { synchronized (mAwSettingsLock) { if (mAttributionBehavior != behavior) { @@ -94,7 +94,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 -@@ -190,9 +190,6 @@ +@@ -191,9 +191,6 @@ android:exported="true"> @@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro GetSwitchValueASCII(switches::kProcessType); const bool is_browser_process = process_type.empty(); diff --git a/build/patches/Enable-menu-on-reload-button.patch b/build/patches/Enable-menu-on-reload-button.patch index b4fd10a6..4389ffc4 100644 --- a/build/patches/Enable-menu-on-reload-button.patch +++ b/build/patches/Enable-menu-on-reload-button.patch @@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -4859,10 +4859,10 @@ are declared in tools/grit/grit_args.gni. +@@ -4899,10 +4899,10 @@ are declared in tools/grit/grit_args.gni. Normal Reload @@ -30,7 +30,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -691,7 +691,7 @@ void ToolbarView::Update(WebContents* tab) { +@@ -1140,7 +1140,7 @@ void ToolbarView::Update(WebContents* tab) { if (ReloadControl* reload_control = GetReloadButton(); reload_control) { reload_control->SetDevToolsStatus( diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 314f9717..bf7a2e9b 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -16,13 +16,12 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../settings/PasswordSettings.java | 84 ++++++++++++++++- - .../chrome/browser/settings/MainSettings.java | 17 +--- + .../chrome/browser/settings/MainSettings.java | 18 +--- .../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++-- chrome/browser/android/tab_android.cc | 4 +- chrome/browser/autofill/android/BUILD.gn | 2 +- .../autofill/AutofillClientProviderUtils.java | 2 +- ...AutofillThirdPartyModeContentProvider.java | 1 + - .../glic/actor_form_filling_service_impl.cc | 16 ++-- .../strings/android_chrome_strings.grd | 6 ++ .../ui/autofill/autofill_client_provider.cc | 94 +------------------ .../ui/autofill/autofill_client_provider.h | 6 -- @@ -45,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../foundations/browser_autofill_manager.h | 2 + .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 + - 30 files changed, 247 insertions(+), 143 deletions(-) + 29 files changed, 239 insertions(+), 136 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java 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 @@ -187,13 +186,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage 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 -@@ -626,21 +626,8 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -627,22 +627,8 @@ public class MainSettings extends ChromeBaseSettingsFragment } private void updateAutofillPreferences() { - addPreferenceIfAbsent(PREF_AUTOFILL_SECTION); - addPreferenceIfAbsent(PREF_AUTOFILL_OPTIONS); - Preference autofillOptionsPreference = findPreference(PREF_AUTOFILL_OPTIONS); +- autofillOptionsPreference.setTitle(AutofillOptionsMediator.getFragmentTitle(getContext())); - autofillOptionsPreference.setFragment(null); - autofillOptionsPreference.setOnPreferenceClickListener( - preference -> { @@ -214,8 +214,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe 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 -@@ -122,6 +122,13 @@ import java.lang.ref.WeakReference; - import java.nio.ByteBuffer; +@@ -122,6 +122,13 @@ import java.util.HashMap; + import java.util.Map; import java.util.Objects; +import org.chromium.components.autofill.AutofillSelectionMenuItemHelper; @@ -228,7 +228,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. -@@ -1330,6 +1337,11 @@ class TabImpl implements Tab { +@@ -1248,6 +1255,11 @@ class TabImpl implements Tab { } mObservers.clear(); @@ -240,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav if (!abortNavigationsFromTabClosures) mUserDataHost.destroy(); mTabViewManager.destroy(); hideNativePage(false, null); -@@ -1715,6 +1727,7 @@ class TabImpl implements Tab { +@@ -1637,6 +1649,7 @@ class TabImpl implements Tab { * @return iff the AutofillProvider should provide a ViewStructure when prompted. */ boolean providesAutofillStructure() { @@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav if (!mProfile.isNativeInitialized()) { return false; } -@@ -2497,16 +2510,21 @@ class TabImpl implements Tab { +@@ -2436,16 +2449,21 @@ class TabImpl implements Tab { * @return true if the the provider is available for the given WebContents. */ private boolean prepareAutofillProvider(WebContents newWebContents) { @@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav // TODO: crbug.com/432447902 — Provide only an activity context and push changes. mAutofillProvider = new AutofillProvider( -@@ -2516,7 +2534,16 @@ class TabImpl implements Tab { +@@ -2455,7 +2473,16 @@ class TabImpl implements Tab { getContext().getString(R.string.app_name)); TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid); } @@ -297,15 +297,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc --- a/chrome/browser/android/tab_android.cc +++ b/chrome/browser/android/tab_android.cc -@@ -39,6 +39,7 @@ - #include "chrome/browser/resource_coordinator/tab_load_tracker.h" +@@ -40,6 +40,7 @@ #include "chrome/browser/sync/glue/synced_tab_delegate_android.h" + #include "chrome/browser/tab/web_contents_state.h" #include "chrome/browser/tab_contents/tab_util.h" +#include "chrome/browser/ui/autofill/chrome_autofill_client.h" #include "chrome/browser/ui/android/context_menu_helper.h" #include "chrome/browser/ui/android/tab_model/tab_model.h" #include "chrome/browser/ui/android/tab_model/tab_model_list.h" -@@ -418,8 +419,7 @@ void TabAndroid::InitializeAutofillIfNecessary() { +@@ -417,8 +418,7 @@ void TabAndroid::InitializeAutofillIfNecessary() { ->MaybeInitKeyboardSuppressor(); return; } @@ -318,7 +318,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_ diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn --- a/chrome/browser/autofill/android/BUILD.gn +++ b/chrome/browser/autofill/android/BUILD.gn -@@ -181,7 +181,7 @@ android_library("bottom_sheet_utils_java") { +@@ -187,7 +187,7 @@ android_library("bottom_sheet_utils_java") { generate_jni("jni_headers") { sources = [ "java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java", @@ -352,36 +352,10 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse if (createContentUri().equals(uri)) { final String[] columns = {AUTOFILL_THIRD_PARTY_MODE_COLUMN}; MatrixCursor cursor = new MatrixCursor(columns, 1); -diff --git a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc ---- a/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc -+++ b/chrome/browser/autofill/glic/actor_form_filling_service_impl.cc -@@ -412,14 +412,14 @@ GetAutofillManager(const tabs::TabInterface& tab) { - if (!profile) { - return base::unexpected(kAutofillNotAvailable); - } -- if (AutofillClientProviderFactory::GetForProfile(profile) -- .uses_platform_autofill()) { -- // This is currently only possible on Android platforms, but this check -- // guards against this becoming applicable for Desktop platforms as well. -- // It is a requirement for the cast to `BrowserAutofillManager` to be -- // safe. -- return base::unexpected(kAutofillNotAvailable); -- } -+ // if (AutofillClientProviderFactory::GetForProfile(profile) -+ // .uses_platform_autofill()) { -+ // // This is currently only possible on Android platforms, but this check -+ // // guards against this becoming applicable for Desktop platforms as well. -+ // // It is a requirement for the cast to `BrowserAutofillManager` to be -+ // // safe. -+ // return base::unexpected(kAutofillNotAvailable); -+ // } - - ContentAutofillClient* const client = - ContentAutofillClient::FromWebContents(tab.GetContents()); 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 -@@ -332,6 +332,12 @@ CHAR_LIMIT guidelines: +@@ -336,6 +336,12 @@ CHAR_LIMIT guidelines: You and Google @@ -532,7 +506,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow 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 -@@ -377,9 +377,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -380,9 +380,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { web_contents); ChainedBackNavigationTracker::CreateForWebContents(web_contents); chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents); @@ -609,7 +583,7 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component @@ -366,5 +368,6 @@ public class AutofillManagerWrapper { // NOTE: See the comment on TAG above for why this is still AwAutofillManager. // Check the system setting directly. - sIsLoggable = android.util.Log.isLoggable(TAG, Log.DEBUG); + sIsLoggable = Log.isLoggable(TAG, Log.DEBUG); + // sIsLoggable = true; // to force enable the log } } @@ -686,7 +660,7 @@ new file mode 100644 diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc --- a/components/autofill/content/browser/content_autofill_driver.cc +++ b/components/autofill/content/browser/content_autofill_driver.cc -@@ -279,6 +279,13 @@ void RouteToManager(ContentAutofillDriver& source, +@@ -280,6 +280,13 @@ void RouteToManager(ContentAutofillDriver& source, AutofillManager& manager = target.GetAutofillManager(); (manager.* manager_fun)(WithNewVersion(std::forward(args))...); @@ -700,7 +674,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }, source, Lift(source, std::forward(args))...); } -@@ -694,6 +701,10 @@ ContentAutofillDriver::GetAutofillAgent() { +@@ -700,6 +707,10 @@ ContentAutofillDriver::GetAutofillAgent() { return autofill_agent_; } @@ -727,7 +701,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; } const content::RenderFrameHost* render_frame_host() const { return &*render_frame_host_; -@@ -315,6 +321,10 @@ class ContentAutofillDriver : public AutofillDriver, +@@ -316,6 +322,10 @@ class ContentAutofillDriver : public AutofillDriver, // The factory that created this driver. Outlives `this`. const raw_ref owner_; @@ -770,7 +744,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc --- a/components/autofill/content/renderer/autofill_agent.cc +++ b/components/autofill/content/renderer/autofill_agent.cc -@@ -1516,17 +1516,19 @@ void AutofillAgent::ShowSuggestions( +@@ -1615,17 +1615,19 @@ void AutofillAgent::ShowSuggestions( password_generation_agent_->ShowPasswordGenerationSuggestions( input_element, form_cache)) { is_popup_possibly_visible_ = true; @@ -838,7 +812,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h --- a/components/autofill/core/browser/foundations/autofill_manager.h +++ b/components/autofill/core/browser/foundations/autofill_manager.h -@@ -241,6 +241,8 @@ class AutofillManager +@@ -247,6 +247,8 @@ class AutofillManager LifecycleState new_state, base::PassKey pass_key); @@ -850,7 +824,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc --- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc +++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -877,6 +877,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() { +@@ -912,6 +912,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() { return weak_ptr_factory_.GetWeakPtr(); } @@ -862,7 +836,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h --- a/components/autofill/core/browser/foundations/browser_autofill_manager.h +++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h -@@ -440,6 +440,8 @@ class BrowserAutofillManager : public AutofillManager { +@@ -457,6 +457,8 @@ class BrowserAutofillManager : public AutofillManager { // latter check is needed because IPC messages can arrive out of order. void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp); diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch index 4288b993..b5257dd0 100644 --- a/build/patches/Enable-network-isolation-features.patch +++ b/build/patches/Enable-network-isolation-features.patch @@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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 -@@ -440,8 +440,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { +@@ -459,8 +459,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) { experiment_parts.push_back(kDiskCacheExperimentNameNone); // SplitCacheByIncludeCredentials experiment: experiment_parts.push_back(credentials_field_trial @@ -53,7 +53,7 @@ new file mode 100644 diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc --- a/net/http/http_cache.cc +++ b/net/http/http_cache.cc -@@ -724,7 +724,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) { +@@ -795,7 +795,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) { // static // Generate a key that can be used inside the cache. @@ -62,7 +62,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc const GURL& url, int load_flags, const NetworkIsolationKey& network_isolation_key, -@@ -761,8 +761,9 @@ std::string HttpCache::GenerateCacheKey( +@@ -832,8 +832,9 @@ std::string HttpCache::GenerateCacheKey( const bool is_initiator_cross_site = !net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url)); if (is_initiator_cross_site) { @@ -74,7 +74,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc } } isolation_key = base::StrCat( -@@ -781,10 +782,12 @@ std::string HttpCache::GenerateCacheKey( +@@ -852,10 +853,12 @@ std::string HttpCache::GenerateCacheKey( // Strip out the reference, username, and password sections of the URL and // concatenate with the credential_key, the post_key, and the network // isolation key if we are splitting the cache. @@ -88,7 +88,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc } // static -@@ -804,11 +807,13 @@ std::optional HttpCache::GenerateCacheKeyInternal( +@@ -875,11 +878,13 @@ std::optional HttpCache::GenerateCacheKeyInternal( const int64_t upload_data_identifier = request.upload_data_stream ? request.upload_data_stream->identifier() : int64_t{0}; @@ -106,7 +106,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc diff --git a/net/http/http_cache.h b/net/http/http_cache.h --- a/net/http/http_cache.h +++ b/net/http/http_cache.h -@@ -551,7 +551,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory { +@@ -591,7 +591,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory { // Generates a cache key given the various pieces used to construct the key. // Must not be called if a corresponding `CanGenerateCacheKeyForRequest` // returns false. diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch index 4da350a9..447fbb9a 100644 --- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch +++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch @@ -50,7 +50,7 @@ diff --git a/media/BUILD.gn b/media/BUILD.gn diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java --- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java +++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java -@@ -669,6 +669,8 @@ class AudioManagerAndroid { +@@ -678,6 +678,8 @@ class AudioManagerAndroid { break; } } @@ -118,7 +118,7 @@ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_ diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc --- a/media/filters/ffmpeg_demuxer.cc +++ b/media/filters/ffmpeg_demuxer.cc -@@ -726,6 +726,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() { +@@ -727,6 +727,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() { // FFmpeg doesn't understand xHE-AAC profiles yet, which can't be put in // ADTS anyways, so skip bitstream conversion when the profile is // unknown. @@ -190,7 +190,7 @@ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/supported_profile_helpers.cc --- a/media/gpu/windows/supported_profile_helpers.cc +++ b/media/gpu/windows/supported_profile_helpers.cc -@@ -344,7 +344,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( +@@ -364,7 +364,11 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( // // On Windows 7 the maximum resolution supported by media foundation is // 1920 x 1088. We use 1088 to account for 16x16 macro-blocks. @@ -202,7 +202,7 @@ diff --git a/media/gpu/windows/supported_profile_helpers.cc b/media/gpu/windows/ SupportedResolutionRange h264_profile; h264_profile.min_resolution = kMinResolution; h264_profile.max_landscape_resolution = kDefaultMaxH264Resolution; -@@ -352,7 +356,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( +@@ -372,7 +376,14 @@ SupportedResolutionRangeMap GetSupportedD3DVideoDecoderResolutions( // We don't have a way to map DXVA support to specific H.264 profiles, so just // mark all the common ones with the same level of support. constexpr VideoCodecProfile kSupportedH264Profiles[] = { diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch index 11565b91..778efc84 100644 --- a/build/patches/Enable-search-engine-settings-desktop-ui.patch +++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch @@ -121,7 +121,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 -@@ -328,6 +328,11 @@ are declared in tools/grit/grit_args.gni. +@@ -326,6 +326,11 @@ are declared in tools/grit/grit_args.gni. @@ -133,7 +133,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources -@@ -534,7 +539,7 @@ are declared in tools/grit/grit_args.gni. +@@ -532,7 +537,7 @@ are declared in tools/grit/grit_args.gni. Disable @@ -156,7 +156,7 @@ diff --git a/chrome/app/generated_resources.grd.gritdeps b/chrome/app/generated_ 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 -@@ -2397,6 +2397,9 @@ +@@ -2473,6 +2473,9 @@ URL with %s in place of query @@ -434,7 +434,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 -@@ -3686,6 +3686,9 @@ static_library("browser") { +@@ -3600,6 +3600,9 @@ static_library("browser") { "//components/user_scripts/android", ] } @@ -447,7 +447,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 -@@ -378,6 +378,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -388,6 +388,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( #endif // !BUILDFLAG(IS_CHROMEOS) >(map); @@ -472,7 +472,7 @@ diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensi diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn -@@ -28,6 +28,13 @@ group("resources") { +@@ -32,6 +32,13 @@ group("resources") { public_deps += [ ":component_extension_resources" ] } @@ -501,7 +501,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc diff --git a/chrome/browser/resources/settings/lazy_load.ts b/chrome/browser/resources/settings/lazy_load.ts --- a/chrome/browser/resources/settings/lazy_load.ts +++ b/chrome/browser/resources/settings/lazy_load.ts -@@ -142,7 +142,7 @@ export {CrTextareaElement} from 'chrome://resources/cr_elements/cr_textarea/cr_t +@@ -141,7 +141,7 @@ export {CrTextareaElement} from 'chrome://resources/cr_elements/cr_textarea/cr_t export {CrToastElement} from 'chrome://resources/cr_elements/cr_toast/cr_toast.js'; export {getToastManager} from 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.js'; export {CrTooltipElement} from 'chrome://resources/cr_elements/cr_tooltip/cr_tooltip.js'; @@ -845,9 +845,9 @@ diff --git a/chrome/browser/search/background/BUILD.gn b/chrome/browser/search/b diff --git a/chrome/browser/search_engines/android/BUILD.gn b/chrome/browser/search_engines/android/BUILD.gn --- a/chrome/browser/search_engines/android/BUILD.gn +++ b/chrome/browser/search_engines/android/BUILD.gn -@@ -86,6 +86,7 @@ android_resources("java_resources") { - "java/res/layout/custom_search_engine_list_preference.xml", - "java/res/layout/default_search_engine_dialog_view.xml", +@@ -111,6 +111,7 @@ android_resources("java_resources") { + "java/res/layout/keyboard_shortcut_radio_group.xml", + "java/res/layout/preference_list_recycler_view.xml", "java/res/layout/search_engine_choice_header.xml", + "java/res/layout/search_engine_layout.xml", "java/res/layout/search_engine_recent_title.xml", @@ -930,7 +930,7 @@ 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 -@@ -679,7 +679,11 @@ static_library("ui") { +@@ -705,7 +705,11 @@ static_library("ui") { if (is_desktop_android) { deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ] } @@ -943,7 +943,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) { -@@ -1018,6 +1022,25 @@ static_library("ui") { +@@ -1049,6 +1053,25 @@ static_library("ui") { "//extensions/browser:extension_action_enums", ] } @@ -972,7 +972,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc --- a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc +++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc -@@ -93,9 +93,11 @@ bool EditSearchEngineController::IsKeywordValid( +@@ -50,12 +50,14 @@ bool EditSearchEngineController::IsKeywordValid( void EditSearchEngineController::AcceptAddOrEdit( const std::u16string& title_input, const std::u16string& keyword_input, @@ -980,12 +980,15 @@ diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b + const std::string& url_input, + const std::string& url_suggestion_input) { DCHECK(!keyword_input.empty()); - std::string url_string = GetFixedUpURL(url_input); + TemplateURLService* template_url_service = + TemplateURLServiceFactory::GetForProfile(profile_); + std::string url_string = GetFixedUpSearchEngineUrl( + url_input, template_url_service->search_terms_data()); + std::string url_suggestion = GetFixedUpURL(url_suggestion_input); DCHECK(!url_string.empty()); - TemplateURLService* template_url_service = -@@ -119,12 +121,12 @@ void EditSearchEngineController::AcceptAddOrEdit( + const TemplateURL* existing = +@@ -77,12 +79,12 @@ void EditSearchEngineController::AcceptAddOrEdit( DCHECK(template_url_); template_url_service->AddWithOverrides( base::WrapUnique(template_url_.get()), title_input, keyword_input, @@ -1093,7 +1096,7 @@ diff --git a/chrome/browser/ui/search_engines/keyword_editor_controller.h b/chro diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chrome/browser/ui/search_engines/template_url_table_model.cc --- a/chrome/browser/ui/search_engines/template_url_table_model.cc +++ b/chrome/browser/ui/search_engines/template_url_table_model.cc -@@ -210,7 +210,8 @@ void TemplateURLTableModel::Remove(size_t index) { +@@ -139,7 +139,8 @@ void TemplateURLTableModel::Remove(size_t index) { void TemplateURLTableModel::Add(size_t index, const std::u16string& short_name, const std::u16string& keyword, @@ -1103,7 +1106,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro DCHECK(index <= RowCount()); DCHECK(!url.empty()); TemplateURLData data; -@@ -218,13 +219,15 @@ void TemplateURLTableModel::Add(size_t index, +@@ -147,13 +148,15 @@ void TemplateURLTableModel::Add(size_t index, data.SetKeyword(keyword); data.SetURL(url); data.is_active = TemplateURLData::ActiveStatus::kTrue; @@ -1120,7 +1123,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro DCHECK(index <= RowCount()); DCHECK(!url.empty()); TemplateURL* template_url = GetTemplateURL(index); -@@ -233,7 +236,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index, +@@ -162,7 +165,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index, DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url || template_url->SupportsReplacement( template_url_service_->search_terms_data())); @@ -1132,7 +1135,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrome/browser/ui/search_engines/template_url_table_model.h --- a/chrome/browser/ui/search_engines/template_url_table_model.h +++ b/chrome/browser/ui/search_engines/template_url_table_model.h -@@ -85,13 +85,15 @@ class TemplateURLTableModel : public ui::TableModel, +@@ -59,13 +59,15 @@ class TemplateURLTableModel : public ui::TableModel, void Add(size_t index, const std::u16string& short_name, const std::u16string& keyword, @@ -1153,7 +1156,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrom diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -66,6 +66,11 @@ +@@ -70,6 +70,11 @@ #include "components/user_scripts/browser/ui/user_scripts_ui.h" #endif @@ -1252,7 +1255,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome/browser/ui/webui/settings/search_engines_handler.cc --- a/chrome/browser/ui/webui/settings/search_engines_handler.cc +++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc -@@ -37,10 +37,12 @@ +@@ -38,10 +38,12 @@ #include "components/search_engines/template_url_service.h" #include "components/search_engines/template_url_starter_pack_data.h" #include "content/public/browser/web_ui.h" @@ -1265,7 +1268,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome #if BUILDFLAG(IS_CHROMEOS) #include "ash/public/cpp/new_window_delegate.h" -@@ -52,6 +54,7 @@ namespace { +@@ -53,6 +55,7 @@ namespace { const char kSearchEngineField[] = "searchEngine"; const char kKeywordField[] = "keyword"; const char kQueryUrlField[] = "queryUrl"; @@ -1273,7 +1276,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome // Dummy number used for indicating that a new search engine is added. const int kNewSearchEngineIndex = -1; -@@ -255,9 +258,10 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( +@@ -256,9 +259,10 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN)); dict.Set("keyword", table_model->GetText( index, IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN)); @@ -1285,7 +1288,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome dict.Set("urlLocked", ((template_url->prepopulate_id() > 0) || (template_url->starter_pack_id() != -@@ -276,6 +280,8 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( +@@ -277,6 +281,8 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( #endif } @@ -1294,7 +1297,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome // The icons that are used for search engines in the EEA region are bundled // with Chrome. We use the favicon service for countries outside the EEA // region to guarantee having icons for all search engines. -@@ -292,6 +298,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( +@@ -293,6 +299,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( base::StrCat({"chrome://theme/", template_url->GetBuiltinImageResourceId(), "@2x"})); } @@ -1302,7 +1305,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome dict.Set("modelIndex", base::checked_cast(index)); -@@ -310,6 +317,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( +@@ -311,6 +318,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( dict.Set("isStarterPack", template_url->starter_pack_id() != template_url_starter_pack_data::StarterPackId::kNone); @@ -1310,7 +1313,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION || type == TemplateURL::OMNIBOX_API_EXTENSION) { const extensions::Extension* extension = -@@ -325,6 +333,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( +@@ -326,6 +334,7 @@ base::DictValue SearchEnginesHandler::CreateDictionaryForEngine( dict.Set("extension", std::move(ext_info)); } } @@ -1318,7 +1321,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome return dict; } -@@ -427,12 +436,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted( +@@ -428,12 +437,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted( void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url, const std::u16string& title, const std::u16string& keyword, @@ -1335,7 +1338,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome } edit_controller_.reset(); -@@ -462,6 +472,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name, +@@ -463,6 +473,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name, is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value)); } else if (field_name.compare(kQueryUrlField) == 0) { is_valid = edit_controller_->IsURLValid(field_value); @@ -1344,7 +1347,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome } else { NOTREACHED(); } -@@ -484,18 +496,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted( +@@ -485,18 +497,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted( return; } @@ -1384,7 +1387,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 -@@ -2901,6 +2901,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { +@@ -2931,6 +2931,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) { {"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL}, {"searchEnginesQueryURLExplanation", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION}, @@ -1393,7 +1396,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}, -@@ -4229,7 +4231,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, +@@ -4262,7 +4264,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source, AddSiteSettingsStrings(html_source, profile); AddSiteDataPageStrings(html_source, profile); AddStorageAccessStrings(html_source); @@ -1886,7 +1889,7 @@ new file mode 100644 diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -192,6 +192,17 @@ template("chrome_extra_paks") { +@@ -200,6 +200,17 @@ template("chrome_extra_paks") { deps += [ "//chrome/browser/resources:component_extension_resources" ] } @@ -1930,7 +1933,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 -@@ -431,7 +431,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( +@@ -433,7 +433,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine( if (regulatory_api_turl->safe_for_autoreplace()) { template_url_service_->ResetTemplateURL( regulatory_api_turl, regulatory_api_turl->short_name(), @@ -1978,7 +1981,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 -@@ -802,13 +802,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( +@@ -799,13 +799,15 @@ TemplateURL* TemplateURLService::AddWithOverrides( std::unique_ptr template_url, const std::u16string& short_name, const std::u16string& keyword, @@ -1995,7 +1998,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear return Add(std::move(template_url)); } -@@ -1031,7 +1033,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { +@@ -1028,7 +1030,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) { void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -2005,7 +2008,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear DCHECK(!IsCreatedByExtension(*url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -1051,6 +1054,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, +@@ -1048,6 +1051,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url, // The urls have changed, reset the favicon url. data.favicon_url = GURL(); } @@ -2129,7 +2132,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", -@@ -230,6 +240,12 @@ ts_library("library") { +@@ -224,6 +234,12 @@ ts_library("library") { [ "components-chromium/iron-fit-behavior/iron-fit-behavior.d.ts" ] } @@ -2324,16 +2327,16 @@ 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 -@@ -49,7 +49,7 @@ build_webui("build") { - "cr_tabs/cr_tabs.css", - ] +@@ -87,7 +87,7 @@ build_webui("build") { + ] + } - if ((!is_android && !is_ios) || is_desktop_android) { + if ((!is_ios) || is_desktop_android) { - web_component_files += [ "cr_a11y_announcer/cr_a11y_announcer.ts" ] - + static_files = [ "cr_a11y_announcer/cr_a11y_announcer.css" ] ts_files += [ -@@ -142,7 +142,7 @@ build_webui("build") { + "cr_radio_button/cr_radio_button_mixin_lit.ts", +@@ -163,7 +163,7 @@ build_webui("build") { ] } @@ -2342,7 +2345,7 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_ele ts_files += [ "cr_radio_button/cr_radio_button_mixin.ts", "cr_ripple/cr_ripple_mixin_polymer.ts", -@@ -237,7 +237,7 @@ build_webui("build") { +@@ -246,7 +246,7 @@ build_webui("build") { "../js:build_ts", "//third_party/lit/v3_0:build_ts", ] @@ -2387,8 +2390,8 @@ diff --git a/ui/webui/resources/cr_elements/cr_shared_vars.css b/ui/webui/resour } @media (prefers-color-scheme: dark) { -@@ -365,3 +367,9 @@ html { - --cr-fallback-color-disabled-foreground: GrayText; +@@ -371,3 +373,9 @@ html { + --cr-animations-disabled: 1; } } + diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch index b341e1d3..0db19c97 100644 --- a/build/patches/Enable-share-intent.patch +++ b/build/patches/Enable-share-intent.patch @@ -35,7 +35,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 -@@ -598,6 +598,7 @@ chrome_java_resources = [ +@@ -596,6 +596,7 @@ chrome_java_resources = [ "java/res/layout/shopping_accessory_view_layout.xml", "java/res/layout/status_indicator_container.xml", "java/res/layout/suggestions_tile_view_condensed.xml", @@ -46,7 +46,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 -@@ -1057,6 +1057,7 @@ chrome_java_sources = [ +@@ -1072,6 +1072,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java", "java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java", "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java", @@ -57,7 +57,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java 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 -@@ -277,12 +277,6 @@ by a child template that "extends" this file. +@@ -279,12 +279,6 @@ by a child template that "extends" this file. @@ -70,7 +70,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -361,6 +355,10 @@ by a child template that "extends" this file. +@@ -363,6 +357,10 @@ by a child template that "extends" this file. @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -397,6 +395,24 @@ by a child template that "extends" this file. +@@ -399,6 +397,24 @@ by a child template that "extends" this file. @@ -202,7 +202,7 @@ new file mode 100644 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 -@@ -200,6 +200,9 @@ public class IntentHandler { +@@ -204,6 +204,9 @@ public class IntentHandler { private static final String EXTRA_TAB_LAUNCH_TYPE = "org.chromium.chrome.browser.tab_launch_type"; @@ -212,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** A hash code for the URL to verify intent data hasn't been modified. */ public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash"; -@@ -1539,6 +1542,17 @@ public class IntentHandler { +@@ -1540,6 +1543,17 @@ public class IntentHandler { return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID); } @@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j /** * Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent * will be trusted and therefore able to launch Incognito tabs. -@@ -1749,7 +1763,7 @@ public class IntentHandler { +@@ -1750,7 +1764,7 @@ public class IntentHandler { String headers = getExtraHeadersFromIntent(intent); headers = maybeAddAdditionalContentHeaders(intent, url, headers); @@ -242,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j 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 -@@ -352,8 +352,8 @@ public class LaunchIntentDispatcher { +@@ -361,8 +361,8 @@ public class LaunchIntentDispatcher { /*incognito*/true); newIntent.setData(mIntent.getData()); newIntent.setPackage(applicationContext.getPackageName()); @@ -290,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/document/Chrome diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -107,6 +107,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl; +@@ -110,6 +110,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl; import org.chromium.chrome.browser.ui.cars.DrivingRestrictionsManager; import org.chromium.chrome.browser.ui.hats.SurveyClientFactory; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager; @@ -298,7 +298,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni import org.chromium.chrome.browser.usb.UsbNotificationManager; import org.chromium.chrome.browser.util.AfterStartupTaskUtils; import org.chromium.chrome.browser.webapps.ChromeWebApkHost; -@@ -692,6 +693,7 @@ public class ProcessInitializationHandler { +@@ -705,6 +706,7 @@ public class ProcessInitializationHandler { tasks.add(WebApkUninstallTracker::runDeferredTasks); @@ -473,7 +473,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 -@@ -412,6 +412,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -417,6 +417,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kRelatedSearchesAllLanguage, &kRelatedSearchesSwitch, &kReloadTabUiResourcesIfChanged, @@ -484,7 +484,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 -@@ -578,6 +578,7 @@ public abstract class ChromeFeatureList { +@@ -583,6 +583,7 @@ public abstract class ChromeFeatureList { public static final String RECENTLY_CLOSED_TABS_AND_WINDOWS = "RecentlyClosedTabsAndWindows"; public static final String RECORD_INCOGNITO_NTP_TIME_TO_FIRST_NAVIGATION_METRIC = "RecordIncognitoNtpTimeToFirstNavigationMetric"; @@ -495,7 +495,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 -@@ -6477,6 +6477,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -6613,6 +6613,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d Make sure a phone app is enabled on this device 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 5697d305..88dca234 100644 --- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch +++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch @@ -72,7 +72,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/ /** * @description Title of a setting under the Debugger category that can be invoked through the Command Menu */ -@@ -414,6 +418,25 @@ Common.Settings.registerSettingExtension({ +@@ -426,6 +430,25 @@ Common.Settings.registerSettingExtension({ ], }); @@ -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 -@@ -1535,6 +1535,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume +@@ -1548,6 +1548,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 -@@ -5475,6 +5475,10 @@ export namespace ProtocolMapping { +@@ -5511,6 +5511,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 -@@ -4925,6 +4925,8 @@ declare namespace ProtocolProxyApi { +@@ -4957,6 +4957,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 -@@ -20821,6 +20821,10 @@ export namespace Debugger { +@@ -21087,6 +21087,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 -@@ -31640,8 +31640,17 @@ +@@ -31997,8 +31997,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, -@@ -34831,4 +34840,4 @@ +@@ -35188,4 +35197,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 -@@ -777,6 +777,7 @@ namespace internal { +@@ -778,6 +778,7 @@ namespace internal { /* AggregateError */ \ T(AllPromisesRejected, "All promises were rejected") \ T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \ @@ -210,7 +210,7 @@ diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h diff --git a/v8/src/debug/debug-interface.cc b/v8/src/debug/debug-interface.cc --- a/v8/src/debug/debug-interface.cc +++ b/v8/src/debug/debug-interface.cc -@@ -1085,6 +1085,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) { +@@ -1090,6 +1090,11 @@ void SetAsyncEventDelegate(Isolate* v8_isolate, AsyncEventDelegate* delegate) { reinterpret_cast(v8_isolate)->set_async_event_delegate(delegate); } @@ -260,7 +260,7 @@ diff --git a/v8/src/debug/debug.h b/v8/src/debug/debug.h diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc --- a/v8/src/execution/messages.cc +++ b/v8/src/execution/messages.cc -@@ -487,6 +487,7 @@ MaybeHandle MessageFormatter::TryFormat( +@@ -488,6 +488,7 @@ MaybeHandle MessageFormatter::TryFormat( MessageTemplate::kUndefinedOrNullToObject, MessageTemplate::kUnexpectedStrictReserved, MessageTemplate::kUnexpectedTokenIdentifier, @@ -271,7 +271,7 @@ diff --git a/v8/src/execution/messages.cc b/v8/src/execution/messages.cc diff --git a/v8/src/inspector/v8-debugger-agent-impl.cc b/v8/src/inspector/v8-debugger-agent-impl.cc --- a/v8/src/inspector/v8-debugger-agent-impl.cc +++ b/v8/src/inspector/v8-debugger-agent-impl.cc -@@ -1691,6 +1691,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) { +@@ -1697,6 +1697,14 @@ Response V8DebuggerAgentImpl::setAsyncCallStackDepth(int depth) { return Response::Success(); } @@ -300,7 +300,7 @@ diff --git a/v8/src/inspector/v8-debugger-agent-impl.h b/v8/src/inspector/v8-deb diff --git a/v8/src/runtime/runtime-debug.cc b/v8/src/runtime/runtime-debug.cc --- a/v8/src/runtime/runtime-debug.cc +++ b/v8/src/runtime/runtime-debug.cc -@@ -176,9 +176,10 @@ RUNTIME_FUNCTION(Runtime_DebugBreakAtEntry) { +@@ -175,9 +175,10 @@ RUNTIME_FUNCTION(Runtime_DebugBreakAtEntry) { } RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) { @@ -313,7 +313,7 @@ diff --git a/v8/src/runtime/runtime-debug.cc b/v8/src/runtime/runtime-debug.cc isolate->debug()->HandleDebugBreak( kIgnoreIfTopFrameBlackboxed, v8::debug::BreakReasons({v8::debug::BreakReason::kDebuggerStatement})); -@@ -186,6 +187,18 @@ RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) { +@@ -185,6 +186,18 @@ RUNTIME_FUNCTION(Runtime_HandleDebuggerStatement) { return isolate->TerminateExecution(); } } diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index d9c3b8d3..49c95180 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -229,9 +229,9 @@ 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 -@@ -169,7 +169,11 @@ if (_is_default_toolchain) { - sources = chrome_java_resources - sources += [ "//chrome/android/java/res_app/layout/main.xml" ] +@@ -173,7 +173,11 @@ if (_is_default_toolchain) { + "//chrome/android/java/res_app/layout/main_forked_with_secondary_ui_container.xml", + ] - deps = [ + # this need to be into android_resources("chrome_app_java_resources") section because @@ -242,7 +242,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn ":chrome_base_module_resources", ":ui_locale_string_resources", "//chrome/android/webapk/libs/common:splash_resources", -@@ -714,6 +718,7 @@ if (_is_default_toolchain) { +@@ -724,6 +728,7 @@ if (_is_default_toolchain) { "//components/ukm/android:java", "//components/url_formatter/android:url_formatter_java", "//components/user_prefs/android:java", @@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/variations:variations_java", "//components/variations/android:variations_java", "//components/viz/service:service_java", -@@ -1737,6 +1742,7 @@ if (_is_default_toolchain) { +@@ -1755,6 +1760,7 @@ if (_is_default_toolchain) { java_group("chrome_public_non_pak_assets") { deps = [ "//chrome/android/webapk/libs/runtime_library:runtime_library_assets", @@ -261,7 +261,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn 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 -@@ -149,6 +149,11 @@ found in the LICENSE file. +@@ -147,6 +147,11 @@ found in the LICENSE file. android:key="useragent_settings" android:order="20" android:title="@string/prefs_useragent_settings"/> @@ -300,7 +300,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java -@@ -151,6 +151,8 @@ import java.util.Date; +@@ -155,6 +155,8 @@ import java.util.Date; import java.util.List; import java.util.Locale; @@ -309,7 +309,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni /** * Handles the initialization dependences of the browser process. This is meant to handle the * initialization that is not tied to any particular Activity, and the logic that should only be -@@ -629,6 +631,8 @@ public class ProcessInitializationHandler { +@@ -642,6 +644,8 @@ public class ProcessInitializationHandler { DefaultBrowserInfo.initBrowserFetcher(); @@ -338,7 +338,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3671,6 +3671,13 @@ static_library("browser") { +@@ -3583,6 +3583,13 @@ static_library("browser") { ] deps += [ "//chrome/android/modules/dev_ui/provider:native" ] } @@ -355,7 +355,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 -@@ -191,6 +191,7 @@ +@@ -192,6 +192,7 @@ #include "components/ui_devtools/switches.h" #include "components/variations/variations_switches.h" #include "components/version_info/channel.h" @@ -366,15 +366,15 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -261,6 +261,7 @@ +@@ -267,6 +267,7 @@ #include "components/ntp_tiles/popular_sites_impl.h" #include "components/permissions/contexts/geolocation_permission_context_android.h" #include "components/webapps/browser/android/install_prompt_prefs.h" +#include "components/user_scripts/browser/user_script_prefs.h" #else // BUILDFLAG(IS_ANDROID) #include "chrome/browser/actor/ui/actor_ui_state_manager_prefs.h" - #include "chrome/browser/gcm/gcm_product_util.h" -@@ -1820,6 +1821,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, + #include "chrome/browser/desktop_to_mobile_promos/promos_utils.h" // nogncheck crbug.com/1125897 +@@ -1857,6 +1858,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, omnibox::RegisterProfilePrefs(registry); ZeroSuggestProvider::RegisterProfilePrefs(registry); NtpCustomBackgroundService::RegisterProfilePrefs(registry); @@ -387,7 +387,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn --- a/chrome/browser/profiles/BUILD.gn +++ b/chrome/browser/profiles/BUILD.gn -@@ -88,6 +88,9 @@ source_set("profile") { +@@ -96,6 +96,9 @@ source_set("profile") { "//content/public/browser", "//extensions/buildflags", ] @@ -400,7 +400,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn 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 -@@ -594,6 +594,11 @@ +@@ -602,6 +602,11 @@ #include "chrome/browser/net/nss_service_factory.h" #endif @@ -412,7 +412,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) { main_parts->AddParts(std::make_unique()); } -@@ -1454,6 +1459,10 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1474,6 +1479,10 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif WebDataServiceFactory::GetInstance(); webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance(); @@ -515,7 +515,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -62,6 +62,9 @@ +@@ -66,6 +66,9 @@ #include "chrome/browser/ui/webui/proxy_config_ui.h" @@ -539,7 +539,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -153,6 +153,7 @@ template("chrome_extra_paks") { +@@ -157,6 +157,7 @@ template("chrome_extra_paks") { "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak", "$root_gen_dir/third_party/blink/public/strings/permission_element_generated_strings.pak", "$root_gen_dir/ui/resources/ui_lottie_resources.pak", @@ -547,7 +547,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni "$root_gen_dir/ui/webui/resources/webui_resources.pak", ] -@@ -177,6 +178,7 @@ template("chrome_extra_paks") { +@@ -185,6 +186,7 @@ template("chrome_extra_paks") { "//third_party/blink/public/strings:permission_element_generated_strings", "//ui/resources:ui_lottie_resources_grd", "//ui/webui/resources", @@ -585,7 +585,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc -@@ -266,6 +266,11 @@ +@@ -268,6 +268,11 @@ #include "chrome/renderer/media/chrome_key_systems.h" #endif @@ -597,7 +597,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer using autofill::AutofillAgent; using autofill::PasswordAutofillAgent; using autofill::PasswordGenerationAgent; -@@ -435,6 +440,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { +@@ -437,6 +442,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { WebString::FromASCII(extensions::kExtensionScheme)); #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) @@ -612,7 +612,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_SPELLCHECK) if (!spellcheck_) InitSpellCheck(); -@@ -629,6 +642,15 @@ void ChromeContentRendererClient::RenderFrameCreated( +@@ -635,6 +648,15 @@ void ChromeContentRendererClient::RenderFrameCreated( render_frame, std::make_unique()); #endif @@ -628,7 +628,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #if BUILDFLAG(ENABLE_PAINT_PREVIEW) new paint_preview::PaintPreviewRecorderImpl(render_frame); #endif -@@ -1420,6 +1442,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( +@@ -1396,6 +1418,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart( render_frame); // |render_frame| might be dead by now. #endif @@ -646,7 +646,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentEnd( -@@ -1429,6 +1462,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( +@@ -1405,6 +1438,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd( render_frame); // |render_frame| might be dead by now. #endif @@ -664,7 +664,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer } void ChromeContentRendererClient::RunScriptsAtDocumentIdle( -@@ -1438,6 +1482,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( +@@ -1414,6 +1458,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle( render_frame); // |render_frame| might be dead by now. #endif @@ -696,7 +696,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/ #if BUILDFLAG(IS_CHROMEOS) #include "chrome/renderer/ash_merge_session_loader_throttle.h" #endif -@@ -228,6 +232,9 @@ void ChromeRenderThreadObserver::SetConfiguration( +@@ -214,6 +218,9 @@ void ChromeRenderThreadObserver::SetConfiguration( chrome::mojom::DynamicParamsPtr params) { base::AutoLock lock(dynamic_params_lock_); dynamic_params_ = std::move(params); @@ -709,7 +709,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/ diff --git a/components/components_strings.grd b/components/components_strings.grd --- a/components/components_strings.grd +++ b/components/components_strings.grd -@@ -343,6 +343,7 @@ +@@ -344,6 +344,7 @@ @@ -11493,7 +11493,7 @@ new file mode 100644 diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1265,6 +1265,12 @@ +@@ -1277,6 +1277,12 @@ "META": {"sizes": {"includes": [10]}}, "includes": [7495], }, diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index 28b88ed2..4a877e44 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -160,10 +160,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j -@@ -94,11 +85,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon +@@ -92,11 +83,6 @@ Use of this source code is governed by the GPLv3 that can be found in the compon + + android:order="16" /> - @@ -884,7 +884,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser 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 -@@ -6514,7 +6514,9 @@ ChromeContentBrowserClient:: +@@ -6598,7 +6598,9 @@ ChromeContentBrowserClient:: } bool ChromeContentBrowserClient::WillInterceptWebSocket( @@ -895,7 +895,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) if (!frame) { return false; -@@ -6537,9 +6539,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( +@@ -6621,9 +6623,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket( } void ChromeContentBrowserClient::CreateWebSocket( @@ -910,8 +910,8 @@ 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 -@@ -729,11 +729,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { - CreateURLLoaderHandlerForServiceWorkerNavigationPreload( +@@ -731,11 +731,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { + CreateURLLoaderHandlerForServiceWorkerInitiatedNavigationRequest( content::FrameTreeNodeId frame_tree_node_id, const network::ResourceRequest& resource_request) override; - bool WillInterceptWebSocket(content::RenderFrameHost* frame) override; @@ -1169,15 +1169,15 @@ diff --git a/chrome/browser/extensions/api/eyeo_filtering_private/eyeo_filtering 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 -@@ -36,6 +36,7 @@ - #include "chrome/common/chrome_features.h" +@@ -35,6 +35,7 @@ + #include "chrome/browser/ui/toolbar/toolbar_pref_names.h" #include "chrome/common/extensions/api/settings_private.h" #include "chrome/common/pref_names.h" +#include "components/adblock/core/common/adblock_prefs.h" #include "components/autofill/core/common/autofill_prefs.h" #include "components/bookmarks/common/bookmark_pref_names.h" #include "components/browsing_data/core/pref_names.h" -@@ -200,6 +201,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -205,6 +206,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { } s_allowlist = new PrefsUtil::TypedPrefMap(); @@ -1200,7 +1200,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 -@@ -256,7 +256,6 @@ +@@ -269,7 +269,6 @@ #include "chrome/common/buildflags.h" #include "chrome/common/chrome_features.h" #include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h" @@ -1208,7 +1208,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" -@@ -972,7 +971,6 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -987,7 +986,6 @@ void ChromeBrowserMainExtraPartsProfiles:: FederatedIdentityApiPermissionContextFactory::GetInstance(); FederatedIdentityAutoReauthnPermissionContextFactory::GetInstance(); FederatedIdentityPermissionContextFactory::GetInstance(); @@ -1227,7 +1227,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc "appearance_page/appearance_fonts_page.ts", "appearance_page/appearance_page.ts", "appearance_page/appearance_page_index.ts", -@@ -443,6 +444,7 @@ build_webui("build") { +@@ -433,6 +434,7 @@ build_webui("build") { ts_definitions = [ "//tools/typescript/definitions/autofill_private.d.ts", "//tools/typescript/definitions/chrome_event.d.ts", @@ -1796,7 +1796,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 -@@ -277,6 +277,10 @@ function createRoutes(): SettingsRoutes { +@@ -272,6 +272,10 @@ function createRoutes(): SettingsRoutes { '/onStartup', 'onStartup', loadTimeData.getString('onStartup')); } @@ -1875,7 +1875,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 -@@ -353,7 +353,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -356,7 +356,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { auto* original_profile = profile->GetOriginalProfile(); adblock::EnsureBackgroundServicesStarted(original_profile); adblock::RegisterAdblockWebContentObserver< @@ -1902,7 +1902,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -422,13 +415,6 @@ +@@ -421,13 +414,6 @@ // "desktop_android" is not supported. "platforms": ["chromeos", "linux", "mac", "win"] }, @@ -13012,7 +13012,7 @@ diff --git a/components/security_interstitials/core/browser/resources/interstiti diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/browser/websockets/websocket_connector_impl.cc --- a/content/browser/websockets/websocket_connector_impl.cc +++ b/content/browser/websockets/websocket_connector_impl.cc -@@ -92,15 +92,15 @@ void WebSocketConnectorImpl::Connect( +@@ -91,14 +91,14 @@ void WebSocketConnectorImpl::Connect( const uint32_t options = GetContentClient()->browser()->GetWebSocketOptions(frame); @@ -13022,19 +13022,18 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br - frame, + process, frame, base::BindOnce(ConnectCalledByContentBrowserClient, requested_protocols, - site_for_cookies, storage_access_api_status, - isolation_info_, frame_id_, origin_, - client_security_state_->Clone(), options, + storage_access_api_status, isolation_info_, frame_id_, + origin_, client_security_state_->Clone(), options, std::move(throttling_profile_id)), -- url, site_for_cookies, user_agent, std::move(handshake_client)); -+ url, origin_, site_for_cookies, user_agent, std::move(handshake_client)); +- url, isolation_info_.site_for_cookies(), user_agent, ++ url, origin_, isolation_info_.site_for_cookies(), user_agent, + std::move(handshake_client)); return; } - std::vector headers; 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 -@@ -1148,7 +1148,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( +@@ -1157,7 +1157,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory( DCHECK(browser_context); } @@ -13043,7 +13042,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b return false; } -@@ -1157,9 +1157,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { +@@ -1166,9 +1166,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) { } void ContentBrowserClient::CreateWebSocket( @@ -13058,7 +13057,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 -@@ -2145,7 +2145,7 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2163,7 +2163,7 @@ class CONTENT_EXPORT ContentBrowserClient { scoped_refptr navigation_response_task_runner); // Returns true when the embedder wants to intercept a websocket connection. @@ -13067,7 +13066,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); -@@ -2167,9 +2167,11 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -2185,9 +2185,11 @@ class CONTENT_EXPORT ContentBrowserClient { // Always called on the UI thread and only when the Network Service is // enabled. virtual void CreateWebSocket( @@ -13142,7 +13141,7 @@ diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/bl diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_party/blink/renderer/core/dom/events/event_target.cc --- a/third_party/blink/renderer/core/dom/events/event_target.cc +++ b/third_party/blink/renderer/core/dom/events/event_target.cc -@@ -855,10 +855,7 @@ bool EventTarget::dispatchEventForBindings(Event* event, +@@ -856,10 +856,7 @@ bool EventTarget::dispatchEventForBindings(Event* event, if (!GetExecutionContext()) return false; @@ -13157,7 +13156,7 @@ diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc --- a/third_party/blink/renderer/core/exported/web_document.cc +++ b/third_party/blink/renderer/core/exported/web_document.cc -@@ -301,6 +301,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( +@@ -326,6 +326,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( Document* document = Unwrap(); DCHECK(document); @@ -13174,7 +13173,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa auto* parsed_sheet = MakeGarbageCollected( MakeGarbageCollected(*document)); parsed_sheet->ParseString(source_code); -@@ -322,9 +332,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( +@@ -347,9 +357,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet( {SchedulingPolicy::DisableBackForwardCache()}); } @@ -13187,7 +13186,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 -@@ -2942,13 +2942,7 @@ void HTMLElement::setSpellcheck(bool enable) { +@@ -3010,13 +3010,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 6ad7adf0..11cc2346 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -31,7 +31,7 @@ diff --git a/BUILD.gn b/BUILD.gn diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h --- a/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h +++ b/chrome/browser/navigation_predictor/navigation_predictor_metrics_document_data.h -@@ -69,6 +69,8 @@ class NavigationPredictorMetricsDocumentData +@@ -75,6 +75,8 @@ class NavigationPredictorMetricsDocumentData UserInteractionsData(const UserInteractionsData&); UserInteractionsData& operator=(const UserInteractionsData&); @@ -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 -@@ -317,6 +317,7 @@ static_library("safe_browsing") { +@@ -325,6 +325,7 @@ static_library("safe_browsing") { "//components/version_info", "//content/public/browser", "//services/preferences/public/mojom", @@ -65,7 +65,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen diff --git a/components/contextual_tasks/internal/BUILD.gn b/components/contextual_tasks/internal/BUILD.gn --- a/components/contextual_tasks/internal/BUILD.gn +++ b/components/contextual_tasks/internal/BUILD.gn -@@ -45,6 +45,7 @@ source_set("internal") { +@@ -52,6 +52,7 @@ source_set("internal") { "//net", "//ui/gfx", "//url", @@ -133,7 +133,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 -@@ -365,6 +365,7 @@ void BindDateTimeChooserForFrame( +@@ -371,6 +371,7 @@ void BindDateTimeChooserForFrame( void BindTextSuggestionHostForFrame( RenderFrameHost* host, mojo::PendingReceiver receiver) { @@ -144,7 +144,7 @@ diff --git a/content/browser/browser_interface_binders.cc b/content/browser/brow diff --git a/services/webnn/dml/graph_impl_dml.cc b/services/webnn/dml/graph_impl_dml.cc --- a/services/webnn/dml/graph_impl_dml.cc +++ b/services/webnn/dml/graph_impl_dml.cc -@@ -246,6 +246,7 @@ base::expected CreateUnexpectedError( +@@ -242,6 +242,7 @@ base::expected CreateUnexpectedError( // Calculate the total byte length of buffers and the D3D12_RANGE for each // buffer, all with the required alignment. diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch index 062c121c..fc0ecd13 100644 --- a/build/patches/Fonts-fingerprinting-mitigation.patch +++ b/build/patches/Fonts-fingerprinting-mitigation.patch @@ -70,7 +70,7 @@ new file mode 100644 diff --git a/skia/ext/skia_utils_win.cc b/skia/ext/skia_utils_win.cc --- a/skia/ext/skia_utils_win.cc +++ b/skia/ext/skia_utils_win.cc -@@ -371,6 +371,26 @@ void CreateBitmapHeaderForXRGB888(int width, +@@ -369,6 +369,26 @@ void CreateBitmapHeaderForXRGB888(int width, CreateBitmapHeaderWithColorDepth(width, height, 32, hdr); } @@ -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 -@@ -441,6 +441,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE( +@@ -449,6 +449,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE( BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kFencedFrames); diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch index 91270aea..b7dc26e7 100644 --- a/build/patches/Guard-for-user-agent-reduction.patch +++ b/build/patches/Guard-for-user-agent-reduction.patch @@ -33,7 +33,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd 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 -@@ -4385,15 +4385,15 @@ +@@ -4523,15 +4523,15 @@ // If enabled, the platform version in User-Agent Data will be removed. // This feature is limited to Linux only. { diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch index b8c93cf8..a6c91d54 100644 --- a/build/patches/Hardening-against-incognito-mode-detection.patch +++ b/build/patches/Hardening-against-incognito-mode-detection.patch @@ -4,14 +4,14 @@ Subject: Hardening against incognito mode detection License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - storage/browser/quota/quota_manager_impl.cc | 4 ++-- + storage/browser/quota/quota_manager_impl.cc | 6 +++--- storage/browser/quota/quota_settings.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) + 2 files changed, 4 insertions(+), 4 deletions(-) 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 -@@ -1786,7 +1786,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( +@@ -1755,7 +1755,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey( return kNoLimit; } @@ -20,12 +20,14 @@ 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; } -@@ -2455,7 +2455,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) { +@@ -2416,8 +2416,8 @@ 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. -- DCHECK_EQ(is_incognito_, storage_pressure_callback_.is_null()); -+ // DCHECK_EQ(is_incognito_, storage_pressure_callback_.is_null()); +- CHECK_EQ(is_incognito_, storage_pressure_callback_.is_null(), +- base::NotFatalUntil::M148); ++ // CHECK_EQ(is_incognito_, storage_pressure_callback_.is_null(), ++ // base::NotFatalUntil::M148); std::move(callback).Run(!storage_pressure_callback_.is_null()); } diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch index 90366c02..337b80fb 100644 --- a/build/patches/History-number-of-days-privacy-setting.patch +++ b/build/patches/History-number-of-days-privacy-setting.patch @@ -33,9 +33,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../history/core/browser/history_service.h | 8 +++ components/history/core/common/pref_names.cc | 4 ++ components/history/core/common/pref_names.h | 1 + - components/history_embeddings/sql_database.cc | 2 +- .../omnibox/browser/shortcuts_backend.cc | 4 +- - 25 files changed, 264 insertions(+), 16 deletions(-) + 24 files changed, 263 insertions(+), 15 deletions(-) create mode 100644 components/cromite_components_strings_grd/History-number-of-days-privacy-setting.grdp diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml @@ -57,7 +56,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 -@@ -67,6 +67,7 @@ import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; +@@ -69,6 +69,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; @@ -65,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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; -@@ -101,6 +102,9 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; +@@ -103,6 +104,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 +74,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 -@@ -166,6 +170,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -168,6 +172,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private ChromeSwitchPreference allowCustomTabIntentsPref; private ChromeSwitchPreference openExternalLinksPref; @@ -84,7 +83,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)); -@@ -303,6 +309,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -305,6 +311,40 @@ public class PrivacySettings extends ChromeBaseSettingsFragment Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); syncAndServicesLink.setSummary(buildFooterString()); @@ -125,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting Preference thirdPartyCookies = findPreference(PREF_THIRD_PARTY_COOKIES); if (thirdPartyCookies != null) { thirdPartyCookies -@@ -658,6 +698,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -660,6 +700,29 @@ public class PrivacySettings extends ChromeBaseSettingsFragment || ((System.currentTimeMillis() - updateTimeMs) < TimeUnit.DAYS.toMillis(90)); } @@ -158,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting 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 -@@ -45,6 +45,7 @@ +@@ -44,6 +44,7 @@ #include "components/content_settings/core/common/pref_names.h" #include "components/dom_distiller/core/pref_names.h" #include "components/drive/drive_pref_names.h" @@ -166,7 +165,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" -@@ -257,6 +258,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -268,6 +269,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] = settings_api::PrefType::kBoolean; @@ -202,7 +201,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html -@@ -65,6 +65,15 @@ +@@ -58,6 +58,15 @@ sub-label="$i18n{siteSettingsSublabel}" on-click="onSiteSettingsLinkRowClick_" role-description="$i18n{subpageArrowRoleDescription}"> @@ -253,18 +252,18 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch showClearBrowsingDataDialog_: Boolean, showPrivacyGuideDialog_: Boolean, -@@ -95,6 +113,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -90,6 +108,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { }; } + declare private historyExpireDaysThresholdOptions_: object[]; declare private showClearBrowsingDataDialog_: boolean; declare private showPrivacyGuideDialog_: boolean; - declare private enableDeleteBrowsingDataRevamp_: boolean; + declare private isPrivacySandboxRestricted_: boolean; 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 -@@ -1282,6 +1282,18 @@ Your Google account may have other forms of browsing history like searches and a +@@ -1344,6 +1344,18 @@ Your Google account may have other forms of browsing history like searches and a Browsing history @@ -286,7 +285,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 -@@ -2325,6 +2325,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2337,6 +2337,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}, @@ -663,18 +662,6 @@ diff --git a/components/history/core/common/pref_names.h b/components/history/co extern const char kAllowDeletingBrowserHistory[]; } // namespace prefs -diff --git a/components/history_embeddings/sql_database.cc b/components/history_embeddings/sql_database.cc ---- a/components/history_embeddings/sql_database.cc -+++ b/components/history_embeddings/sql_database.cc -@@ -183,7 +183,7 @@ sql::InitStatus SqlDatabase::InitInternal(const base::FilePath& storage_dir, - // Chrome is running, but it's possible to miss events or start Chrome after - // some down time, so this prevents long term accidental retention edge cases. - DeleteExpiredData(/*expiration_time=*/base::Time::Now() - -- base::Days(history::HistoryBackend::kExpireDaysThreshold)); -+ base::Days(90)); - - // It's possible to get here without `embedder_metadata_` if forcing for - // data deletion. In that case, don't check or change meta table. diff --git a/components/omnibox/browser/shortcuts_backend.cc b/components/omnibox/browser/shortcuts_backend.cc --- a/components/omnibox/browser/shortcuts_backend.cc +++ b/components/omnibox/browser/shortcuts_backend.cc 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 9b2e8912..cbe3a2be 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. -@@ -1089,16 +1089,6 @@ void SharedWorkerHost::OnClientStateChanged() { +@@ -1095,16 +1095,6 @@ void SharedWorkerHost::OnClientStateChanged() { worker_->Resume(); is_frozen_ = false; } else if (!is_frozen_ && !has_active_client) { @@ -41,7 +41,7 @@ diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser worker_->Freeze(); is_frozen_ = true; } -@@ -1153,17 +1143,6 @@ void SharedWorkerHost::OnClientConnectionLost() { +@@ -1159,17 +1149,6 @@ void SharedWorkerHost::OnClientConnectionLost() { // the freeze state to freeze the worker if no active clients remain. OnClientStateChanged(); } 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 48bc9af9..6967dbd6 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 -@@ -101,10 +101,11 @@ constexpr size_t kMaxPedalMatchIndex = +@@ -103,10 +103,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 44296e88..6ca54cdb 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 -@@ -2496,6 +2496,7 @@ static_library("browser") { +@@ -2419,6 +2419,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 -@@ -237,6 +237,7 @@ +@@ -239,6 +239,7 @@ #include "sandbox/policy/features.h" #include "sandbox/policy/switches.h" #include "services/device/public/cpp/device_features.h" @@ -118,8 +118,8 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro + } // namespace - static void JNI_DownloadController_CancelDownload(JNIEnv* env, -@@ -227,7 +257,7 @@ static void JNI_DownloadController_DownloadUrl( + static void JNI_DownloadController_CancelDownload( +@@ -228,7 +258,7 @@ static void JNI_DownloadController_DownloadUrl( std::unique_ptr dl_params = content::DownloadRequestUtils::CreateDownloadForWebContentsMainFrame( web_contents, GURL(url), @@ -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 -@@ -1206,6 +1206,7 @@ component("net") { +@@ -1217,6 +1217,7 @@ component("net") { "//components/unexportable_keys", "//components/network_session_configurator/common", "//net/http:transport_security_state_generated_files", @@ -1669,7 +1669,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 -@@ -106,6 +106,7 @@ +@@ -107,6 +107,7 @@ #include "net/url_request/url_request.h" #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context_builder.h" @@ -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" -@@ -1825,6 +1826,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() { +@@ -1869,6 +1870,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)); } -@@ -1838,6 +1842,17 @@ void NetworkContext::CreateRestrictedUDPSocket( +@@ -1882,6 +1886,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, -@@ -1850,6 +1865,17 @@ void NetworkContext::CreateTCPServerSocket( +@@ -1894,6 +1909,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), -@@ -1864,6 +1890,21 @@ void NetworkContext::CreateTCPConnectedSocket( +@@ -1908,6 +1934,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), -@@ -1875,6 +1916,20 @@ void NetworkContext::CreateTCPBoundSocket( +@@ -1919,6 +1960,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), -@@ -1942,6 +1997,24 @@ void NetworkContext::CreateWebSocket( +@@ -1985,6 +2040,24 @@ void NetworkContext::CreateWebSocket( mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, const std::optional& throttling_profile_id) { diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch index b4c46bf4..9bd16b4d 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 -@@ -578,7 +578,7 @@ void ContentSettingsRegistry::Init() { +@@ -579,7 +579,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 -@@ -4326,12 +4326,17 @@ UrlInfo NavigationRequest::GetUrlInfo() { +@@ -4344,12 +4344,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 -@@ -3597,6 +3597,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3626,6 +3626,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine( if (IsJitDisabled()) { AppendToCommaSeparatedSwitch( command_line, blink::switches::kJavaScriptFlags, "--jitless"); diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch index 744c3de0..8a25ceba 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 -@@ -1221,11 +1221,9 @@ +@@ -1269,11 +1269,9 @@ status: "stable", }, { diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch index 92894995..3b85f162 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:: +@@ -1058,7 +1058,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 ebf7ba09..5949d19a 100644 --- a/build/patches/Keep-disabled-CpuPerformance.patch +++ b/build/patches/Keep-disabled-CpuPerformance.patch @@ -7,19 +7,23 @@ see https://github.com/explainers-by-googlers/cpu-performance?tab=readme-ov-file License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../blink/renderer/platform/runtime_enabled_features.json5 | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + .../blink/renderer/platform/runtime_enabled_features.json5 | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) 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 -@@ -1307,8 +1307,7 @@ +@@ -1356,12 +1356,7 @@ // CPU Performance API, work in progress. // https://chromestatus.com/feature/5189864286978048 // https://github.com/explainers-by-googlers/cpu-performance - name: "CpuPerformance", -- status: "experimental" -+ status: "experimental", name: "CpuPerformance", +- status: "experimental", +- origin_trial_feature_name: "CpuPerformance", +- origin_trial_allows_third_party: true, +- base_feature_status: "enabled", +- copied_from_base_feature_if: "overridden", ++ status: "experimental",name: "CpuPerformance", }, { name: "CrashReportingStorageAPI", diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch index 1b08d55f..046880a7 100644 --- a/build/patches/Keep-disabled-FetchLaterAPI.patch +++ b/build/patches/Keep-disabled-FetchLaterAPI.patch @@ -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 -@@ -3112,7 +3112,7 @@ void ResourceFetcher::PrepareForLeakDetection() { +@@ -3121,7 +3121,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 -@@ -2482,8 +2482,8 @@ +@@ -2573,8 +2573,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 dd98f44c..d622a616 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 -@@ -1128,7 +1128,7 @@ public class MultiWindowUtils implements ActivityStateListener { +@@ -1304,7 +1304,7 @@ public class MultiWindowUtils implements ActivityStateListener { int totalCount = 0; for (TabModel model : models) { for (Tab tab : model) { @@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/Mul diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java -@@ -1966,13 +1966,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore { +@@ -1932,13 +1932,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore { continue; } 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 535aebd7..36d1b2b6 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 -@@ -5699,10 +5699,10 @@ +@@ -5851,10 +5851,10 @@ "expiry_milestone": -1 }, { diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch index 3d215fd3..60ff004d 100644 --- a/build/patches/Keyboard-protection-flag.patch +++ b/build/patches/Keyboard-protection-flag.patch @@ -11,19 +11,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../common/ProductionSupportedFlagList.java | 5 + .../Keyboard-protection-flag.inc | 10 ++ .../renderer/core/events/keyboard_event.cc | 136 ++++++++++++++++++ - .../renderer/core/events/keyboard_event.h | 3 + + .../renderer/core/events/keyboard_event.h | 2 + ui/base/ui_base_features.cc | 8 ++ ui/base/ui_base_features.h | 2 + .../dom/dom_keyboard_layout_map_win.cc | 13 ++ .../keycodes/keyboard_code_conversion.cc | 10 +- ui/events/keycodes/keyboard_code_conversion.h | 2 +- - 9 files changed, 186 insertions(+), 3 deletions(-) + 9 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Keyboard-protection-flag.inc 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 -@@ -965,6 +965,11 @@ public final class ProductionSupportedFlagList { +@@ -991,6 +991,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."), @@ -213,16 +213,15 @@ 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 -@@ -101,6 +101,8 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { - - CSSPseudoElement* pseudoTarget() const { return Event::pseudoTarget(); } +@@ -99,6 +99,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { + unsigned which() const override; + bool isComposing() const { return is_composing_; } + DispatchEventResult DispatchEvent(EventDispatcher&) override; -+ + void Trace(Visitor*) const override; - private: -@@ -113,6 +115,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { +@@ -112,6 +113,7 @@ class CORE_EXPORT KeyboardEvent final : public UIEventWithKeyState { bool is_composing_ = false; unsigned char_code_ = 0; unsigned key_code_ = 0; diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch index df8b8239..74260cdd 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 -@@ -1371,6 +1371,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -1390,6 +1390,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 -@@ -3226,7 +3226,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const { +@@ -3269,7 +3269,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 -@@ -358,6 +358,14 @@ struct NetworkContextParams { +@@ -369,6 +369,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 09667ff3..819dfeea 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 -@@ -5082,6 +5082,14 @@ void Document::ProcessBaseElement() { +@@ -5074,6 +5074,14 @@ void Document::ProcessBaseElement() { KURL base_element_url; if (href) { StringView 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); } -@@ -5099,6 +5107,14 @@ void Document::ProcessBaseElement() { +@@ -5091,6 +5099,14 @@ void Document::ProcessBaseElement() { !GetExecutionContext()->GetSecurityOrigin()->CanRequest( base_element_url)) { UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref); @@ -72,9 +72,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink } } -@@ -5129,6 +5145,8 @@ void Document::ProcessBaseElement() { - if (target->Contains('<')) +@@ -5123,6 +5139,8 @@ void Document::ProcessBaseElement() { UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget); + } base_target_ = *target; + if (target->Contains('\n') || target->Contains('\r') || target->Contains('<')) + base_target_ = g_null_atom; @@ -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 -@@ -4111,8 +4111,26 @@ void Element::StripScriptingAttributes( +@@ -4084,8 +4084,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 -@@ -819,7 +819,8 @@ class CORE_EXPORT Element : public ContainerNode { +@@ -812,7 +812,8 @@ class CORE_EXPORT Element : public ContainerNode { virtual bool HasLegalLinkAttribute(const QualifiedName&) const; // Only called by the parser immediately after element construction. @@ -157,7 +157,7 @@ diff --git a/third_party/blink/renderer/core/editing/serializers/markup_formatte diff --git a/third_party/blink/renderer/core/html/forms/html_form_element.cc b/third_party/blink/renderer/core/html/forms/html_form_element.cc --- a/third_party/blink/renderer/core/html/forms/html_form_element.cc +++ b/third_party/blink/renderer/core/html/forms/html_form_element.cc -@@ -537,7 +537,7 @@ void HTMLFormElement::PrepareForSubmission( +@@ -547,7 +547,7 @@ void HTMLFormElement::PrepareForSubmission( if (form_control_element && form_control_element->BlocksFormSubmission()) { UseCounter::Count(GetDocument(), WebFeature::kFormSubmittedWithUnclosedFormControl); @@ -212,7 +212,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t + //frame_name_ = g_empty_atom; + } } else if (name == html_names::kMarginwidthAttr) { - SetMarginWidth(StringToInt(value).value_or(0)); + SetMarginWidth(StringToIntLoose(value).value_or(0)); } else if (name == html_names::kMarginheightAttr) { 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 @@ -251,7 +251,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.h b/third_ --- a/third_party/blink/renderer/core/html/html_iframe_element.h +++ b/third_party/blink/renderer/core/html/html_iframe_element.h @@ -68,6 +68,8 @@ class CORE_EXPORT HTMLIFrameElement : public HTMLFrameElementBase, - const V8UnionStringOrTrustedHTML* srcdoc() const; + String srcdoc() const; void setSrcdoc(const V8UnionStringOrTrustedHTML*, ExceptionState&); + void ParserSetAttributes(Vector&) override; @@ -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 -@@ -3427,6 +3427,12 @@ +@@ -3548,6 +3548,12 @@ name: "MacDisableCtrlHomeEnd", status: "stable", }, @@ -346,5 +346,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 + }, { name: "MachineLearningNeuralNetwork", - // Enabled by webnn::mojom::features::kWebMachineLearningNeuralNetwork. + origin_trial_feature_name: "WebMachineLearningNeuralNetwork", -- diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch index b4381618..19996004 100644 --- a/build/patches/Logcat-crash-reports-UI.patch +++ b/build/patches/Logcat-crash-reports-UI.patch @@ -27,7 +27,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/crash/MinidumpUploadServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceImpl.java -@@ -51,6 +51,11 @@ import java.lang.annotation.Retention; +@@ -41,6 +41,11 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.concurrent.atomic.AtomicBoolean; @@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/MinidumpU /** Service that is responsible for uploading crash minidumps to the Google crash server. */ @NullMarked public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl { -@@ -95,6 +100,23 @@ public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl { +@@ -85,6 +90,23 @@ public class MinidumpUploadServiceImpl extends SplitCompatIntentService.Impl { assumeNonNull(getService()).setIntentRedelivery(true); } @@ -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 -@@ -641,6 +641,7 @@ static_library("ui") { +@@ -667,6 +667,7 @@ static_library("ui") { "//third_party/re2", "//third_party/webrtc_overrides:webrtc_component", "//third_party/zlib", @@ -778,7 +778,7 @@ diff --git a/components/crash_strings.grdp b/components/crash_strings.grdp diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java --- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java +++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java -@@ -107,6 +107,8 @@ public class CrashFileManager { +@@ -117,6 +117,8 @@ public class CrashFileManager { private static final Pattern TMP_PATTERN = Pattern.compile("\\.tmp\\z"); @@ -787,7 +787,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen // The maximum number of non-uploaded crashes that may be kept in the crash reports directory. // Chosen to attempt to balance between keeping a generous number of crashes, and not using up // too much filesystem storage space for obsolete crash reports. -@@ -115,7 +117,7 @@ public class CrashFileManager { +@@ -125,7 +127,7 @@ public class CrashFileManager { // The maximum age, in days, considered acceptable for a crash report. Reports older than this // age will be removed. The constant is chosen to be quite conservative, while still allowing // users to eventually reclaim filesystem storage space from obsolete crash reports. @@ -796,7 +796,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen // The maximum number of non-uploaded crashes to copy to the crash reports directory. The // difference between this value and MAX_CRASH_REPORTS_TO_KEEP is that TO_KEEP is only checked -@@ -599,6 +601,9 @@ public class CrashFileManager { +@@ -626,6 +628,9 @@ public class CrashFileManager { && !f.getName().contains(UPLOAD_FORCED_MINIDUMP_SUFFIX)) { continue; } @@ -809,7 +809,7 @@ diff --git a/components/minidump_uploader/android/java/src/org/chromium/componen diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java --- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java +++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadCallable.java -@@ -73,30 +73,8 @@ public class MinidumpUploadCallable implements Callable { +@@ -71,30 +71,8 @@ public class MinidumpUploadCallable implements Callable { if (mPermManager.isUploadEnabledForTests()) { Log.i(TAG, "Minidump upload enabled for tests, skipping other checks."); } else if (!CrashFileManager.isForcedUpload(mFileToUpload)) { diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch index bfd17562..900cedb3 100644 --- a/build/patches/Modify-default-preferences.patch +++ b/build/patches/Modify-default-preferences.patch @@ -33,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 -@@ -84,6 +84,7 @@ +@@ -85,6 +85,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" @@ -56,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 -@@ -1449,7 +1449,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( +@@ -1499,7 +1499,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -68,7 +68,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch 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 -@@ -1341,7 +1341,7 @@ void RegisterProfilePrefsForMigration( +@@ -1364,7 +1364,7 @@ void RegisterProfilePrefsForMigration( registry->RegisterTimePref(kMerchantTrustPageInfoLastOpenTime, base::Time()); // Deprecated 12/2025. @@ -116,7 +116,7 @@ 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,7 +129,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -132,7 +132,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( @@ -125,7 +125,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup); -@@ -210,7 +210,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -213,7 +213,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { #endif registry->RegisterBooleanPref( @@ -262,8 +262,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. - Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_ALLOW, + Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_primary_schemes=*/{}, - /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, - WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + /*valid_settings=*/ + {CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, CONTENT_SETTING_ASK}, 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 @@ -310,25 +310,26 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo diff --git a/components/security_interstitials/core/features.cc b/components/security_interstitials/core/features.cc --- a/components/security_interstitials/core/features.cc +++ b/components/security_interstitials/core/features.cc -@@ -18,5 +18,6 @@ BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -18,6 +18,7 @@ BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_DISABLED_BY_DEFAULT); #else BASE_FEATURE(kHttpsFirstDialogUi, base::FEATURE_ENABLED_BY_DEFAULT); #endif +SET_CROMITE_FEATURE_DISABLED(kHttpsFirstDialogUi); - } // namespace security_interstitials::features + BASE_FEATURE(kInsecureFormNavigationThrottleForPrerender, + base::FEATURE_ENABLED_BY_DEFAULT); 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 -@@ -322,7 +322,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { +@@ -388,7 +388,7 @@ void PrimaryAccountManager::RegisterProfilePrefs(PrefRegistrySimple* registry) { prefs::kGoogleServicesSyncingUsernameMigratedToSignedIn, std::string()); registry->RegisterIntegerPref(prefs::kGoogleServicesSyncingUserMigrationType, /*SyncToSigninMigrationType::kUnknown=*/0); - registry->RegisterBooleanPref(prefs::kSigninAllowed, true); + registry->RegisterBooleanPref(prefs::kSigninAllowed, false); registry->RegisterBooleanPref(prefs::kSignedInWithCredentialProvider, false); - registry->RegisterBooleanPref(kExplicitBrowserSigninWithoutFeatureEnabled, - false); + registry->RegisterBooleanPref(prefs::kExplicitBrowserSignin, false); + registry->RegisterBooleanPref( diff --git a/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc b/cromite_flags/chrome/browser/about_flags_cc/Modify-default-preferences.inc new file mode 100755 --- /dev/null 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 5c805837..aaf0b5b7 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 @@ -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 -@@ -82,6 +82,13 @@ import org.chromium.ui.text.SpanApplier; +@@ -84,6 +84,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 -@@ -101,6 +108,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -103,6 +110,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"; @@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info"; -@@ -209,6 +226,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -211,6 +228,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); -@@ -384,6 +411,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -386,6 +413,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; } -@@ -396,6 +426,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -398,6 +428,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 65aa5a1e..3c11e1ee 100644 --- a/build/patches/Multi-Screen-Window-Placement-API-fix.patch +++ b/build/patches/Multi-Screen-Window-Placement-API-fix.patch @@ -9,16 +9,16 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- .../permissions/permission_service_impl.cc | 1 - .../renderer_host/render_frame_host_impl.cc | 3 +- - .../core/frame/cached_permission_status.cc | 8 ++--- + .../core/frame/cached_permission_status.cc | 6 ++-- .../core/frame/cached_permission_status.h | 1 + .../blink/renderer/core/frame/screen.cc | 35 +++++++++++++++++-- .../blink/renderer/core/frame/screen.h | 17 ++++++++- - 6 files changed, 56 insertions(+), 9 deletions(-) + 6 files changed, 55 insertions(+), 8 deletions(-) diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc --- a/content/browser/permissions/permission_service_impl.cc +++ b/content/browser/permissions/permission_service_impl.cc -@@ -438,7 +438,6 @@ void PermissionServiceImpl::AddPermissionObserver( +@@ -442,7 +442,6 @@ void PermissionServiceImpl::AddPermissionObserver( ReceivedBadMessage(); return; } @@ -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 -@@ -19486,7 +19486,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() { +@@ -19575,7 +19575,8 @@ RenderFrameHostImpl::GetCachedPermissionStatuses() { {PermissionName::WEB_APP_INSTALLATION, PermissionType::WEB_APP_INSTALLATION}, #endif @@ -42,18 +42,16 @@ 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 -@@ -37,10 +37,10 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context) +@@ -37,9 +37,9 @@ CachedPermissionStatus::CachedPermissionStatus(ExecutionContext* context) permission_service_(context), permission_observer_receivers_(this, context) { CHECK(context); -- CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) || -- RuntimeEnabledFeatures::GeolocationElementEnabled(context) || +- CHECK(RuntimeEnabledFeatures::GeolocationElementEnabled(context) || - RuntimeEnabledFeatures::UserMediaElementEnabled(context) || - RuntimeEnabledFeatures::InstallElementEnabled(context)); -+ // CHECK(RuntimeEnabledFeatures::PermissionElementEnabled(context) || -+ // RuntimeEnabledFeatures::GeolocationElementEnabled(context) || -+ // RuntimeEnabledFeatures::UserMediaElementEnabled(context) || -+ // RuntimeEnabledFeatures::InstallElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee ++ // CHECK(RuntimeEnabledFeatures::GeolocationElementEnabled(context) || ++ // RuntimeEnabledFeatures::UserMediaElementEnabled(context) || ++ // RuntimeEnabledFeatures::InstallElementEnabled(context)); see https://source.chromium.org/chromium/chromium/src/+/81a9e9b66a03e12cb438eef0834f5e5f7a0506ee } void CachedPermissionStatus::Trace(Visitor* visitor) const { @@ -63,7 +61,7 @@ diff --git a/third_party/blink/renderer/core/frame/cached_permission_status.h b/ @@ -72,6 +72,7 @@ class CORE_EXPORT CachedPermissionStatus final private: - friend class HTMLPermissionElement; + friend class HTMLCapabilityElementBase; + friend class Screen; friend class DocumentLoader; friend class CachedPermissionStatusTest; diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index fd3d36c9..902608cd 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 -@@ -2477,6 +2477,7 @@ static_library("browser") { +@@ -2398,6 +2398,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 -@@ -263,6 +263,8 @@ +@@ -266,6 +266,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 -@@ -298,6 +298,7 @@ source_set("browser") { +@@ -316,6 +316,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" -@@ -3669,6 +3670,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3697,6 +3698,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kDisableBestEffortTasks, switches::kDisableBreakpad, switches::kDisableFileSystem, @@ -109,7 +109,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn --- a/content/child/BUILD.gn +++ b/content/child/BUILD.gn -@@ -113,6 +113,7 @@ target(link_target_type, "child") { +@@ -111,6 +111,7 @@ target(link_target_type, "child") { "//third_party/blink/public/common:buildflags", "//third_party/blink/public/strings", "//third_party/ced", @@ -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 -@@ -522,6 +524,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { +@@ -494,6 +496,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { // as a last resort. void SetCustomizedRuntimeFeaturesFromCombinedArgs( const base::CommandLine& command_line) { @@ -167,8 +167,8 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa + static void EnableFingerprintingCanvasMeasureTextNoise(bool); + static void EnableFingerprintingCanvasImageDataNoise(bool); static void EnableFluentScrollbars(bool); + static void EnableDesktopAndroidScrollbars(bool); - static void EnableLocalNetworkAccessWebRTC(bool); 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 @@ -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" -@@ -1043,6 +1044,16 @@ Document::Document(const DocumentInit& initializer, +@@ -1042,6 +1043,16 @@ Document::Document(const DocumentInit& initializer, data_(MakeGarbageCollected(GetExecutionContext())) { TRACE_EVENT("blink", "Document::Document", perfetto::Flow::FromPointer(this)); 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(); -@@ -2747,6 +2758,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { +@@ -2749,6 +2760,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 -@@ -571,6 +571,10 @@ class CORE_EXPORT Document : public ContainerNode, +@@ -572,6 +572,10 @@ class CORE_EXPORT Document : public ContainerNode, has_xml_declaration_ = has_xml_declaration ? 1 : 0; } @@ -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 -@@ -1754,7 +1754,9 @@ component("platform") { +@@ -1756,7 +1756,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", -@@ -1838,6 +1840,7 @@ component("platform") { +@@ -1840,6 +1842,7 @@ component("platform") { "//third_party/blink/public/strings", "//third_party/blink/renderer/platform/wtf", "//third_party/ced", @@ -449,8 +449,8 @@ 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 -@@ -64,6 +64,14 @@ void WebRuntimeFeatures::EnableFluentScrollbars(bool enable) { - ScrollbarThemeSettings::SetFluentScrollbarsEnabled(enable); +@@ -68,6 +68,14 @@ void WebRuntimeFeatures::EnableDesktopAndroidScrollbars(bool enable) { + ScrollbarThemeSettings::SetDesktopAndroidScrollbarsEnabled(enable); } +void WebRuntimeFeatures::EnableFingerprintingCanvasMeasureTextNoise(bool 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 -@@ -3754,6 +3754,12 @@ +@@ -3873,6 +3873,12 @@ status: {"Mac": "test", "default": "stable"}, base_feature: "none", }, diff --git a/build/patches/Never-treat-Proguard-warnings-as-errors.patch b/build/patches/Never-treat-Proguard-warnings-as-errors.patch index fbe2f215..117d1f85 100644 --- a/build/patches/Never-treat-Proguard-warnings-as-errors.patch +++ b/build/patches/Never-treat-Proguard-warnings-as-errors.patch @@ -9,7 +9,7 @@ Subject: Never treat Proguard warnings as errors diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni -@@ -1300,9 +1300,9 @@ if (enable_java_templates) { +@@ -1278,9 +1278,9 @@ if (enable_java_templates) { _source_file_template, "--proguard-configs=@FileArg($_rebased_build_config:proguard_all_configs)", ] diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch index bcfbd0a1..6e19be6a 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" -@@ -3579,8 +3580,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3608,8 +3609,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine( PropagateBrowserCommandLineToRenderer(browser_command_line, command_line); // Pass on the browser locale. diff --git a/build/patches/Override-the-MV2-deprecation.patch b/build/patches/Override-the-MV2-deprecation.patch index 9caa4acb..ec8cf34e 100644 --- a/build/patches/Override-the-MV2-deprecation.patch +++ b/build/patches/Override-the-MV2-deprecation.patch @@ -25,7 +25,7 @@ diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrom diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc --- a/extensions/common/extension.cc +++ b/extensions/common/extension.cc -@@ -62,7 +62,7 @@ constexpr int kPEMOutputColumns = 64; +@@ -63,7 +63,7 @@ constexpr int kPEMOutputColumns = 64; static_assert(kMaximumSupportedManifestVersion >= kMinimumSupportedManifestVersion, "The modern manifest version must be supported."); diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch index 17bb70d5..85d2e4e0 100644 --- a/build/patches/Partition-Blink-memory-cache.patch +++ b/build/patches/Partition-Blink-memory-cache.patch @@ -22,8 +22,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../platform/loader/fetch/memory_cache.h | 5 +- .../platform/loader/fetch/resource_fetcher.cc | 62 +++++++++++++++---- .../platform/loader/fetch/resource_fetcher.h | 10 ++- - .../platform/runtime_enabled_features.json5 | 4 +- - 9 files changed, 71 insertions(+), 28 deletions(-) + .../platform/runtime_enabled_features.json5 | 3 +- + 9 files changed, 70 insertions(+), 28 deletions(-) diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc --- a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc @@ -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 -@@ -2808,7 +2808,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, +@@ -2806,7 +2806,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document, if (!cached_resource) { cached_resource = MemoryCache::Get()->ResourceForURL( url, document->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 -@@ -344,7 +344,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map, +@@ -354,7 +354,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 = -@@ -360,13 +360,9 @@ bool MemoryCache::Contains(const Resource* resource) const { +@@ -370,13 +370,9 @@ bool MemoryCache::Contains(const Resource* resource) const { return resource == resources_it->value->GetResource(); } @@ -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)); -@@ -2927,11 +2930,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() { +@@ -2936,11 +2939,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 -@@ -2946,12 +2985,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url, +@@ -2955,12 +2994,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. -@@ -2964,7 +3004,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type, +@@ -2973,7 +3013,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type, } // Fallback to the standard cache identifier logic. @@ -261,15 +261,14 @@ 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 -@@ -5274,8 +5274,8 @@ +@@ -5477,8 +5477,7 @@ status: "stable", }, { - name: "SvgPartitionSVGDocumentResourcesInMemoryCache", -- status: "experimental", -+ name: "SvgPartitionSVGDocumentResourcesInMemoryCache", status: "experimental", -+ +- status: "stable", ++ status: "experimental", name: "SvgPartitionSVGDocumentResourcesInMemoryCache", }, { - name: "SvgScriptElementAsyncAttribute", + name: "SvgPathLengthCssProperty", -- diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index 775cf985..294d3bce 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.patch @@ -716,7 +716,7 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc } void SpdySession::EnqueueStreamWrite( -@@ -3096,7 +3098,8 @@ void SpdySession::OnAltSvc( +@@ -3105,7 +3107,8 @@ void SpdySession::OnAltSvc( return; } if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_, @@ -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 -@@ -2077,6 +2077,7 @@ void NetworkContext::CreateHostResolver( +@@ -2120,6 +2120,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, -@@ -2088,6 +2089,7 @@ void NetworkContext::VerifyCertInternal( +@@ -2131,6 +2132,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(); -@@ -2118,20 +2120,22 @@ void NetworkContext::VerifyCertInternal( +@@ -2161,20 +2163,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)); } -@@ -2172,17 +2176,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin( +@@ -2215,17 +2219,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 = -@@ -2194,10 +2200,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host, +@@ -2237,10 +2243,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::DictValue result; -@@ -2235,10 +2241,10 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2278,10 +2284,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)); -@@ -2276,6 +2282,7 @@ void NetworkContext::GetHSTSState(const std::string& domain, +@@ -2319,6 +2325,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 = -@@ -2286,7 +2293,7 @@ void NetworkContext::DeleteDynamicDataForHost( +@@ -2329,7 +2336,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( -@@ -2345,7 +2352,7 @@ void NetworkContext::PreconnectSockets( +@@ -2388,7 +2395,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. -@@ -3196,7 +3203,9 @@ void NetworkContext::OnConnectionError() { +@@ -3239,7 +3246,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. -@@ -3222,6 +3231,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) { +@@ -3265,6 +3274,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); -@@ -3283,7 +3293,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) { +@@ -3326,7 +3336,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, @@ -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( -@@ -797,7 +801,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -801,7 +805,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); -@@ -809,6 +814,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -813,6 +818,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, -@@ -984,6 +990,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -992,6 +998,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 -@@ -1561,6 +1561,7 @@ interface NetworkContext { +@@ -1575,6 +1575,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); -@@ -1569,6 +1570,7 @@ interface NetworkContext { +@@ -1583,6 +1584,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); -@@ -1582,18 +1584,18 @@ interface NetworkContext { +@@ -1596,18 +1598,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 -@@ -1612,7 +1614,7 @@ interface NetworkContext { +@@ -1626,7 +1628,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 178836e1..aa234033 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 -@@ -1112,6 +1112,11 @@ void MediaDevicesManager::OnDevicesEnumerated( +@@ -1207,6 +1207,11 @@ void MediaDevicesManager::OnDevicesEnumerated( } } } @@ -62,6 +62,6 @@ diff --git a/content/browser/renderer_host/media/media_devices_manager.cc b/cont + translation[video_input_index].clear(); +#endif - GetAudioInputCapabilities(video_input_capabilities_requested, + GetAudioInputCapabilities(request_id, video_input_capabilities_requested, audio_input_capabilities_requested, -- diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch index eb441b0b..9d9098c0 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 -@@ -13157,6 +13157,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL( +@@ -13316,6 +13316,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL( } bool RenderFrameHostImpl::IsFullCookieAccessAllowed() { diff --git a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch index cd2387b6..f8160e46 100644 --- a/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch +++ b/build/patches/Partitioning-all-cookies-by-top-frame-domain.patch @@ -50,7 +50,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 -@@ -3674,7 +3674,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( +@@ -3746,7 +3746,7 @@ bool ChromeContentBrowserClient::IsFullCookieAccessAllowed( scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); if (!cookie_settings) { @@ -62,7 +62,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/browser/extensions/api/cookies/cookies_helpers.cc --- a/chrome/browser/extensions/api/cookies/cookies_helpers.cc +++ b/chrome/browser/extensions/api/cookies/cookies_helpers.cc -@@ -363,6 +363,10 @@ ToNetCookiePartitionKey( +@@ -366,6 +366,10 @@ ToNetCookiePartitionKey( bool CookieMatchesPartitionKeyCollection( const net::CookiePartitionKeyCollection& cookie_partition_key_collection, const net::CanonicalCookie& cookie) { @@ -76,7 +76,7 @@ diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/b 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 -@@ -1086,16 +1086,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( +@@ -1105,16 +1105,16 @@ ProfileNetworkContextService::CreateCookieManagerParams( // UI to interact with SameSite cookies on accounts.google.com, which is used // for displaying a list of available accounts on the NTP // (chrome://new-tab-page), etc. @@ -152,7 +152,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen Third-party cookies are blocked -@@ -691,7 +691,7 @@ +@@ -685,7 +685,7 @@ A site you visit can embed content from other sites, for example, images, ads, and text. Cookies set by these other sites are called third-party cookies. @@ -345,7 +345,7 @@ diff --git a/net/cookies/cookie_util.cc b/net/cookies/cookie_util.cc diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h --- a/net/cookies/cookie_util.h +++ b/net/cookies/cookie_util.h -@@ -133,7 +133,7 @@ enum class SecFetchStorageAccessOutcome { +@@ -112,7 +112,7 @@ enum class StorageAccessStatusOutcome { enum class ActivateStorageAccessLoadOutcome { // Applies when the `Activate-Storage-Access` header behavior is not enabled // under the existing feature flags or content settings. @@ -354,7 +354,7 @@ diff --git a/net/cookies/cookie_util.h b/net/cookies/cookie_util.h // Applies when a response includes the `Activate-Storage-Access: load` // header, but its corresponding request either has an omitted storage access // status, or has a storage access status of `none`. -@@ -154,7 +154,7 @@ enum class ActivateStorageAccessLoadOutcome { +@@ -133,7 +133,7 @@ enum class ActivateStorageAccessLoadOutcome { enum class ActivateStorageAccessRetryOutcome { // Applies when the `Activate-Storage-Access` header behavior is not enabled // under the existing feature flags or content settings. @@ -389,7 +389,7 @@ diff --git a/net/cookies/parsed_cookie.h b/net/cookies/parsed_cookie.h diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sqlite/sqlite_persistent_cookie_store.cc --- a/net/extras/sqlite/sqlite_persistent_cookie_store.cc +++ b/net/extras/sqlite/sqlite_persistent_cookie_store.cc -@@ -851,6 +851,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() { +@@ -796,6 +796,14 @@ bool SQLitePersistentCookieStore::Backend::DoInitializeDatabase() { if (!restore_old_session_cookies_) DeleteSessionCookiesOnStartup(); @@ -407,7 +407,7 @@ diff --git a/net/extras/sqlite/sqlite_persistent_cookie_store.cc b/net/extras/sq diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc --- a/net/url_request/url_request.cc +++ b/net/url_request/url_request.cc -@@ -1406,8 +1406,7 @@ StorageAccessStatusCache URLRequest::CalculateStorageAccessStatus() const { +@@ -1408,8 +1408,7 @@ StorageAccessStatusCache URLRequest::CalculateStorageAccessStatus() const { // `deferred_redirect_info_` that has to be used when calculating new storage // access status. std::optional storage_access_status = @@ -420,7 +420,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.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 -@@ -1645,6 +1645,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() { +@@ -1653,6 +1653,7 @@ bool URLRequestHttpJob::NeedsRetryWithStorageAccess() { auto determine_storage_access_retry_outcome = [&]() -> cookie_util::ActivateStorageAccessRetryOutcome { using enum cookie_util::ActivateStorageAccessRetryOutcome; @@ -454,7 +454,7 @@ diff --git a/services/network/cookie_settings.cc b/services/network/cookie_setti diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc --- a/services/network/cors/cors_url_loader.cc +++ b/services/network/cors/cors_url_loader.cc -@@ -851,6 +851,7 @@ void CorsURLLoader::StartRequest() { +@@ -882,6 +882,7 @@ void CorsURLLoader::StartRequest() { } if (request_.credentials_mode == mojom::CredentialsMode::kInclude && @@ -465,7 +465,7 @@ diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/co diff --git a/services/network/restricted_cookie_manager.cc b/services/network/restricted_cookie_manager.cc --- a/services/network/restricted_cookie_manager.cc +++ b/services/network/restricted_cookie_manager.cc -@@ -992,6 +992,12 @@ void RestrictedCookieManager::SetCookieFromString( +@@ -988,6 +988,12 @@ void RestrictedCookieManager::SetCookieFromString( shared_memory_region = GetAndPrepareSharedMemoryRegion(url); } @@ -481,7 +481,7 @@ diff --git a/services/network/restricted_cookie_manager.cc b/services/network/re diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc --- a/services/network/url_loader.cc +++ b/services/network/url_loader.cc -@@ -2617,6 +2617,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const { +@@ -2640,6 +2640,7 @@ bool URLLoader::ShouldSetLoadWithStorageAccess() const { auto determine_storage_access_load_outcome = [&]() -> net::cookie_util::ActivateStorageAccessLoadOutcome { @@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/t diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc --- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc +++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc -@@ -411,6 +411,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, +@@ -395,6 +395,7 @@ ScriptPromise CookieStore::set(ScriptState* script_state, CookieInit* set_options = CookieInit::Create(); set_options->setName(name); set_options->setValue(value); @@ -511,7 +511,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t return set(script_state, set_options, exception_state); } -@@ -434,6 +435,7 @@ ScriptPromise CookieStore::Delete( +@@ -418,6 +419,7 @@ ScriptPromise CookieStore::Delete( set_options->setName(name); set_options->setValue(name.empty() ? "deleted" : ""); set_options->setExpires(0); @@ -519,7 +519,7 @@ diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/t return DoWrite(script_state, set_options, exception_state); } -@@ -449,6 +451,7 @@ ScriptPromise CookieStore::Delete( +@@ -433,6 +435,7 @@ ScriptPromise CookieStore::Delete( set_options->setPath(options->path()); set_options->setSameSite(V8CookieSameSite::Enum::kStrict); set_options->setPartitioned(options->partitioned()); diff --git a/build/patches/Permit-PGO-for-debug-builds.patch b/build/patches/Permit-PGO-for-debug-builds.patch index 855455b9..c8b66c63 100644 --- a/build/patches/Permit-PGO-for-debug-builds.patch +++ b/build/patches/Permit-PGO-for-debug-builds.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/build/config/compiler/pgo/pgo.gni b/build/config/compiler/pgo/pgo.gni --- a/build/config/compiler/pgo/pgo.gni +++ b/build/config/compiler/pgo/pgo.gni -@@ -49,5 +49,5 @@ declare_args() { +@@ -55,5 +55,5 @@ declare_args() { # TODO(crbug.com/409738601): Remove assert once clang no # longer crashes with PGO enabled for a debug build. diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch index ad80f4a6..2df01292 100644 --- a/build/patches/Private-network-access-content-settings.patch +++ b/build/patches/Private-network-access-content-settings.patch @@ -25,7 +25,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 -@@ -4150,6 +4150,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) { +@@ -4222,6 +4222,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) { return false; } @@ -57,7 +57,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch } // namespace base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate( -@@ -7744,12 +7769,17 @@ content::ContentBrowserClient::LocalNetworkAccessRequestPolicyOverride +@@ -7850,12 +7875,17 @@ content::ContentBrowserClient::LocalNetworkAccessRequestPolicyOverride ChromeContentBrowserClient::ShouldOverrideLocalNetworkAccessRequestPolicy( content::BrowserContext* browser_context, const url::Origin& origin) { diff --git a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch index 4f6660b2..8f10d59a 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 -@@ -2020,6 +2020,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -2016,6 +2016,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities( MakeCapability(client_capabilities::kConditionalCreate, true)); 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)); -@@ -2047,11 +2048,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities( +@@ -2043,11 +2044,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) { -@@ -2097,6 +2112,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck( +@@ -2093,6 +2108,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 d2287712..f7675de4 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 @@ -56,14 +56,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 -@@ -367,6 +367,7 @@ public abstract class ChromeFeatureList { +@@ -368,6 +368,7 @@ public abstract class ChromeFeatureList { public static final String CLANK_STARTUP_LATENCY_INJECTION = "ClankStartupLatencyInjection"; public static final String CLANK_WHATS_NEW = "ClankWhatsNew"; public static final String CLEAR_INTENT_WHEN_RECREATED = "ClearIntentWhenRecreated"; + public static final String CLOSE_ALL_TABS_MODAL_DIALOG = "CloseAllTabsModalDialog"; public static final String COMMAND_LINE_ON_NON_ROOTED = "CommandLineOnNonRooted"; public static final String COMMERCE_MERCHANT_VIEWER = "CommerceMerchantViewer"; - public static final String CONTENT_CAPTURE_SEND_METADATA_FOR_DATA_SHARE = + public static final String COMPOSITOR_VIEW_HOLDER_OBSCURING = "CompositorViewHolderObscuring"; diff --git a/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch index b201aa4e..42a8ed16 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 -@@ -4504,8 +4504,12 @@ if (current_toolchain == default_toolchain) { +@@ -4509,8 +4509,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 29dafbcc..4dde112a 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 @@ -5,7 +5,7 @@ Subject: Reduce HTTP headers in DoH requests to bare minimum License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- net/base/load_flags_list.h | 4 ++++ - net/dns/dns_transaction.cc | 2 +- + net/dns/dns_http_attempt.cc | 2 +- net/url_request/url_request_http_job.cc | 10 +++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) @@ -21,18 +21,18 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h +LOAD_FLAG(MINIMAL_HEADERS, 1 << 20) + // See note at top of file about why adding LoadFlags is often a bad idea. -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 -@@ -508,7 +508,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 | -- LOAD_BYPASS_PROXY); -+ LOAD_MINIMAL_HEADERS | LOAD_BYPASS_PROXY); - request_->set_disallow_credentials(); - request_->set_isolation_info(isolation_info); - } +diff --git a/net/dns/dns_http_attempt.cc b/net/dns/dns_http_attempt.cc +--- a/net/dns/dns_http_attempt.cc ++++ b/net/dns/dns_http_attempt.cc +@@ -160,7 +160,7 @@ DnsHTTPAttempt::DnsHTTPAttempt(base::WeakPtr resolve_context, + // avoid deadlock and enable the use of preconfigured IP addresses. + request_->SetSecureDnsPolicy(SecureDnsPolicy::kBootstrap); + request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE | +- LOAD_BYPASS_PROXY); ++ LOAD_MINIMAL_HEADERS | LOAD_BYPASS_PROXY); + request_->set_disallow_credentials(); + request_->set_isolation_info(isolation_info); + } 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 diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch index 5144291b..ef396e3b 100644 --- a/build/patches/Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/Remove-ChromiumNetworkAdapter.patch @@ -20,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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,63 +239,6 @@ public class WebViewBrowserFragment extends Fragment { +@@ -238,63 +238,6 @@ public class WebViewBrowserFragment extends Fragment { /** Downloading file in background thread */ @Override protected String doInBackground() { 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 00afb46e..c72136a3 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 -@@ -667,6 +667,8 @@ chrome_java_resources = [ +@@ -663,6 +663,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,10 +56,10 @@ 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 -@@ -982,6 +982,8 @@ chrome_java_sources = [ +@@ -996,6 +996,8 @@ chrome_java_sources = [ + "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/PrivacySandbox3pcdRollbackMessageController.java", - "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java", + "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java", + "java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java", "java/src/org/chromium/chrome/browser/provider/BaseColumns.java", @@ -170,7 +170,7 @@ new file mode 100644 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 -@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; +@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment; @@ -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; -@@ -119,6 +120,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -121,6 +122,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"; -@@ -554,6 +556,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -556,6 +558,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment : R.string.text_off); } @@ -397,7 +397,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 -@@ -261,6 +261,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { +@@ -272,6 +272,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { (*s_allowlist)[::prefs::kExpireDaysThreshold] = settings_api::PrefType::kNumber; @@ -444,7 +444,7 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html -@@ -74,6 +74,16 @@ +@@ -67,6 +67,16 @@ menu-options="[[historyExpireDaysThresholdOptions_]]">
@@ -464,7 +464,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -@@ -93,6 +93,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -88,6 +88,17 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { value: () => loadTimeData.getBoolean('isPrivacySandboxRestricted'), }, @@ -482,15 +482,15 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch isPrivacySandboxRestrictedNoticeEnabled_: { type: Boolean, value: () => -@@ -117,6 +128,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -111,6 +122,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { + declare private historyExpireDaysThresholdOptions_: object[]; declare private showClearBrowsingDataDialog_: boolean; declare private showPrivacyGuideDialog_: boolean; - declare private enableDeleteBrowsingDataRevamp_: boolean; + declare private referersPolicyOptions_: object[]; declare private isPrivacySandboxRestricted_: boolean; declare private isPrivacySandboxRestrictedNoticeEnabled_: boolean; declare private dbdDeletionConfirmationToastLabel_: string; -@@ -147,6 +159,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { +@@ -141,6 +153,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase { Router.getInstance().navigateTo(routes.COOKIES); } @@ -506,7 +506,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 -@@ -1110,6 +1110,30 @@ For more settings that use data to improve your Chrome experience, go to @@ -552,7 +552,7 @@ diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/p diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc --- a/chrome/browser/ui/prefs/prefs_tab_helper.cc +++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc -@@ -378,6 +378,8 @@ void PrefsTabHelper::RegisterProfilePrefs( +@@ -384,6 +384,8 @@ void PrefsTabHelper::RegisterProfilePrefs( registry->RegisterBooleanPref( prefs::kEnableReferrers, !base::FeatureList::IsEnabled(features::kNoReferrers)); @@ -564,7 +564,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 -@@ -2330,6 +2330,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source, +@@ -2342,6 +2342,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}, @@ -578,7 +578,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 -@@ -1564,6 +1564,9 @@ inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track"; +@@ -1495,6 +1495,9 @@ inline constexpr char kEnableDoNotTrack[] = "enable_do_not_track"; inline constexpr char kEnableEncryptedMedia[] = "webkit.webprefs.encrypted_media_enabled"; diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index 86b2f110..de7c83e6 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -52,7 +52,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../CableAuthenticatorModuleProvider.java | 35 +- chrome/browser/webid/BUILD.gn | 3 - .../DigitalCredentialsCreationDelegate.java | 121 +-- - ...igitalCredentialsPresentationDelegate.java | 89 +- + ...igitalCredentialsPresentationDelegate.java | 87 +- chrome/test/android/BUILD.gn | 2 - .../ExternalNavigationHandler.java | 8 - components/externalauth/android/BUILD.gn | 3 - @@ -111,7 +111,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../gms/ChromiumPlayServicesAvailability.java | 17 +- third_party/androidx/customizations.gni | 14 +- third_party/cardboard/BUILD.gn | 4 - - 87 files changed, 134 insertions(+), 2780 deletions(-) + 87 files changed, 133 insertions(+), 2779 deletions(-) create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected @@ -153,7 +153,7 @@ diff --git a/build/config/android/config.gni b/build/config/android/config.gni diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn -@@ -298,14 +298,6 @@ if (_is_default_toolchain) { +@@ -303,14 +303,6 @@ if (_is_default_toolchain) { ":system_ai_service_proto_java", ":usage_stats_proto_java", ":xr_java", @@ -168,7 +168,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:content_uri_utils_java", "//base:flagged_apis_java", "//base:process_launcher_java", -@@ -757,12 +749,9 @@ if (_is_default_toolchain) { +@@ -767,12 +759,9 @@ if (_is_default_toolchain) { "//services/shape_detection/public/mojom:mojom_java", "//skia/public/mojom:mojom_java", "//third_party/android_deps:chromium_play_services_availability_java", @@ -181,7 +181,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//third_party/android_deps:protobuf_lite_runtime_java", "//third_party/android_media:android_media_java", "//third_party/android_swipe_refresh:android_swipe_refresh_java", -@@ -1948,7 +1937,6 @@ if (_is_default_toolchain) { +@@ -1966,7 +1955,6 @@ if (_is_default_toolchain) { ] deps = [ ":chrome_java", @@ -189,7 +189,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//build/android:build_java", -@@ -2054,7 +2042,6 @@ if (_is_default_toolchain) { +@@ -2073,7 +2061,6 @@ if (_is_default_toolchain) { "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java", "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java", "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java", @@ -197,7 +197,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java", "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java", -@@ -2082,14 +2069,10 @@ if (_is_default_toolchain) { +@@ -2101,14 +2088,10 @@ if (_is_default_toolchain) { "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java", "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java", "java/src/org/chromium/chrome/browser/provider/PageContentProvider.java", @@ -212,7 +212,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//base:base_java", "//chrome/browser/autofill/android:third_party_provider_java", "//chrome/browser/download/android:file_provider_java", -@@ -2108,7 +2091,6 @@ if (_is_default_toolchain) { +@@ -2127,7 +2110,6 @@ if (_is_default_toolchain) { "//components/module_installer/android:module_installer_java", "//components/policy/android:policy_java", "//components/variations/android:variations_java", @@ -223,7 +223,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn 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 -@@ -1008,10 +1008,6 @@ chrome_java_sources = [ +@@ -1023,10 +1023,6 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/segmentation_platform/SignalAccumulator.java", "java/src/org/chromium/chrome/browser/segmentation_platform/TabGroupingActionProvider.java", "java/src/org/chromium/chrome/browser/selection/ChromeSelectionDropdownMenuDelegate.java", @@ -237,7 +237,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java 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 -@@ -151,19 +151,14 @@ by a child template that "extends" this file. +@@ -154,19 +154,14 @@ by a child template that "extends" this file. @@ -257,7 +257,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -831,16 +826,6 @@ by a child template that "extends" this file. +@@ -843,16 +838,6 @@ by a child template that "extends" this file. @@ -274,7 +274,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro @@ -293,7 +293,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -1373,12 +1346,6 @@ by a child template that "extends" this file. +@@ -1393,12 +1366,6 @@ by a child template that "extends" this file. {% endif %} @@ -381,7 +381,7 @@ diff --git a/chrome/android/javatests/BUILD.gn b/chrome/android/javatests/BUILD. diff --git a/chrome/android/junit/BUILD.gn b/chrome/android/junit/BUILD.gn --- a/chrome/android/junit/BUILD.gn +++ b/chrome/android/junit/BUILD.gn -@@ -43,12 +43,6 @@ if (is_android) { +@@ -47,12 +47,6 @@ if (is_android) { ] public_deps = [ @@ -515,7 +515,7 @@ diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/p "//base:base_java", "//base:resetters_java", "//base:tasks_java", -@@ -322,8 +319,6 @@ robolectric_binary("password_manager_junit_tests") { +@@ -324,8 +321,6 @@ robolectric_binary("password_manager_junit_tests") { ":test_support_java", ":unified_password_manager_proto_java", ":utils_java", @@ -648,7 +648,7 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom import org.jni_zero.JniType; import org.jni_zero.NativeMethods; -@@ -490,13 +488,6 @@ public class PasswordManagerHelper { +@@ -489,13 +487,6 @@ public class PasswordManagerHelper { // If the exception is not a Chrome-defined one, it means that the call failed at the // API call level. It could have either failed with a known ApiException or because of a // different error (e.g. a different exception thrown by the implementation of the API). @@ -694,7 +694,7 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c PushMessagingServiceImpl* PushMessagingServiceFactory::GetForProfile( content::BrowserContext* context) { - // The Push API is not currently supported in incognito mode. -- // See https://crbug.com/401439. +- // See https://crbug.com/41124656. - if (context->IsOffTheRecord()) - return nullptr; - @@ -707,7 +707,7 @@ diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/c diff --git a/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc b/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc --- a/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc +++ b/chrome/browser/safe_browsing/notification_telemetry/notification_telemetry_service.cc -@@ -133,6 +133,7 @@ NotificationTelemetryService::NotificationTelemetryService( +@@ -127,6 +127,7 @@ NotificationTelemetryService::NotificationTelemetryService( // Notification Telemetry Service is a keyed service and will outlive // any invocations of the callback being registered with the push messaging // service (also a keyed service). @@ -718,7 +718,7 @@ diff --git a/chrome/browser/safe_browsing/notification_telemetry/notification_te 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 -@@ -129,8 +129,6 @@ static_library("ui") { +@@ -128,8 +128,6 @@ static_library("ui") { "webui/flags/flags_ui.h", "webui/flags/flags_ui_handler.cc", "webui/flags/flags_ui_handler.h", @@ -727,7 +727,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "webui/history_clusters/history_clusters_internals_ui_config.cc", "webui/history_clusters/history_clusters_internals_ui_config.h", "webui/interstitials/interstitial_ui.cc", -@@ -472,7 +470,6 @@ static_library("ui") { +@@ -498,7 +496,6 @@ static_library("ui") { "//components/feedback/content", "//components/feedback/redaction_tool", "//components/find_in_page", @@ -738,7 +738,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn 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 -@@ -176,8 +176,6 @@ android_library("java") { +@@ -186,8 +186,6 @@ android_library("java") { deps = [ ":java_resources", @@ -747,7 +747,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr "//base:base_java", "//base/version_info/android:version_constants_java", "//build/android:build_java", -@@ -521,8 +519,6 @@ robolectric_library("junit") { +@@ -538,8 +536,6 @@ robolectric_library("junit") { deps = [ ":java", ":java_resources", @@ -775,10 +775,10 @@ diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/brows diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -257,7 +257,6 @@ void RegisterChromeWebUIConfigs() { - map.AddWebUIConfig(std::make_unique()); +@@ -260,7 +260,6 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); + map.AddWebUIConfig(std::make_unique()); - map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig( std::make_unique< @@ -1014,7 +1014,7 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/webid/DigitalCredentialsPresentationDelegate.java b/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/webid/DigitalCredentialsPresentationDelegate.java --- a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/webid/DigitalCredentialsPresentationDelegate.java +++ b/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/webid/DigitalCredentialsPresentationDelegate.java -@@ -18,13 +18,6 @@ import androidx.credentials.Credential; +@@ -18,12 +18,6 @@ import androidx.credentials.Credential; import androidx.credentials.GetDigitalCredentialOption; import androidx.credentials.provider.PendingIntentHandler; @@ -1023,12 +1023,11 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w -import com.google.android.gms.identitycredentials.GetCredentialRequest; -import com.google.android.gms.identitycredentials.IdentityCredentialClient; -import com.google.android.gms.identitycredentials.IdentityCredentialManager; --import com.google.android.gms.identitycredentials.IntentHelper; - import org.json.JSONException; import org.json.JSONObject; -@@ -57,79 +50,7 @@ public class DigitalCredentialsPresentationDelegate { +@@ -54,85 +48,7 @@ public class DigitalCredentialsPresentationDelegate { Activity window = windowAndroid.getActivity().get(); if (window == null) return Promise.rejected(); @@ -1051,7 +1050,13 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w - protected void onReceiveResult(int code, Bundle data) { - Log.d(TAG, "Received a response"); - try { -- result.fulfill(extractDigitalCredentialFromResponseBundle(code, data)); +- var credential = extractDigitalCredentialFromResponseBundle(code, data); +- if (credential == null) { +- result.reject( +- new Exception("Response does not contain a credential")); +- } else { +- result.fulfill(credential); +- } - } catch (Exception e) { - Log.e(TAG, e.toString()); - @@ -1109,28 +1114,14 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w } /** -@@ -149,7 +70,7 @@ public class DigitalCredentialsPresentationDelegate { +@@ -146,6 +62,7 @@ public class DigitalCredentialsPresentationDelegate { @VisibleForTesting - public static DigitalCredential extractDigitalCredentialFromResponseBundle( - int code, Bundle bundle) -- throws JSONException, NullPointerException, GetCredentialException { -+ throws JSONException, NullPointerException { - // Try to read the new format. - var digitalCredential = extractDigitalCredentialFromModernResponse(bundle); - if (digitalCredential != null) { -@@ -158,11 +79,7 @@ public class DigitalCredentialsPresentationDelegate { - // TODO(crbug.com/336329411) Handle the case when the intent doesn't contain the modern - // response, but contains the modern exception. - -- // Fallback to the legacy format. -- var response = IntentHelper.extractGetCredentialResponse(code, bundle); -- var token = response.getCredential().getData().getByteArray(BUNDLE_KEY_IDENTITY_TOKEN); -- -- return new DigitalCredential(null, Objects.requireNonNull(token)); -+ throw new NullPointerException(); - } - - /** + public static @Nullable DigitalCredential extractDigitalCredentialFromResponseBundle( + int code, Bundle bundle) throws JSONException { ++ if ((true)) throw new JSONException(); + Intent intent = IntentUtils.safeGetParcelable(bundle, BUNDLE_KEY_PROVIDER_DATA); + if (intent == null) { + return null; diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn --- a/chrome/test/android/BUILD.gn +++ b/chrome/test/android/BUILD.gn @@ -1146,7 +1137,7 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn 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 -@@ -2912,14 +2912,6 @@ public class ExternalNavigationHandler { +@@ -2945,14 +2945,6 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper { * @return Whether the given intent is going to open an Instant App. */ private static boolean isIntentToInstantApp(Intent intent) { @@ -1493,7 +1484,7 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java --- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java +++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java -@@ -88,7 +88,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { +@@ -65,7 +65,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider { // The maximum number of related apps declared in the Web Manifest taken into account when // determining whether the related app is installed and mutually related. @@ -1533,7 +1524,7 @@ diff --git a/components/media_router/browser/android/BUILD.gn b/components/media "//base:base_java", "//base:base_java_test_support", "//components/browser_ui/media/android:java", -@@ -149,10 +142,6 @@ robolectric_library("junit") { +@@ -148,10 +141,6 @@ robolectric_library("junit") { deps = [ ":java", ":test_support_java", @@ -2439,10 +2430,10 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo -import com.google.android.gms.cast.CastMediaControlIntent; - + import org.chromium.base.ResettersForTesting; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; - import org.chromium.components.media_router.MediaSource; -@@ -97,13 +95,7 @@ public class CastMediaSource implements MediaSource { +@@ -110,13 +108,7 @@ public class CastMediaSource implements MediaSource { */ @Override public @Nullable MediaRouteSelector buildRouteSelector() { @@ -2944,7 +2935,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.build.annotations.NullMarked; -@@ -84,9 +82,7 @@ public class RemotingMediaSource implements MediaSource { +@@ -83,9 +81,7 @@ public class RemotingMediaSource implements MediaSource { */ @Override public MediaRouteSelector buildRouteSelector() { @@ -2955,7 +2946,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo } /** -@@ -116,7 +112,7 @@ public class RemotingMediaSource implements MediaSource { +@@ -115,7 +111,7 @@ public class RemotingMediaSource implements MediaSource { sApplicationId = (customAppId != null && !customAppId.isEmpty()) ? customAppId @@ -3079,7 +3070,7 @@ diff --git a/components/omnibox/common/android/java/src/org/chromium/components/ import org.chromium.base.BaseSwitches; import org.chromium.base.CommandLine; import org.chromium.base.ContextUtils; -@@ -198,12 +196,6 @@ public class OmniboxFeatures { +@@ -203,12 +201,6 @@ public class OmniboxFeatures { "geolocation_request_min_update_interval_millis", (int) (9 * DateUtils.MINUTE_IN_MILLIS)); @@ -3925,7 +3916,7 @@ diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn --- a/content/public/android/BUILD.gn +++ b/content/public/android/BUILD.gn -@@ -165,10 +165,6 @@ android_library("content_full_java") { +@@ -160,10 +160,6 @@ android_library("content_full_java") { ":content_java_resources", ":content_main_dex_java", ":content_util_java", @@ -3939,7 +3930,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn -@@ -3824,10 +3824,6 @@ if (is_android) { +@@ -3839,10 +3839,6 @@ if (is_android) { testonly = true sources = content_java_sources_needing_jni deps = [ @@ -3953,7 +3944,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/device/BUILD.gn b/device/BUILD.gn --- a/device/BUILD.gn +++ b/device/BUILD.gn -@@ -528,9 +528,6 @@ if (is_android) { +@@ -525,9 +525,6 @@ if (is_android) { "vr/public/junit/src/org/chromium/device/vr/XrFeatureStatusTest.java", ] deps = [ @@ -3966,7 +3957,7 @@ diff --git a/device/BUILD.gn b/device/BUILD.gn diff --git a/services/BUILD.gn b/services/BUILD.gn --- a/services/BUILD.gn +++ b/services/BUILD.gn -@@ -165,12 +165,6 @@ if (is_android) { +@@ -166,12 +166,6 @@ if (is_android) { "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java", ] deps = [ @@ -3979,7 +3970,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn "//base:base_java", "//base:base_java_test_support", "//base:base_junit_test_support", -@@ -204,10 +198,6 @@ if (is_android) { +@@ -210,10 +204,6 @@ if (is_android) { "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", ] deps = [ @@ -4933,7 +4924,7 @@ diff --git a/third_party/android_deps/autorolled/BUILD.gn b/third_party/android_ # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("com_google_guava_failureaccess_java") { jar_path = "autorolled/cipd/libs/com_google_guava_failureaccess/failureaccess.jar" -@@ -2013,28 +1166,6 @@ template("define_autorolled_targets") { +@@ -2015,28 +1168,6 @@ template("define_autorolled_targets") { deps = [ "//third_party/android_deps:org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_java" ] } @@ -5015,7 +5006,7 @@ diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServices diff --git a/third_party/androidx/customizations.gni b/third_party/androidx/customizations.gni --- a/third_party/androidx/customizations.gni +++ b/third_party/androidx/customizations.gni -@@ -160,7 +160,7 @@ template("androidx_java_prebuilt") { +@@ -166,7 +166,7 @@ template("androidx_java_prebuilt") { } } @@ -5024,7 +5015,7 @@ diff --git a/third_party/androidx/customizations.gni b/third_party/androidx/cust _androidx_prebuilt(target_name) { forward_variables_from(invoker, "*") target_type = "android_aar_prebuilt" -@@ -177,6 +177,18 @@ template("androidx_android_aar_prebuilt") { +@@ -183,6 +183,18 @@ template("androidx_android_aar_prebuilt") { } } diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch index e4ed780e..2264501e 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 -@@ -594,7 +594,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams( +@@ -613,7 +613,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 851dc70a..212b1aec 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 -@@ -1236,9 +1236,6 @@ public class KeyboardShortcuts { +@@ -1230,9 +1230,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 -@@ -2680,15 +2680,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2739,15 +2739,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity final Tab currentTab = getActivityTab(); @@ -58,7 +58,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/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 -@@ -144,6 +144,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -148,6 +148,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_24dp); @@ -69,7 +69,7 @@ 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 -@@ -175,6 +175,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment +@@ -222,6 +222,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_24dp); @@ -80,7 +80,7 @@ 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 -@@ -905,6 +905,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment +@@ -907,6 +907,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); help.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); @@ -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 -@@ -1266,7 +1266,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity { +@@ -1267,7 +1267,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,7 +102,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/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 -@@ -601,6 +601,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -603,6 +603,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_24dp, getActivity().getTheme())); @@ -113,7 +113,7 @@ 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 -@@ -977,6 +977,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -1015,6 +1015,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity help.setIcon( TraceEventVectorDrawableCompat.create( getResources(), R.drawable.ic_help_24dp, getTheme())); @@ -124,7 +124,7 @@ 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 -@@ -176,6 +176,7 @@ public class GoogleServicesSettings extends ChromeBaseSettingsFragment +@@ -177,6 +177,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_24dp); @@ -135,7 +135,7 @@ 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 -@@ -290,6 +290,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment +@@ -291,6 +291,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_24dp); @@ -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 -@@ -432,7 +432,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm +@@ -466,7 +466,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm } // Help @@ -169,7 +169,7 @@ 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 -@@ -134,6 +134,7 @@ public class AutofillOptionsFragment extends ChromeBaseSettingsFragment { +@@ -154,6 +154,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_24dp); @@ -213,7 +213,7 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc --- a/chrome/browser/ui/chrome_pages.cc +++ b/chrome/browser/ui/chrome_pages.cc -@@ -146,6 +146,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) { +@@ -145,6 +145,15 @@ void LaunchReleaseNotesImpl(Profile* profile, apps::LaunchSource source) { // shown in the last active browser. If there is no such browser, a new browser // is created. void ShowHelpImpl(Browser* browser, Profile* profile, HelpSource source) { diff --git a/build/patches/Remove-segmentation-platform.patch b/build/patches/Remove-segmentation-platform.patch index 4e7c45b6..da9bde11 100644 --- a/build/patches/Remove-segmentation-platform.patch +++ b/build/patches/Remove-segmentation-platform.patch @@ -47,9 +47,9 @@ 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 -@@ -243,4 +243,7 @@ constexpr base::FeatureParam kWindowTimeMinutes{&kAndroidTipsNotifications, - - BASE_FEATURE(kAndroidTipsNotificationsV2, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -282,4 +282,7 @@ constexpr base::FeatureParam kEnableRecentTabsTip{ + &kAndroidTipsNotificationsV2, "enable_recent_tabs_tip", + /*default_value=*/true}; +SET_CROMITE_FEATURE_DISABLED(kSegmentationPlatformFeature); +SET_CROMITE_FEATURE_DISABLED(kSegmentationPlatformFeedSegmentFeature); 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 733cdba5..608d0dfd 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 @@ -245,7 +245,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 -@@ -326,7 +326,7 @@ MemoryInfo* WindowPerformance::memory(ScriptState* script_state) const { +@@ -314,7 +314,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 04ee356a..f3e8ccfa 100644 --- a/build/patches/Remove-voice-recognition-integration.patch +++ b/build/patches/Remove-voice-recognition-integration.patch @@ -5,32 +5,32 @@ Subject: Remove voice recognition integration License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../BaseCustomTabRootUiCoordinator.java | 2 +- - .../chrome/browser/ntp/NewTabPage.java | 29 +------- + .../chrome/browser/ntp/NewTabPage.java | 30 +---------- .../browser/ntp/search/SearchBoxMediator.java | 1 + .../browser/searchwidget/SearchActivity.java | 3 +- .../SearchActivityLocationBarLayout.java | 8 --- .../tabbed_mode/TabbedRootUiCoordinator.java | 2 +- .../browser/toolbar/ToolbarManager.java | 5 -- - .../ui/AdaptiveToolbarUiCoordinator.java | 48 ------------- - .../chrome/browser/ui/RootUiCoordinator.java | 18 ----- + .../ui/AdaptiveToolbarUiCoordinator.java | 50 ------------------- + .../chrome/browser/ui/RootUiCoordinator.java | 18 ------- chrome/browser/ui/android/omnibox/BUILD.gn | 1 - - .../chrome/browser/omnibox/LocationBar.java | 6 -- - .../omnibox/LocationBarCoordinator.java | 14 +--- - .../browser/omnibox/LocationBarLayout.java | 6 -- - .../browser/omnibox/LocationBarMediator.java | 71 ++----------------- + .../chrome/browser/omnibox/LocationBar.java | 6 --- + .../omnibox/LocationBarCoordinator.java | 14 +----- + .../browser/omnibox/LocationBarLayout.java | 6 --- + .../browser/omnibox/LocationBarMediator.java | 48 +----------------- .../chrome/browser/omnibox/OmniboxStub.java | 8 --- - .../suggestions/AutocompleteController.java | 25 ------- + .../suggestions/AutocompleteController.java | 25 ---------- .../suggestions/AutocompleteCoordinator.java | 8 --- - .../suggestions/AutocompleteMediator.java | 10 --- + .../suggestions/AutocompleteMediator.java | 9 ---- .../omnibox/voice/VoiceRecognitionUtil.java | 1 + chrome/browser/ui/android/toolbar/BUILD.gn | 1 - .../toolbar/VoiceToolbarButtonController.java | 1 + - 21 files changed, 13 insertions(+), 255 deletions(-) + 21 files changed, 11 insertions(+), 236 deletions(-) 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 -@@ -519,7 +519,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { +@@ -521,7 +521,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 -@@ -80,7 +80,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils.NtpBa +@@ -75,7 +75,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils.NtpBa import org.chromium.chrome.browser.ntp_customization.theme.chrome_colors.NtpThemeColorInfo; import org.chromium.chrome.browser.ntp_customization.theme.upload_image.BackgroundImageInfo; 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; -@@ -148,7 +147,6 @@ public class NewTabPage +@@ -145,7 +144,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"; -@@ -183,7 +181,6 @@ public class NewTabPage +@@ -180,7 +178,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; -@@ -401,8 +398,7 @@ public class NewTabPage +@@ -297,8 +294,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 -@@ -413,14 +409,7 @@ public class NewTabPage +@@ -309,15 +305,7 @@ public class NewTabPage if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); @@ -85,14 +85,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. - feedReliabilityLogger.onVoiceSearch(); - } - mVoiceRecognitionHandler.startVoiceRecognition( -- VoiceRecognitionHandler.VoiceInteractionSource.NTP); +- VoiceRecognitionHandler.VoiceInteractionSource.NTP, +- CallbackUtils.emptyRunnable()); - mTracker.notifyEvent(EventConstants.NTP_VOICE_SEARCH_BUTTON_CLICKED); - } else if (mOmniboxStub != null) { + if (mOmniboxStub != null) { if (feedReliabilityLogger != null) { feedReliabilityLogger.onOmniboxFocused(); } -@@ -1093,12 +1082,6 @@ public class NewTabPage +@@ -1012,12 +1000,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } @@ -105,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. } /** -@@ -1117,11 +1100,6 @@ public class NewTabPage +@@ -1036,11 +1018,6 @@ public class NewTabPage } } @@ -117,7 +118,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); -@@ -1206,9 +1184,6 @@ public class NewTabPage +@@ -1131,9 +1108,6 @@ public class NewTabPage mOmniboxStub.removeUrlFocusChangeListener(feedReliabilityLogger); } mFeedSurfaceProvider.destroy(); @@ -130,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java -@@ -91,6 +91,7 @@ class SearchBoxMediator implements DestroyObserver { +@@ -103,6 +103,7 @@ class SearchBoxMediator implements DestroyObserver { /** Called to add a click listener for the voice search button. */ void addVoiceSearchButtonClickListener(OnClickListener listener) { @@ -149,7 +150,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.ui.edge_to_edge.NoOpTopInsetProvider; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; -@@ -337,7 +336,7 @@ public class SearchActivity extends AsyncInitializationActivity +@@ -338,7 +337,7 @@ public class SearchActivity extends AsyncInitializationActivity this::bringTabGroupToFront, /*omniboxUma*/ (url, transition, isNtp) -> {}, /* bookmarkState= */ (url) -> false, @@ -161,7 +162,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/searchwidget/SearchActivityLocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java -@@ -26,7 +26,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarData; +@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; @@ -169,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se import org.chromium.chrome.browser.toolbar.top.ToolbarPhone; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.SearchType; -@@ -214,13 +213,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { +@@ -202,13 +201,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { return false; } @@ -186,7 +187,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 -@@ -1107,7 +1107,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1139,7 +1139,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mTabBookmarkerSupplier, mBookmarkModelSupplier, mActivityTabProvider, @@ -198,15 +199,15 @@ 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 -@@ -121,7 +121,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; - import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl; +@@ -122,7 +122,6 @@ import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; -@@ -3302,10 +3301,6 @@ public class ToolbarManager +@@ -3283,10 +3282,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } @@ -220,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java -@@ -29,8 +29,6 @@ import org.chromium.chrome.browser.dom_distiller.ReaderModeIphController; +@@ -32,8 +32,6 @@ import org.chromium.chrome.browser.dom_distiller.ReaderModeIphController; import org.chromium.chrome.browser.dom_distiller.ReaderModeToolbarButtonController; import org.chromium.chrome.browser.identity_disc.IdentityDiscController; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; @@ -229,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool import org.chromium.chrome.browser.price_history.PriceHistoryBottomSheetContentCoordinator; import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController; import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier; -@@ -43,7 +41,6 @@ import org.chromium.chrome.browser.segmentation_platform.ContextualPageActionCon +@@ -46,7 +44,6 @@ import org.chromium.chrome.browser.segmentation_platform.ContextualPageActionCon import org.chromium.chrome.browser.share.ShareButtonController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tabmodel.TabModelSelector; @@ -237,7 +238,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveButtonActionMenuCoordinator; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarButtonController; -@@ -76,7 +73,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -84,7 +81,6 @@ public class AdaptiveToolbarUiCoordinator { private CurrentTabPriceTrackingStateSupplier mCurrentTabPriceTrackingStateSupplier; private ContextualPageActionController mContextualPageActionController; private AdaptiveToolbarButtonController mAdaptiveToolbarButtonController; @@ -245,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool private BottomSheetController mBottomSheetController; private MonotonicObservableSupplier mProfileSupplier; private Supplier mScrimSupplier; -@@ -249,45 +245,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -268,47 +264,6 @@ public class AdaptiveToolbarUiCoordinator { } } @@ -256,7 +257,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool - * @param trackerSupplier Supplies {@link Tracker} object. - */ - public void addVoiceSearchAdaptiveButton( -- Supplier voiceRecognitionHandler, +- Supplier<@Nullable VoiceRecognitionHandler> voiceRecognitionHandler, - Supplier<@Nullable Tracker> trackerSupplier) { - var voiceSearchDelegate = - new VoiceToolbarButtonController.VoiceSearchDelegate() { @@ -271,7 +272,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool - if (voiceRecognitionHandler.get() == null) return; - voiceRecognitionHandler - .get() -- .startVoiceRecognition(VoiceInteractionSource.TOOLBAR); +- .startVoiceRecognition( +- VoiceInteractionSource.TOOLBAR, +- CallbackUtils.emptyRunnable()); - } - }; - mVoiceToolbarButtonController = @@ -291,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool /** * Returns the list of {@link ButtonDataProvider}. The order in which the providers determines * which one will be shown first. -@@ -301,11 +258,6 @@ public class AdaptiveToolbarUiCoordinator { +@@ -322,11 +277,6 @@ public class AdaptiveToolbarUiCoordinator { return mContextualPageActionController; } @@ -306,23 +309,23 @@ 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 -@@ -125,7 +125,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi - import org.chromium.chrome.browser.omnibox.OmniboxActionDelegateImpl; +@@ -126,7 +126,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi import org.chromium.chrome.browser.omnibox.OmniboxChipManager; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.open_in_app.OpenInAppEntryPoint; import org.chromium.chrome.browser.open_in_app.OpenInAppMenuItemProvider; - import org.chromium.chrome.browser.open_in_app.OpenInAppUtils; -@@ -354,7 +353,6 @@ public class RootUiCoordinator - private LayoutManagerImpl mLayoutManager; + import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; +@@ -360,7 +359,6 @@ public class RootUiCoordinator + private @Nullable LayoutManagerImpl mLayoutManager; protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); -- @Nullable private VoiceRecognitionHandler.Observer mMicStateObserver; - private MediaCaptureOverlayController mCaptureController; +- private VoiceRecognitionHandler.@Nullable Observer mMicStateObserver; + private @Nullable MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; -@@ -836,9 +834,6 @@ public class RootUiCoordinator +@@ -845,9 +843,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { @@ -332,7 +335,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi mToolbarManager.destroy(); mToolbarManager = null; } -@@ -1900,23 +1895,10 @@ public class RootUiCoordinator +@@ -1933,23 +1928,10 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } @@ -348,7 +351,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi } } -- protected void addVoiceSearchAdaptiveButton(Supplier trackerSupplier) { +- protected void addVoiceSearchAdaptiveButton(Supplier<@Nullable Tracker> trackerSupplier) { - mAdaptiveToolbarUiCoordinator.addVoiceSearchAdaptiveButton( - () -> mToolbarManager.getVoiceRecognitionHandler(), trackerSupplier); - } @@ -359,7 +362,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 -@@ -166,7 +166,6 @@ android_library("java") { +@@ -176,7 +176,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", @@ -378,7 +381,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.browser_ui.accessibility.PageZoomUtils; -@@ -77,11 +76,6 @@ public interface LocationBar { +@@ -74,11 +73,6 @@ public interface LocationBar { */ View getSecurityIconView(); @@ -393,15 +396,15 @@ 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/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 -@@ -62,7 +62,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; - import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; +@@ -65,7 +65,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdow import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.share.ShareDelegate; -@@ -642,12 +641,6 @@ public class LocationBarCoordinator +@@ -628,12 +627,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } @@ -414,7 +417,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public @Nullable OmniboxStub getOmniboxStub() { return mLocationBarMediator; -@@ -804,7 +797,7 @@ public class LocationBarCoordinator +@@ -786,7 +779,7 @@ public class LocationBarCoordinator public void startAutocompletePrefetch() { if (!mNativeInitialized) return; mAutocompleteCoordinator.prefetchZeroSuggestResults( @@ -423,7 +426,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } /** -@@ -1016,11 +1009,6 @@ public class LocationBarCoordinator +@@ -1028,11 +1021,6 @@ public class LocationBarCoordinator // End tablet-specific methods. @@ -446,7 +449,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; -@@ -511,11 +510,6 @@ public class LocationBarLayout extends ConstraintLayout { +@@ -492,11 +491,6 @@ public class LocationBarLayout extends ConstraintLayout { mSearchEngineUtils = searchEngineUtils; } @@ -461,7 +464,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 -@@ -75,7 +75,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; +@@ -76,7 +76,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,16 +472,15 @@ 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; -@@ -128,8 +127,6 @@ import java.util.function.Supplier; +@@ -129,7 +128,6 @@ import java.util.function.Supplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, -- VoiceRecognitionHandler.Delegate, - VoiceRecognitionHandler.Observer, UrlBarDelegate, OnKeyListener, FuseboxAttachmentChangeListener, -@@ -189,7 +186,6 @@ class LocationBarMediator +@@ -189,7 +187,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; @@ -486,16 +488,26 @@ 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; -@@ -291,8 +287,6 @@ class LocationBarMediator - mEmbedderUiOverrides = embedderUiOverrides; - mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; - mLocaleManager = localeManager; -- mVoiceRecognitionHandler = new VoiceRecognitionHandler(this, profileSupplier); -- mVoiceRecognitionHandler.addObserver(this); - mProfileSupplier = profileSupplier; - mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); - mTemplateUrlServiceSupplier = templateUrlServiceSupplier; -@@ -393,9 +387,6 @@ class LocationBarMediator +@@ -372,18 +369,6 @@ class LocationBarMediator + mAutocompleteCoordinator = autocompleteCoordinator; + mStatusCoordinator = statusCoordinator; + +- // Set up VoiceRecognitionHandler once mAutocompleteCoordinator is set. +- if (mVoiceRecognitionHandler == null) { +- mVoiceRecognitionHandler = +- new VoiceRecognitionHandler( +- this, +- mLocationBarDataProvider, +- mAutocompleteCoordinator, +- mWindowAndroid, +- mProfileSupplier); +- mVoiceRecognitionHandler.addObserver(this); +- } +- + updateShouldAnimateIconChanges(); + updateButtonVisibility(); + updateSearchEngineStatusIconShownState(); +@@ -402,9 +387,6 @@ class LocationBarMediator mStatusCoordinator = null; mAutocompleteCoordinator = null; mUrlCoordinator = null; @@ -503,9 +515,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow - mVoiceRecognitionHandler.destroy(); - mVoiceRecognitionHandler = null; mLocationBarDataProvider.removeObserver(this); - mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); -@@ -535,11 +526,6 @@ class LocationBarMediator + if (mPageZoomIndicatorCoordinator != null) { +@@ -532,11 +514,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } @@ -517,18 +529,18 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } -@@ -894,10 +880,6 @@ class LocationBarMediator +@@ -895,10 +872,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); - - RecordUserAction.record("MobileOmniboxVoiceSearch"); - mVoiceRecognitionHandler.startVoiceRecognition( -- mLocationBarLayout.getVoiceRecognitionSource()); +- mLocationBarLayout.getVoiceRecognitionSource(), CallbackUtils.emptyRunnable()); } /** package */ -@@ -1669,10 +1651,7 @@ class LocationBarMediator +@@ -1699,10 +1672,7 @@ class LocationBarMediator if (mCurrentInput != null && !mCurrentInput.isConventionalRequestType()) return false; if (isUrlBarFocusedWithUserInput()) return false; @@ -540,7 +552,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); -@@ -1690,6 +1669,7 @@ class LocationBarMediator +@@ -1720,6 +1690,7 @@ class LocationBarMediator @VisibleForTesting boolean shouldShowLensButton() { @@ -548,8 +560,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (mCurrentInput != null && !mCurrentInput.isConventionalRequestType()) return false; if (isUrlBarFocusedWithUserInput()) return false; -@@ -1966,11 +1946,6 @@ class LocationBarMediator - refreshAutocompleteForCurrentInput(); +@@ -1983,11 +1954,6 @@ class LocationBarMediator + mUrlCoordinator.clearFocus(); } - @Override @@ -560,63 +572,19 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); -@@ -1987,33 +1962,13 @@ class LocationBarMediator +@@ -2012,16 +1978,6 @@ class LocationBarMediator + .build()); } - /** {@see VoiceRecognitionHandler.Delegate#clearOmniboxFocus()} */ -- @Override -+ // @Override - public void clearOmniboxFocus() { - setUrlBarFocus(null); - } - -- /** {@see VoiceRecognitionHandler.Delegate#notifyVoiceRecognitionCanceled()} */ -- @Override -- public void notifyVoiceRecognitionCanceled() {} -- -- // VoiceRecognitionHandler.Delegate implementation. -- -- /** {@see VoiceRecognitionHandler.Delegate#loadUrlFromVoice(String)} */ -- @Override -- public void loadUrlFromVoice(String url) { -- loadUrl( -- new OmniboxLoadUrlParams.Builder(url, PageTransition.TYPED) -- .setOpenInNewTab(false) -- .build()); -- } -- - @Override - public void onVoiceAvailabilityImpacted() { - updateButtonVisibility(); - } - - /** {@see VoiceRecognitionHandler.Delegate#setSearchQuery(String)} */ -- @Override -+ // @Override - public void setSearchQuery(String query) { - // TODO(crbug.com/477922724): Remove VoiceRecognitionHandler.Delegate and make VRH use the - // OmniboxStub directly. -@@ -2032,24 +1987,6 @@ class LocationBarMediator - mUrlCoordinator.setKeyboardVisibility(true, false); - } - -- /** {@see VoiceRecognitionHandler.Delegate#getLocationBarDataProvider()} */ -- @Override +- /** Getter for LocationBarDataProvider. */ - public LocationBarDataProvider getLocationBarDataProvider() { - return mLocationBarDataProvider; - } -- -- /** {@see VoiceRecognitionHandler.Delegate#getAutocompleteCoordinator()} */ -- @Override -- public AutocompleteCoordinator getAutocompleteCoordinator() { -- return mAutocompleteCoordinator; -- } -- -- /** {@see VoiceRecognitionHandler.Delegate#getWindowAndroid()} */ -- @Override -- public WindowAndroid getWindowAndroid() { -- return mWindowAndroid; -- } - // UrlBarDelegate implementation. @@ -630,9 +598,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.lens.LensEntryPoint; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.components.omnibox.AutocompleteInput; + import org.chromium.url.GURL; - /** -@@ -33,13 +32,6 @@ public interface OmniboxStub { +@@ -35,13 +34,6 @@ public interface OmniboxStub { */ boolean isUrlBarFocused(); @@ -649,7 +617,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/suggestions/AutocompleteController.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java -@@ -15,7 +15,6 @@ import org.chromium.build.annotations.NullMarked; +@@ -16,7 +16,6 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.omnibox.OmniboxMetrics; import org.chromium.chrome.browser.omnibox.fusebox.ComposeboxQueryControllerBridge; @@ -657,7 +625,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.preloading.PreloadingFeatureMap; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.components.omnibox.AutocompleteInput; -@@ -355,25 +354,6 @@ public class AutocompleteController { +@@ -360,25 +359,6 @@ public class AutocompleteController { mNativeController, bridge == null ? 0L : bridge.getNativeInstance()); } @@ -683,7 +651,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow /** * Updates searchbox stats parameters on the selected match that we will navigate to and * returns the updated URL. -@@ -483,11 +463,6 @@ public class AutocompleteController { +@@ -498,11 +478,6 @@ public class AutocompleteController { long nativeAutocompleteControllerAndroid, long nativeComposeboxQueryControllerBridge); @@ -698,15 +666,15 @@ 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/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java -@@ -34,7 +34,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On - import org.chromium.chrome.browser.omnibox.suggestions.SuggestionListViewBinder.SuggestionListViewHolder; +@@ -36,7 +36,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.SuggestionListViewBinder. + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewBinder; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; -@@ -325,13 +324,6 @@ public class AutocompleteCoordinator implements OmniboxSuggestionsVisualState { +@@ -323,13 +322,6 @@ public class AutocompleteCoordinator implements OmniboxSuggestionsVisualState { } } @@ -723,7 +691,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/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java -@@ -47,7 +47,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.Auto +@@ -50,7 +50,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDeleg import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionInSuggest; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; @@ -731,7 +699,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow import org.chromium.chrome.browser.preloading.PreloadingFeatureMap; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; -@@ -579,15 +578,6 @@ class AutocompleteMediator +@@ -656,14 +655,6 @@ class AutocompleteMediator mShouldPreventOmniboxAutocomplete = prevent; } @@ -739,9 +707,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow - * @see AutocompleteController#onVoiceResults(List) - */ - void onVoiceResults(@Nullable List results) { -- if (mAutocomplete != null) { -- mAutocomplete.onVoiceResults(results); -- } +- if (!isInInputSession()) return; +- mAutocomplete.onVoiceResults(results); - } - /** 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 e39c0d2c..588b5f00 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 -@@ -2982,7 +2982,8 @@ void DocumentLoader::CommitNavigation() { +@@ -3038,7 +3038,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(); } -@@ -2993,6 +2994,7 @@ void DocumentLoader::CommitNavigation() { +@@ -3049,6 +3050,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-LastTabStandingTracker.patch b/build/patches/Restore-LastTabStandingTracker.patch index 35c24de2..4702b22f 100644 --- a/build/patches/Restore-LastTabStandingTracker.patch +++ b/build/patches/Restore-LastTabStandingTracker.patch @@ -27,8 +27,8 @@ 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 -@@ -1507,6 +1507,16 @@ static_library("browser") { - "webdata_services/web_data_service_factory.cc", +@@ -1329,6 +1329,16 @@ static_library("browser") { + "webauthn/webauthn_switches.cc", ] + sources += [ @@ -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 -@@ -141,6 +141,7 @@ +@@ -152,6 +152,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" -@@ -1129,6 +1130,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1148,6 +1149,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 -@@ -53,6 +53,7 @@ +@@ -56,6 +56,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,8 +410,8 @@ 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" -@@ -445,6 +446,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { - HistoryEmbeddingsTabHelper::CreateForWebContents(web_contents); +@@ -463,6 +464,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { + } HttpsOnlyModeTabHelper::CreateForWebContents(web_contents); webapps::InstallableManager::CreateForWebContents(web_contents); + LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents); diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch index 15d87456..f45e50b9 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 -@@ -403,6 +403,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -408,6 +408,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kRecordIncognitoNtpTimeToFirstNavigationMetric, &kRecordSuppressionMetrics, &kReengagementNotification, @@ -34,7 +34,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 -@@ -498,6 +498,7 @@ public abstract class ChromeFeatureList { +@@ -509,6 +509,7 @@ public abstract class ChromeFeatureList { "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MEDIA_INDICATORS_ANDROID = "MediaIndicatorsAndroid"; public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization"; diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch index d73a486f..5fca5c1f 100644 --- a/build/patches/Restore-Simplified-NTP-launch.patch +++ b/build/patches/Restore-Simplified-NTP-launch.patch @@ -28,7 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../native_page/NativePageFactory.java | 20 +- .../NativePageNavigationDelegateImpl.java | 2 +- .../chrome/browser/ntp/NewTabPage.java | 8 +- - .../chrome/browser/ntp/NewTabPageLayout.java | 33 +- + .../chrome/browser/ntp/NewTabPageLayout.java | 29 +- .../ntp/search/SearchBoxViewBinder.java | 1 + .../suggestions/SuggestionsConfig.java | 2 +- .../SuggestionsNavigationDelegate.java | 27 +- @@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Restore-Simplified-NTP-launch.inc | 12 + .../Restore-Simplified-NTP-launch.inc | 10 + .../Restore-Simplified-NTP-launch.inc | 1 + - 45 files changed, 650 insertions(+), 65 deletions(-) + 45 files changed, 648 insertions(+), 63 deletions(-) create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png @@ -81,7 +81,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/drawable-hdpi/ic_phone_googblue_36dp.png", "java/res/drawable-hdpi/ic_photo_camera.png", "java/res/drawable-hdpi/ic_place_googblue_36dp.png", -@@ -545,6 +550,7 @@ chrome_java_resources = [ +@@ -544,6 +549,7 @@ chrome_java_resources = [ "java/res/layout/manage_space_activity.xml", "java/res/layout/material_tooltip.xml", "java/res/layout/multiline_spinner_item.xml", @@ -89,12 +89,12 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja "java/res/layout/mv_tiles_layout.xml", "java/res/layout/navigation_bubble.xml", "java/res/layout/navigation_sheet.xml", -@@ -554,8 +560,10 @@ chrome_java_resources = [ +@@ -552,8 +558,10 @@ chrome_java_resources = [ + "java/res/layout/new_background_tab_animation_tab_switcher_icon.xml", "java/res/layout/new_custom_tab_toolbar.xml", "java/res/layout/new_tab_page_incognito.xml", - "java/res/layout/new_tab_page_layout.xml", + "java/res/layout/new_tab_page_tile_grid_placeholder.xml", - "java/res/layout/one_line_list_item.xml", + "java/res/layout/new_tab_page_layout.xml", "java/res/layout/open_full_chrome_history_header.xml", + "java/res/layout/ntp_shortcuts.xml", "java/res/layout/optional_toolbar_button.xml", @@ -103,7 +103,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 -@@ -639,6 +639,7 @@ chrome_java_sources = [ +@@ -649,6 +649,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java", "java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java", "java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java", @@ -111,7 +111,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java "java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java", "java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java", -@@ -1081,6 +1082,7 @@ chrome_java_sources = [ +@@ -1096,6 +1097,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java", "java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java", @@ -416,10 +416,10 @@ diff --git a/chrome/android/java/res/layout/mv_tiles_layout.xml b/chrome/android diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/android/java/res/layout/new_tab_page_layout.xml --- a/chrome/android/java/res/layout/new_tab_page_layout.xml +++ b/chrome/android/java/res/layout/new_tab_page_layout.xml -@@ -57,6 +57,13 @@ found in the LICENSE file. - android:layout_marginTop="16dp" - android:visibility="gone"/> +@@ -50,6 +50,13 @@ found in the LICENSE file. + /> + + edgeToEdgeControllerSupplier, TopInsetProvider topInsetProvider, StartupMetricsTracker startupMetricsTracker, @@ -843,7 +843,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage. mConstructedTimeNs = System.nanoTime(); TraceEvent.begin(TAG); -@@ -578,7 +582,7 @@ public class NewTabPage +@@ -474,7 +478,7 @@ public class NewTabPage nativePageHost, tabModelSelector, mTab, @@ -863,7 +863,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL import android.view.View; import android.view.ViewGroup; import android.view.ViewStub; -@@ -41,6 +42,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate; +@@ -39,6 +40,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.incognito.IncognitoUtils; import org.chromium.chrome.browser.lens.LensEntryPoint; @@ -871,24 +871,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL import org.chromium.chrome.browser.lens.LensMetrics; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; import org.chromium.chrome.browser.logo.LogoBridge.Logo; -@@ -61,6 +63,7 @@ import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator; - import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout; +@@ -59,6 +61,7 @@ import org.chromium.chrome.browser.signin.SigninAndHistorySyncActivityLauncherIm + import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator; import org.chromium.chrome.browser.suggestions.tile.TileGroup; import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate; +import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout; import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate; -@@ -120,6 +123,8 @@ public class NewTabPageLayout extends LinearLayout - private @Nullable DisplayStyleObserver mDisplayStyleObserver; - private CallbackController mCallbackController = new CallbackController(); +@@ -116,6 +119,8 @@ public class NewTabPageLayout extends LinearLayout { + private SearchEngineUtils.@Nullable SearchEngineIconObserver mSearchEngineIconObserver; + private SearchEngineUtils.@Nullable SearchBoxHintTextObserver mSearchBoxHintTextObserver; + private ViewGroup mShortcutsView; + /** - * Whether the tiles shown in the layout have finished loading. - * With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress. -@@ -132,14 +137,14 @@ public class NewTabPageLayout extends LinearLayout + * Whether the tiles shown in the layout have finished loading. With {@link #mHasShownView}, + * it's one of the 2 flags used to track initialisation progress. +@@ -128,14 +133,14 @@ public class NewTabPageLayout extends LinearLayout { */ private boolean mHasShownView; @@ -905,26 +905,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL private boolean mIsViewMoving; /** Flag used to request some layout changes after the next layout pass is completed. */ -@@ -310,6 +315,7 @@ public class NewTabPageLayout extends LinearLayout - initializeMostVisitedTilesCoordinator( - mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate); - initializeDseIconView(); +@@ -302,6 +307,7 @@ public class NewTabPageLayout extends LinearLayout { + mSearchEngineUtils.addIconObserver(mSearchEngineIconObserver); + setSearchBoxTextAppearance(); + + initializeShortcuts(); initializeSearchBoxTextView(); initializeVoiceSearchButton(); initializeLensButton(); -@@ -776,8 +782,8 @@ public class NewTabPageLayout extends LinearLayout - private void calculateTabletMvtWidth(int totalWidth) { - if (mMvTilesContainerLayout.getVisibility() == GONE) return; - -- MostVisitedTilesLayout mvTilesLayout = findViewById(R.id.mv_tiles_layout); -- mMvtContentFits = mvTilesLayout.contentFitsOnTablet(totalWidth); -+ MostVisitedTilesGridLayout mvTilesLayout = findViewById(R.id.mv_tiles_layout); -+ mMvtContentFits = false; - updateMvtOnTablet(); - } - -@@ -828,7 +834,7 @@ public class NewTabPageLayout extends LinearLayout +@@ -762,7 +768,7 @@ public class NewTabPageLayout extends LinearLayout { return; } boolean isSearchProviderIsGoogleChanged = mSearchProviderIsGoogle != isGoogle; @@ -933,7 +922,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL mSearchProviderIsGoogle = isGoogle; if (!mSearchProviderIsGoogle) { -@@ -893,6 +899,7 @@ public class NewTabPageLayout extends LinearLayout +@@ -829,6 +835,7 @@ public class NewTabPageLayout extends LinearLayout { * @param disable Whether to disable the animations. */ void setUrlFocusAnimationsDisabled(boolean disable) { @@ -941,8 +930,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL if (disable == mDisableUrlFocusChangeAnimations) return; mDisableUrlFocusChangeAnimations = disable; if (!disable) onUrlFocusAnimationChanged(); -@@ -1284,6 +1291,22 @@ public class NewTabPageLayout extends LinearLayout - return mMostVisitedTilesCoordinator; +@@ -1141,6 +1148,22 @@ public class NewTabPageLayout extends LinearLayout { + mComposeplateUrlSupplier = null; } + private void initializeShortcuts() { @@ -962,12 +951,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL + } + /** Makes the Search Box and Logo as wide as Most Visited. */ - private void unifyElementWidths() { - View searchBoxView = getSearchBoxView(); + private void unifyElementWidths(int width) { + int searchBoxWidth = width - mSearchBoxTwoSideMargin; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxViewBinder.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxViewBinder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxViewBinder.java -@@ -34,6 +34,7 @@ class SearchBoxViewBinder +@@ -31,6 +31,7 @@ class SearchBoxViewBinder View searchBoxContainer = searchBoxlayout.findViewById(R.id.search_box_container); final TextView searchBoxTextView = searchBoxlayout.findViewById(R.id.search_box_text); @@ -1038,9 +1027,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java -@@ -65,15 +65,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver - mActivity = activity; +@@ -70,15 +70,11 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver mActivityLifecycleDispatcher = activityLifecycleDispatcher; + mMvTilesContainerLayout = mvTilesContainerLayout; - MostVisitedTilesLayout tilesLayout = + MostVisitedTilesGridLayout tilesLayout = @@ -1350,25 +1339,25 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java -@@ -46,7 +46,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { - private final Context mContext; +@@ -52,7 +52,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { private final Resources mResources; private final UiConfig mUiConfig; + private final View mMvTilesContainerLayout; - private final MostVisitedTilesLayout mMvTilesLayout; + private final MostVisitedTilesGridLayout mMvTilesLayout; private final PropertyModel mModel; private final boolean mIsTablet; private final int mTileViewLandscapePadding; -@@ -69,7 +69,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { +@@ -76,7 +76,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { public MostVisitedTilesMediator( Context context, UiConfig uiConfig, -- MostVisitedTilesLayout mvTilesLayout, -+ MostVisitedTilesGridLayout mvTilesLayout, +- View mvTilesContainerLayout, ++ MostVisitedTilesGridLayout mvTilesContainerLayout, TileRenderer renderer, PropertyModel propertyModel, boolean isTablet, -@@ -215,12 +215,10 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { +@@ -223,12 +223,10 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { @Override public void onCustomTileCreation(Tile tile) { @@ -1381,7 +1370,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til } public void onConfigurationChanged() { -@@ -330,7 +328,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { +@@ -383,7 +381,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer { double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl()); if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return; @@ -1537,7 +1526,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/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 -@@ -357,6 +357,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -363,6 +363,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kKeyboardEscBackNavigation, &kLaunchCauseScreenOffFix, &kLensOnQuickActionSearchWidget, @@ -1548,7 +1537,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 -@@ -499,6 +499,7 @@ public abstract class ChromeFeatureList { +@@ -510,6 +510,7 @@ public abstract class ChromeFeatureList { "MayLaunchUrlUsesSeparateStoragePartition"; public static final String MEDIA_INDICATORS_ANDROID = "MediaIndicatorsAndroid"; public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization"; @@ -1556,7 +1545,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox"; public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect"; public static final String MOVE_TO_FRONT_IN_LAUNCH_INTENT_DISPATCHER = -@@ -969,7 +970,7 @@ public abstract class ChromeFeatureList { +@@ -987,7 +988,7 @@ public abstract class ChromeFeatureList { LOCK_TOP_CONTROLS_ON_LARGE_TABLETS_V2, /* defaultValue= */ false, /* defaultValueInTests= */ true); @@ -1592,7 +1581,7 @@ diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/ 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 -@@ -4048,6 +4048,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -4127,6 +4127,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d Recent tabs @@ -1640,14 +1629,14 @@ diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/ // Override the delay to create a spare renderer when the omnibox is focused // on Android. -@@ -277,6 +278,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED); +@@ -275,6 +276,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED); // Updates various NTP/Omnibox assets and descriptions for visual alignment on // Android and iOS, V2. BASE_FEATURE(kOmniboxMobileParityUpdateV2, ENABLED); +SET_CROMITE_FEATURE_DISABLED(kOmniboxMobileParityUpdateV2); - // The features below allow tuning number of suggestions offered to users in - // specific contexts. These features are default enabled and are used to control + // If enabled, the X-Geo header will include permission granularity. + BASE_FEATURE(kOmniboxXGeoPermissionGranularity, ENABLED); 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 diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch index 3f2a3a95..29bdec42 100644 --- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch +++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch @@ -42,7 +42,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/R diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java -@@ -293,6 +293,10 @@ public class ContextualPageActionController { +@@ -313,6 +313,10 @@ public class ContextualPageActionController { && mTabSupplier.get().getId() == tab.getId(); if (!isSameTab) return; @@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_pl diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.cc b/chrome/browser/segmentation_platform/segmentation_platform_config.cc --- a/chrome/browser/segmentation_platform/segmentation_platform_config.cc +++ b/chrome/browser/segmentation_platform/segmentation_platform_config.cc -@@ -75,6 +75,7 @@ constexpr int kAdaptiveToolbarDefaultSelectionTTLDays = 56; +@@ -74,6 +74,7 @@ constexpr int kAdaptiveToolbarDefaultSelectionTTLDays = 56; #if BUILDFLAG(IS_ANDROID) std::unique_ptr GetConfigForAdaptiveToolbar() { @@ -67,7 +67,7 @@ diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.c 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 -@@ -5152,6 +5152,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d +@@ -5246,6 +5246,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d View @@ -111,10 +111,10 @@ 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/adaptive/AdaptiveToolbarFeatures.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarFeatures.java -@@ -74,9 +74,9 @@ public class AdaptiveToolbarFeatures { - case AdaptiveToolbarButtonVariant.SHARE: +@@ -75,9 +75,9 @@ public class AdaptiveToolbarFeatures { case AdaptiveToolbarButtonVariant.VOICE: case AdaptiveToolbarButtonVariant.AUTO: + case AdaptiveToolbarButtonVariant.GLIC: + case AdaptiveToolbarButtonVariant.READER_MODE: return false; case AdaptiveToolbarButtonVariant.PRICE_TRACKING: @@ -137,10 +137,10 @@ 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/adaptive/AdaptiveToolbarStatePredictor.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java --- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarStatePredictor.java -@@ -200,12 +200,12 @@ public class AdaptiveToolbarStatePredictor { - case AdaptiveToolbarButtonVariant.READ_ALOUD: +@@ -201,12 +201,12 @@ public class AdaptiveToolbarStatePredictor { case AdaptiveToolbarButtonVariant.PAGE_SUMMARY: case AdaptiveToolbarButtonVariant.OPEN_IN_BROWSER: + case AdaptiveToolbarButtonVariant.GLIC: + case AdaptiveToolbarButtonVariant.READER_MODE: return true; case AdaptiveToolbarButtonVariant.UNKNOWN: @@ -151,7 +151,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow case AdaptiveToolbarButtonVariant.PRICE_INSIGHTS: case AdaptiveToolbarButtonVariant.TAB_GROUPING: return false; -@@ -234,6 +234,10 @@ public class AdaptiveToolbarStatePredictor { +@@ -235,6 +235,10 @@ public class AdaptiveToolbarStatePredictor { * @param callback A callback for results. */ public void readFromSegmentationPlatform(Callback> callback) { diff --git a/build/patches/Restore-chrome-password-store.patch b/build/patches/Restore-chrome-password-store.patch index 667d9af2..c20272ca 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 | 711 ++++++++++++++++++ .../settings/FragmentDependencyProvider.java | 5 + - .../chrome/browser/settings/MainSettings.java | 15 - + .../chrome/browser/settings/MainSettings.java | 17 - .../settings/SettingsNavigationImpl.java | 4 + chrome/browser/BUILD.gn | 7 + .../autofill/AutofillClientProviderUtils.java | 1 + @@ -88,7 +88,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 + - 80 files changed, 5590 insertions(+), 79 deletions(-) + 80 files changed, 5590 insertions(+), 81 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 @@ -134,7 +134,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 -@@ -812,6 +812,10 @@ if (_is_default_toolchain) { +@@ -822,6 +822,10 @@ if (_is_default_toolchain) { "//url/mojom:url_mojom_origin_java", ] @@ -145,7 +145,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn deps += feed_deps srcjar_deps = [ -@@ -960,6 +964,10 @@ if (_is_default_toolchain) { +@@ -972,6 +976,10 @@ if (_is_default_toolchain) { "//components/visited_url_ranking/internal:internal_java", ] @@ -159,7 +159,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 -@@ -658,3 +658,8 @@ chrome_java_resources = [ +@@ -654,3 +654,8 @@ chrome_java_resources = [ "java/res/xml/tracing_preferences.xml", "java/res/xml/unified_account_settings_preferences.xml", ] @@ -171,7 +171,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 -@@ -917,6 +917,7 @@ chrome_java_sources = [ +@@ -932,6 +932,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", @@ -197,7 +197,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 -@@ -483,10 +483,9 @@ by a child template that "extends" this file. +@@ -485,10 +485,9 @@ by a child template that "extends" this file. @@ -323,7 +323,7 @@ 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 -@@ -829,6 +829,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment +@@ -833,6 +833,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment } private static boolean disabledSettingsInThirdPartyMode(Profile profile) { @@ -334,7 +334,7 @@ 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 -@@ -465,6 +465,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment +@@ -635,6 +635,7 @@ public class AutofillProfilesFragment extends ChromeBaseSettingsFragment } private static boolean disabledSettingsInThirdPartyMode(Profile profile) { @@ -1061,7 +1061,7 @@ new file mode 100644 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java -@@ -26,6 +26,8 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings; +@@ -30,6 +30,8 @@ import org.chromium.chrome.browser.language.settings.LanguageSettings; import org.chromium.chrome.browser.lifetime.ApplicationLifetime; import org.chromium.chrome.browser.locale.LocaleManager; import org.chromium.chrome.browser.page_info.SiteSettingsHelper; @@ -1070,7 +1070,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; -@@ -145,6 +147,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl +@@ -160,6 +162,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl PasswordManagerHelper.getForProfile(mProfile), new SettingsCustomTabLauncherImpl()); } @@ -1083,7 +1083,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 -@@ -655,15 +655,6 @@ public class MainSettings extends ChromeBaseSettingsFragment +@@ -657,17 +657,6 @@ public class MainSettings extends ChromeBaseSettingsFragment return SettingsNavigationHelper.showAutofillProfileSettings( getActivity()); }); @@ -1093,21 +1093,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe - preference -> { - onPreferenceSelected(preference); - showPasswordSettings( -- getActivity(), getProfile(), mModalDialogManagerSupplier.asNonNull()); +- getActivity(), +- getProfile(), +- mModalDialogManagerSupplier.asNonNull().get()); - 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 -@@ -718,12 +709,6 @@ public class MainSettings extends ChromeBaseSettingsFragment - Context context, - Profile profile, - MonotonicObservableSupplier modalDialogManagerSupplier) { +@@ -720,12 +709,6 @@ public class MainSettings extends ChromeBaseSettingsFragment + + private static void showPasswordSettings( + Context context, Profile profile, ModalDialogManager modalDialogManager) { - PasswordManagerLauncher.showPasswordSettings( - context, - profile, - ManagePasswordsReferrer.CHROME_SETTINGS, -- modalDialogManagerSupplier.asNonNull(), +- modalDialogManager, - /* managePasskeys= */ false); } @@ -1143,7 +1145,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 -@@ -3312,6 +3312,13 @@ static_library("browser") { +@@ -3206,6 +3206,13 @@ static_library("browser") { "touch_to_fill/password_manager/touch_to_fill_controller_webauthn_delegate.h", ] @@ -3083,9 +3085,9 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom import org.chromium.components.sync.SyncService; import org.chromium.ui.modaldialog.ModalDialogManager; @@ -134,7 +135,7 @@ public class PasswordManagerHelper { - context, modalDialogManagerSupplier.get(), settingsCustomTabLauncher)) { + context, modalDialogManager, settingsCustomTabLauncher)) { LoadingModalDialogCoordinator loadingDialogCoordinator = - LoadingModalDialogCoordinator.create(modalDialogManagerSupplier, context); + LoadingModalDialogCoordinator.create(modalDialogManager, context); - launchTheCredentialManager(referrer, syncService, loadingDialogCoordinator, account); + launchTheCredentialManager(context, referrer, syncService, loadingDialogCoordinator, account); } @@ -3116,7 +3118,7 @@ diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrom return false; } -@@ -396,10 +388,16 @@ public class PasswordManagerHelper { +@@ -395,10 +387,16 @@ public class PasswordManagerHelper { @VisibleForTesting void launchTheCredentialManager( @@ -6129,7 +6131,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 -@@ -2593,13 +2593,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, +@@ -2642,13 +2642,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, profile_prefs->ClearPref(kObsoletePasswordsUseUPMLocalAndSeparateStores); profile_prefs->ClearPref(kObsoleteEmptyProfileStoreLoginDatabase); profile_prefs->ClearPref(kObsoleteUpmAutoExportCsvNeedsDeletion); @@ -6146,7 +6148,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 -@@ -715,7 +715,7 @@ For more settings that use data to improve your Chrome experience, go to @@ -6155,7 +6157,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro Password saving is turned on by your administrator -@@ -815,6 +815,127 @@ For more settings that use data to improve your Chrome experience, go to @@ -6300,14 +6302,14 @@ 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 -@@ -385,6 +385,7 @@ BASE_FEATURE(kAutofillCreditCardUserPerceptionSurvey, +@@ -391,6 +391,7 @@ BASE_FEATURE(kAutofillCreditCardUserPerceptionSurvey, // If enabled, other apps can open the Autofill Options in Chrome. BASE_FEATURE(kAutofillDeepLinkAutofillOptions, base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_DISABLED(kAutofillDeepLinkAutofillOptions); #endif // BUILDFLAG(IS_ANDROID) - // Kill switch for Autofill address import. + // If enabled, `FormParsingTracker` will wait up to 1 second diff --git a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsNavigation.java b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsNavigation.java --- a/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsNavigation.java +++ b/components/browser_ui/settings/android/java/src/org/chromium/components/browser_ui/settings/SettingsNavigation.java @@ -6411,7 +6413,7 @@ diff --git a/components/password_manager/core/browser/password_manager_constants diff --git a/components/password_manager/core/browser/password_store/BUILD.gn b/components/password_manager/core/browser/password_store/BUILD.gn --- a/components/password_manager/core/browser/password_store/BUILD.gn +++ b/components/password_manager/core/browser/password_store/BUILD.gn -@@ -73,6 +73,19 @@ source_set("password_store_impl") { +@@ -74,6 +74,19 @@ source_set("password_store_impl") { "android_backend_error.h", "password_data_type_controller_delegate_android.cc", "password_data_type_controller_delegate_android.h", @@ -6455,7 +6457,7 @@ diff --git a/components/password_manager/core/browser/password_store/login_datab diff --git a/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc b/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc --- a/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc +++ b/components/password_manager/core/browser/password_store/password_store_built_in_backend.cc -@@ -152,6 +152,7 @@ void PasswordStoreBuiltInBackend::InitBackend( +@@ -153,6 +153,7 @@ void PasswordStoreBuiltInBackend::InitBackend( DCHECK(helper_); affiliated_match_helper_ = affiliated_match_helper; @@ -6463,7 +6465,7 @@ diff --git a/components/password_manager/core/browser/password_store/password_st // To ensure that groups of the kClearUndecryptablePasswords will stay // balanced, after the cleanup is done an additional flag check is needed. // Users won't reach the flag the normal way since the LoginDB is working -@@ -160,6 +161,7 @@ void PasswordStoreBuiltInBackend::InitBackend( +@@ -161,6 +162,7 @@ void PasswordStoreBuiltInBackend::InitBackend( if (pref_service_->GetBoolean(prefs::kClearingUndecryptablePasswords)) { base::FeatureList::IsEnabled(features::kClearUndecryptablePasswords); } @@ -6471,7 +6473,7 @@ diff --git a/components/password_manager/core/browser/password_store/password_st background_task_runner_->PostTask( FROM_HERE, base::BindOnce(&LoginDatabaseAsyncHelper::CreateSyncBackend, -@@ -436,11 +438,15 @@ void PasswordStoreBuiltInBackend::OnEncryptorReceived( +@@ -437,11 +439,15 @@ void PasswordStoreBuiltInBackend::OnEncryptorReceived( weak_ptr_factory_.GetWeakPtr())) .Then(std::move(remote_form_changes_received)); @@ -6574,7 +6576,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 -@@ -709,7 +709,7 @@ bool SyncPrefs::IsTypeSupportedInTransportMode(UserSelectableType type) { +@@ -740,7 +740,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 5b4bd683..d2338d97 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 -@@ -1549,7 +1549,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1554,7 +1554,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; } -@@ -1583,6 +1584,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -1594,6 +1595,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight); }); @@ -117,21 +117,21 @@ 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 -@@ -382,6 +382,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { - &kNotificationPermissionVariant, - &kNotificationTrampoline, +@@ -389,6 +389,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kNotificationTrampolineNoNewTask, + &kNtpMvcRefactor, + &kNtpSimplification, + &kOfflineIndicatorV2, &kOmahaMinSdkVersionAndroid, + &kOnDemandBackgroundTabContextCapture, &kPCCTMinimumHeight, - &kPageAnnotationsService, 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 -@@ -519,6 +519,7 @@ public abstract class ChromeFeatureList { - public static final String NOTIFICATION_TRAMPOLINE = "NotificationTrampoline"; - public static final String NOTIFICATION_TRAMPOLINE_NO_NEW_TASK = +@@ -531,6 +531,7 @@ public abstract class ChromeFeatureList { "NotificationTrampolineNoNewTask"; + public static final String NTP_MVC_REFACTOR = "NtpMvcRefactor"; + public static final String NTP_SIMPLIFICATION = "NtpSimplification"; + public static final String OFFLINE_INDICATOR_V2 = "OfflineIndicatorV2"; public static final String OMAHA_MIN_SDK_VERSION_ANDROID = "OmahaMinSdkVersionAndroid"; public static final String OMNIBOX_AUTOFOCUS_ON_INCOGNITO_NTP = 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 cdbd79e3..b2132bac 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 -@@ -2368,6 +2368,10 @@ +@@ -2407,6 +2407,10 @@ "yangsharon@google.com", "alexmos@google.com", "creis@google.com" ], "expiry_milestone": 150 }, 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 b5ea23d7..07638d4c 100644 --- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch +++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch @@ -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" -@@ -500,7 +501,10 @@ bool LocalDOMWindow::CanExecuteScripts( +@@ -487,7 +488,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 -@@ -4175,19 +4175,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4176,19 +4176,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 -@@ -933,12 +933,6 @@ class CORE_EXPORT LocalFrame final +@@ -939,12 +939,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 -@@ -797,7 +797,9 @@ void HTMLMetaElement::ProcessMetaCH(Document& document, +@@ -811,7 +811,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 -@@ -274,7 +274,7 @@ BaseFetchContext::CanRequestInternal( +@@ -290,7 +290,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 -@@ -107,7 +107,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { +@@ -108,7 +108,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 -@@ -642,7 +642,8 @@ void FrameFetchContext::AddClientHintsIfNecessary( +@@ -641,7 +641,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; } -@@ -1105,15 +1106,26 @@ void FrameFetchContext::SetFirstPartyCookie(ResourceRequest& request) { +@@ -1104,15 +1105,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, -@@ -182,7 +193,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, +@@ -183,7 +194,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, // BaseFetchContext overrides: net::SiteForCookies GetSiteForCookies() const override; SubresourceFilter* GetSubresourceFilter() const override; diff --git a/build/patches/Set-caret-blink-interval-to-default.patch b/build/patches/Set-caret-blink-interval-to-default.patch index 93910c14..564e3526 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 -@@ -3731,9 +3731,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3758,9 +3758,7 @@ void WebViewImpl::UpdateRendererPreferences( UpdateFontRenderingFromRendererPrefs(); blink::SetCaretBlinkInterval( diff --git a/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch b/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch index d28a98f3..9184bc27 100644 --- a/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch +++ b/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch @@ -32,7 +32,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc +++ b/cc/base/features.cc -@@ -136,13 +136,7 @@ BASE_FEATURE(kPreventDuplicateImageDecodes, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -131,13 +131,7 @@ BASE_FEATURE(kPreventDuplicateImageDecodes, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kInitImageDecodeLastUseTime, base::FEATURE_ENABLED_BY_DEFAULT); // Enabled on Android, after a field trial showed improvements. @@ -47,7 +47,7 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc #if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kThrottleMainFrameTo60HzWebView, -@@ -175,6 +169,7 @@ BASE_FEATURE(kViewTransitionFloorTransform, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -170,6 +164,7 @@ BASE_FEATURE(kViewTransitionFloorTransform, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kRenderThrottleFrameRate, base::FEATURE_ENABLED_BY_DEFAULT); const base::FeatureParam kRenderThrottledFrameIntervalHz{ &kRenderThrottleFrameRate, "render-throttled-frame-interval-hz", 30}; @@ -67,7 +67,7 @@ diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_st #else return true; #endif -@@ -1586,6 +1586,15 @@ void SchedulerStateMachine::FrameIntervalUpdated( +@@ -1560,6 +1560,15 @@ void SchedulerStateMachine::FrameIntervalUpdated( // // Apply some slack, so that if for some reason the interval is a bit larger // than 8.33333333333333ms, then we catch it still. @@ -83,7 +83,7 @@ diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_st constexpr float kSlackFactor = .9; bool fast_vsync_interval = frame_interval < base::Hertz(120) * (1 / kSlackFactor); -@@ -1917,6 +1926,14 @@ void SchedulerStateMachine::SetRequestHighFramerate(bool flag) { +@@ -1891,6 +1900,14 @@ void SchedulerStateMachine::SetRequestHighFramerate(bool flag) { } base::TimeDelta SchedulerStateMachine::MainFrameThrottledInterval() const { @@ -117,7 +117,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi 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 -@@ -11021,9 +11021,9 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11139,9 +11139,9 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(::features::kBlockRootWindowAccessibleNameChangeEvent)}, #endif // BUILDFLAG(IS_MAC) @@ -133,7 +133,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc 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 -@@ -53,6 +53,7 @@ +@@ -52,6 +52,7 @@ #include "build/branding_buildflags.h" #include "build/build_config.h" #include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM @@ -141,7 +141,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #include "chrome/browser/after_startup_task_utils.h" #include "chrome/browser/ai/ai_manager.h" #include "chrome/browser/app_mode/app_mode_utils.h" -@@ -310,6 +311,7 @@ +@@ -311,6 +312,7 @@ #include "components/variations/variations_associated_data.h" #include "components/variations/variations_switches.h" #include "components/version_info/version_info.h" @@ -149,7 +149,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch #include "components/webapps/common/web_app_id.h" #include "components/webui/chrome_urls/pref_names.h" #include "content/public/browser/attribution_data_model.h" -@@ -2748,6 +2750,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -2818,6 +2820,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( command_line->AppendSwitchASCII(ash::switches::kHomedir, homedir.value()); #endif @@ -251,7 +251,7 @@ diff --git a/components/viz/service/display/display.cc b/components/viz/service/ #include "cc/base/math_util.h" #include "cc/base/region.h" #include "cc/base/simple_enclosed_region.h" -@@ -295,8 +296,21 @@ void Display::PresentationGroupTiming::OnSwap(gfx::SwapTimings timings, +@@ -283,8 +284,21 @@ void Display::PresentationGroupTiming::OnSwap(gfx::SwapTimings timings, "latency_ms", frame_latency.InMillisecondsF()); } if (frame_latency < base::Seconds(0)) { @@ -401,7 +401,7 @@ diff --git a/third_party/blink/renderer/core/animation/animation_clock.cc b/thir diff --git a/third_party/blink/renderer/core/view_transition/view_transition.cc b/third_party/blink/renderer/core/view_transition/view_transition.cc --- a/third_party/blink/renderer/core/view_transition/view_transition.cc +++ b/third_party/blink/renderer/core/view_transition/view_transition.cc -@@ -998,8 +998,10 @@ CSSStyleSheet* ViewTransition::UAStyleSheet() const { +@@ -999,8 +999,10 @@ CSSStyleSheet* ViewTransition::UAStyleSheet() const { void ViewTransition::WillCommitCompositorFrame() { // There should only be 1 commit when we're in the capturing phase and // rendering is paused immediately after it finishes. diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch index d2e1cce6..23ac8a3f 100644 --- a/build/patches/Show-NTP-at-startup.patch +++ b/build/patches/Show-NTP-at-startup.patch @@ -100,7 +100,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 -@@ -3208,6 +3208,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt +@@ -3246,6 +3246,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt mInactivityTrackerSupplier.set( new ChromeInactivityTracker( ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF)); @@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java -@@ -22,9 +22,11 @@ import org.chromium.base.metrics.RecordHistogram; +@@ -23,9 +23,11 @@ import org.chromium.base.metrics.RecordHistogram; import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; @@ -124,7 +124,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; -@@ -134,6 +136,18 @@ public final class ReturnToChromeUtil { +@@ -140,6 +142,18 @@ public final class ReturnToChromeUtil { return false; } @@ -143,7 +143,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(); -@@ -252,7 +266,7 @@ public final class ReturnToChromeUtil { +@@ -258,7 +272,7 @@ public final class ReturnToChromeUtil { TabModel currentTabModel, TabCreator tabCreator, HomeSurfaceTracker homeSurfaceTracker) { @@ -155,7 +155,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 -@@ -997,7 +997,7 @@ +@@ -1001,7 +1001,7 @@ Open a specific page or set of pages @@ -167,7 +167,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 -@@ -427,6 +427,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -432,6 +432,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kSearchInCCTIfEnabledByEmbedder, &kSearchResumptionModuleAndroid, &kSettingsMultiColumn, @@ -235,7 +235,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 -@@ -1024,6 +1024,8 @@ public final class ChromePreferenceKeys { +@@ -1041,6 +1041,8 @@ public final class ChromePreferenceKeys { public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF = "ChromeTabbedActivity.BackgroundTimeMs"; @@ -247,7 +247,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java --- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java -@@ -115,6 +115,7 @@ public class LegacyChromePreferenceKeys { +@@ -114,6 +114,7 @@ public class LegacyChromePreferenceKeys { ChromePreferenceKeys.SNAPSHOT_DATABASE_REMOVED, ChromePreferenceKeys.SYNC_ERROR_MESSAGE_SHOWN_AT_TIME, ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF, @@ -269,7 +269,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 -@@ -937,7 +937,13 @@ class SessionRestoreImpl : public BrowserCollectionObserver { +@@ -938,7 +938,13 @@ class SessionRestoreImpl : public BrowserCollectionObserver { // be selected as ShowBrowser() will load the selected tab. bool is_selected_tab = (initial_tab_count == 0) && (i == selected_tab_index); @@ -284,7 +284,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; -@@ -1257,6 +1263,7 @@ class SessionRestoreImpl : public BrowserCollectionObserver { +@@ -1258,6 +1264,7 @@ class SessionRestoreImpl : public BrowserCollectionObserver { } if (last_normal_browser && !normal_startup_tabs.empty()) { AppendURLsToBrowser(last_normal_browser, normal_startup_tabs); @@ -412,7 +412,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/browser_tabrestore.cc b/chrome/browser/ui/browser_tabrestore.cc --- a/chrome/browser/ui/browser_tabrestore.cc +++ b/chrome/browser/ui/browser_tabrestore.cc -@@ -248,7 +248,7 @@ WebContents* AddRestoredTabImpl(std::unique_ptr web_contents, +@@ -243,7 +243,7 @@ WebContents* AddRestoredTabImpl(std::unique_ptr web_contents, // Immediate load if the browser activeness is true or unknown. That is, do // not do immediate load for browsers that are known to be inactive. @@ -437,7 +437,7 @@ diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/ + } + // Potentially add a tab appropriate to display the Privacy Sandbox - // confirmaton dialog on top of. Ideally such a tab will already exist + // confirmation dialog on top of. Ideally such a tab will already exist // in |tabs|, and no additional tab will be required. diff --git a/cromite_flags/chrome/browser/about_flags_cc/show-ntp-at-startup.inc b/cromite_flags/chrome/browser/about_flags_cc/show-ntp-at-startup.inc new file mode 100644 diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch index 00645b98..e9b010a2 100644 --- a/build/patches/Site-setting-for-images.patch +++ b/build/patches/Site-setting-for-images.patch @@ -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 -@@ -4162,19 +4162,6 @@ bool LocalFrame::IsSameOrigin() { +@@ -4163,19 +4163,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 -@@ -932,12 +932,6 @@ class CORE_EXPORT LocalFrame final +@@ -938,12 +938,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 -@@ -320,6 +320,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( -@@ -517,16 +518,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 -@@ -1040,9 +1040,8 @@ void Page::SettingsChanged(ChangeType change_type) { +@@ -1048,9 +1048,8 @@ void Page::SettingsChanged(ChangeType change_type) { for (Frame* frame = MainFrame(); frame; frame = frame->Tree().TraverseNext()) { if (auto* local_frame = DynamicTo(frame)) { @@ -442,7 +442,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h b/third_party/blink/renderer/platform/loader/fetch/fetch_context.h --- a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h +++ b/third_party/blink/renderer/platform/loader/fetch/fetch_context.h -@@ -115,7 +115,7 @@ class PLATFORM_EXPORT FetchContext : public GarbageCollected { +@@ -116,7 +116,7 @@ class PLATFORM_EXPORT FetchContext : public GarbageCollected { virtual void AddResourceTiming(mojom::blink::ResourceTimingInfoPtr, const AtomicString& initiator_type); @@ -471,7 +471,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c } ResourceFetcher::RevalidationPolicy -@@ -2243,8 +2244,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { +@@ -2252,8 +2253,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) { ReloadImagesIfNotDeferred(); } diff --git a/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch b/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch index 68829d4c..32603e06 100644 --- a/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch +++ b/build/patches/Supporting-Dangling-Ptr-Detection-via-BackupRefPtr.patch @@ -130,7 +130,7 @@ diff --git a/base/allocator/partition_allocator/partition_alloc.gni b/base/alloc + use_full_mte = true } - stack_scan_supported = current_cpu == "x64" || current_cpu == "x86" || + # We want to provide assertions that guard against inconsistent build diff --git a/build_overrides/partition_alloc.gni b/build_overrides/partition_alloc.gni --- a/build_overrides/partition_alloc.gni +++ b/build_overrides/partition_alloc.gni @@ -170,7 +170,7 @@ new file mode 100644 diff --git a/third_party/blink/renderer/platform/wtf/allocator/partitions.cc b/third_party/blink/renderer/platform/wtf/allocator/partitions.cc --- a/third_party/blink/renderer/platform/wtf/allocator/partitions.cc +++ b/third_party/blink/renderer/platform/wtf/allocator/partitions.cc -@@ -78,16 +78,8 @@ partition_alloc::PartitionOptions PartitionOptionsFromFeatures() { +@@ -86,16 +86,8 @@ partition_alloc::PartitionOptions PartitionOptionsFromFeatures() { using partition_alloc::PartitionOptions; #if PA_BUILDFLAG(ENABLE_BACKUP_REF_PTR_SUPPORT) diff --git a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch index d6a85a09..8cf440b9 100644 --- a/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch +++ b/build/patches/TEMP-Add-a-log-to-track-strange-behavior.patch @@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc -@@ -3065,6 +3065,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, +@@ -3074,6 +3074,7 @@ void SpdySession::OnHeaders(spdy::SpdyStreamId stream_id, if (it == active_streams_.end()) { // NOTE: it may just be that the stream was cancelled. LOG(WARNING) << "Received HEADERS for invalid stream " << stream_id; diff --git a/build/patches/Temp-disable-UseContextSnapshot.patch b/build/patches/Temp-disable-UseContextSnapshot.patch index c248d456..37fc5b0a 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 -@@ -1071,6 +1071,7 @@ BASE_FEATURE(kUnrestrictedSharedArrayBuffer, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -1085,6 +1085,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 a7b06ad3..ca381b51 100644 --- a/build/patches/Temp-disable-experimental-web-platform-features.patch +++ b/build/patches/Temp-disable-experimental-web-platform-features.patch @@ -9,10 +9,10 @@ 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 -@@ -4931,10 +4931,10 @@ const FeatureEntry kFeatureEntries[] = { - {"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName, - flag_descriptions::kGpuRasterizationDescription, kOsAll, - MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)}, +@@ -5102,10 +5102,10 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kFallbackToSWIfGLES3NotSupportedName, + flag_descriptions::kFallbackToSWIfGLES3NotSupportedDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kFallbackToSWIfGLES3NotSupported)}, - {"enable-experimental-web-platform-features", - flag_descriptions::kExperimentalWebPlatformFeaturesName, - flag_descriptions::kExperimentalWebPlatformFeaturesDescription, kOsAll, diff --git a/build/patches/Temp-disable-predictive-back-gesture.patch b/build/patches/Temp-disable-predictive-back-gesture.patch index 776890d2..4ba35b82 100644 --- a/build/patches/Temp-disable-predictive-back-gesture.patch +++ b/build/patches/Temp-disable-predictive-back-gesture.patch @@ -10,9 +10,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html 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 -@@ -221,7 +221,7 @@ by a child template that "extends" this file. +@@ -223,7 +223,7 @@ by a child template that "extends" this file. + {% endif %} android:networkSecurityConfig="@xml/network_security_config" - android:allowAudioPlaybackCapture="false" android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory" - android:enableOnBackInvokedCallback="true" + android:enableOnBackInvokedCallback="false" diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch index 5f2cf3de..cf7bef80 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" -@@ -287,6 +288,8 @@ android_resources("java_resources") { +@@ -290,6 +291,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", @@ -387,8 +387,8 @@ new file mode 100755 diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java -@@ -521,6 +521,14 @@ public class WebsitePreferenceBridge { - .recordHeuristicActionForTesting(browserContextHandle, origin, type, action); +@@ -570,6 +570,14 @@ public class WebsitePreferenceBridge { + WebsitePreferenceBridgeJni.get().resetNotificationsSettingsForTest(browserContextHandle); } + public static String getCustomTimezone(BrowserContextHandle browserContextHandle) { @@ -402,7 +402,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c @NativeMethods public interface Natives { boolean isNotificationEmbargoedForOrigin( -@@ -689,5 +697,7 @@ public class WebsitePreferenceBridge { +@@ -738,5 +746,7 @@ public class WebsitePreferenceBridge { String toDomainWildcardPattern(String pattern); String toHostOnlyPattern(String pattern); @@ -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 -@@ -1322,5 +1322,21 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern(JNIEnv* env, +@@ -1312,5 +1312,21 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern(JNIEnv* env, return ConvertUTF8ToJavaString(env, host_only_pattern.ToString()); } @@ -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 -@@ -748,6 +748,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) { +@@ -762,6 +762,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) { } } @@ -756,7 +756,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map. diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h --- a/components/content_settings/core/browser/host_content_settings_map.h +++ b/components/content_settings/core/browser/host_content_settings_map.h -@@ -416,6 +416,9 @@ class HostContentSettingsMap : public content_settings::Observer, +@@ -422,6 +422,9 @@ class HostContentSettingsMap : public content_settings::Observer, // Returns the current time of the `clock_`. base::Time Now() const { return clock_->Now(); } diff --git a/build/patches/Use-browser-navigation-handler.patch b/build/patches/Use-browser-navigation-handler.patch index 5521ee6a..ee01323b 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 -@@ -106,6 +106,7 @@ import org.chromium.ui.util.MotionEventUtils; +@@ -111,6 +111,7 @@ import org.chromium.ui.util.MotionEventUtils; import org.chromium.url.GURL; import java.util.ArrayList; @@ -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 -@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus; +@@ -100,6 +100,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; -@@ -930,7 +931,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { +@@ -951,7 +952,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 59ec6ebe..5426dfd2 100644 --- a/build/patches/Use-list-mode-for-tab-switcher.patch +++ b/build/patches/Use-list-mode-for-tab-switcher.patch @@ -65,7 +65,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", -@@ -114,6 +116,8 @@ android_resources("java_resources") { +@@ -112,6 +114,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", @@ -163,7 +163,7 @@ diff --git a/chrome/android/features/tab_ui/java/res/values/dimens.xml b/chrome/ 52dp -@@ -115,6 +119,7 @@ found in the LICENSE file. +@@ -117,6 +121,7 @@ found in the LICENSE file. 3dp 8dp 24dp @@ -174,7 +174,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 -@@ -242,7 +242,9 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -244,7 +244,9 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon // take in a mode parameter instead. mTabListCoordinator = new TabListCoordinator( @@ -185,7 +185,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser activity, mBrowserControlsStateProvider, mModalDialogManager, -@@ -359,6 +361,11 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -361,6 +363,11 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon : "SnackbarManager should have been created or the activity was already" + " finishing."; @@ -197,7 +197,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( -@@ -369,7 +376,7 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon +@@ -371,7 +378,7 @@ public class TabGridDialogCoordinator implements TabGridDialogMediator.DialogCon mCurrentTabGroupModelFilterSupplier, mTabContentManager, mTabListCoordinator::setRecyclerViewPosition, @@ -443,7 +443,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 -@@ -411,7 +411,7 @@ public class TabListEditorCoordinator { +@@ -421,7 +421,7 @@ public class TabListEditorCoordinator { mSnackbarManager = snackbarManager; mTabActionState = initialTabActionState; mTabContentManager = tabContentManager; @@ -467,7 +467,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 -@@ -2586,8 +2586,26 @@ class TabListMediator implements TabListNotificationHandler { +@@ -2630,8 +2630,26 @@ class TabListMediator implements TabListNotificationHandler { private void updateFaviconForTab( PropertyModel model, Tab tab, @Nullable Bitmap icon, @Nullable GURL iconUrl) { if (mActionsOnAllRelatedTabs && isTabInTabGroup(tab)) { @@ -1045,7 +1045,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 -@@ -184,6 +184,8 @@ internal_tab_management_java_sources = [ +@@ -180,6 +180,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", @@ -1081,7 +1081,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; -@@ -691,8 +692,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -695,8 +696,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity new TabContentManager( this, mBrowserControlsManagerSupplier.get(), @@ -1399,7 +1399,7 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa 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 -@@ -22,6 +22,7 @@ import org.chromium.components.cached_flags.IntCachedFeatureParam; +@@ -21,6 +21,7 @@ import org.chromium.components.cached_flags.IntCachedFeatureParam; import org.chromium.components.cached_flags.StringCachedFeatureParam; import org.chromium.chrome.browser.flags.cromite.CromiteCachedFlagImplBase; @@ -1407,8 +1407,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.Arrays; import java.util.stream.Collectors; -@@ -1340,8 +1341,9 @@ public abstract class ChromeFeatureList { - newMutableFlagWithSafeDefault(ANDROID_BOOKMARK_BAR_FAST_FOLLOW, false); +@@ -1370,8 +1371,9 @@ public abstract class ChromeFeatureList { + newMutableFlagWithSafeDefault(ANDROID_BOOKMARK_BAR_FAST_FOLLOW, true); public static final MutableFlagWithSafeDefault sAndroidContextMenuDuplicateTabs = newMutableFlagWithSafeDefault(ANDROID_CONTEXT_MENU_DUPLICATE_TABS, false); - public static final MutableFlagWithSafeDefault sAndroidPinnedTabs = @@ -1418,7 +1418,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f + : newMutableFlagWithSafeDefault(ANDROID_PINNED_TABS, true); public static final MutableFlagWithSafeDefault sAndroidPinnedTabsTabletTabStrip = newMutableFlagWithSafeDefault(ANDROID_PINNED_TABS_TABLET_TAB_STRIP, true); - public static final MutableFlagWithSafeDefault sAndroidTabHighlighting = + public static final MutableFlagWithSafeDefault sAndroidTipsNotifications = diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sTabSwitcherListMode.java new file mode 100644 --- /dev/null @@ -1714,7 +1714,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 -@@ -67,6 +67,7 @@ import org.chromium.build.annotations.Nullable; +@@ -69,6 +69,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; @@ -1722,7 +1722,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; -@@ -2119,7 +2120,7 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2106,7 +2107,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. @@ -1731,20 +1731,20 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow mLocationBar.setUrlBarFocusable(false); } -@@ -2348,7 +2349,8 @@ public class ToolbarPhone extends ToolbarLayout +@@ -2334,7 +2335,8 @@ public class ToolbarPhone extends ToolbarLayout ToggleTabStackButtonCoordinator tabSwitcherButtonCoordinator = getTabSwitcherButtonCoordinator(); assumeNonNull(tabSwitcherButtonCoordinator); - tabSwitcherButtonCoordinator.getContainerView().setClickable(!hasFocus); + if (!sTabSwitcherListMode.getInstance().isEnabled()) + tabSwitcherButtonCoordinator.getContainerView().setClickable(!hasFocus); - mHomeButtonDisplay.setClickable(!hasFocus); + mHomeButton.setClickable(!hasFocus); triggerUrlFocusAnimation(hasFocus); } 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 -@@ -237,6 +237,7 @@ android_resources("java_resources") { +@@ -247,6 +247,7 @@ android_resources("java_resources") { "java/res/drawable/ic_visibility_off_black.xml", "java/res/drawable/ic_volume_off_fill_24dp.xml", "java/res/drawable/ic_volume_up_fill_24dp.xml", diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch index 19c7a244..fd1396b8 100644 --- a/build/patches/User-agent-customization.patch +++ b/build/patches/User-agent-customization.patch @@ -10,7 +10,6 @@ whereas the content setting is intended for use in a specific site. 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 --- - base/base_switches.cc | 2 + base/base_switches.h | 2 + chrome/android/chrome_java_resources.gni | 2 + chrome/android/chrome_java_sources.gni | 1 + @@ -45,41 +44,29 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/web_contents/web_contents_impl.cc | 6 +- .../framehost/NavigationControllerImpl.java | 17 +- content/renderer/render_thread_impl.cc | 1 - - 35 files changed, 807 insertions(+), 24 deletions(-) + 34 files changed, 805 insertions(+), 24 deletions(-) create mode 100644 chrome/android/java/res/layout/custom_useragent_preferences.xml create mode 100644 chrome/android/java/res/xml/useragent_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteRequestDesktopSiteContentSetting.java create mode 100644 components/browser_ui/strings/bromite_content_settings/request_desktop_site.grdp -diff --git a/base/base_switches.cc b/base/base_switches.cc ---- a/base/base_switches.cc -+++ b/base/base_switches.cc -@@ -185,6 +185,8 @@ const char kPackageName[] = "package-name"; - const char kPackageVersionName[] = "package-version-name"; +diff --git a/base/base_switches.h b/base/base_switches.h +--- a/base/base_switches.h ++++ b/base/base_switches.h +@@ -193,6 +193,8 @@ inline constexpr char kPackageName[] = "package-name"; + inline constexpr char kPackageVersionName[] = "package-version-name"; #endif -+const char kDesktopModeViewportMetaEnabled[] = "dm-viewport-meta-enabled"; ++inline constexpr char kDesktopModeViewportMetaEnabled[] = "dm-viewport-meta-enabled"; + #if BUILDFLAG(IS_CHROMEOS) // Override the default scheduling boosting value for urgent tasks. // This can be adjusted if a specific chromeos device shows better perf/power -diff --git a/base/base_switches.h b/base/base_switches.h ---- a/base/base_switches.h -+++ b/base/base_switches.h -@@ -65,6 +65,8 @@ extern const char kPackageVersionName[]; - extern const char kSchedulerBoostUrgent[]; - #endif - -+extern const char kDesktopModeViewportMetaEnabled[]; -+ - } // namespace switches - - #endif // 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 -@@ -668,6 +668,8 @@ chrome_java_resources = [ +@@ -664,6 +664,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", @@ -91,7 +78,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 -@@ -952,6 +952,7 @@ chrome_java_sources = [ +@@ -967,6 +967,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", @@ -213,7 +200,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 -@@ -144,6 +144,11 @@ found in the LICENSE file. +@@ -142,6 +142,11 @@ found in the LICENSE file. android:key="content_settings" android:order="26" android:title="@string/prefs_site_settings"/> @@ -258,7 +245,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 -@@ -2846,7 +2846,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -2905,7 +2905,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. @@ -298,7 +285,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/privacy/settings/PrivacyPreferencesManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java -@@ -241,6 +241,41 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager +@@ -230,6 +230,41 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager return getCrashUploadPermittedSupplier(); } @@ -340,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting @NativeMethods public interface Natives { boolean isMetricsReportingEnabled(); -@@ -248,5 +283,12 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager +@@ -237,5 +272,12 @@ public class PrivacyPreferencesManagerImpl implements PrivacyPreferencesManager void setMetricsReportingEnabled(boolean enabled); boolean isMetricsReportingDisabledByPolicy(); @@ -570,7 +557,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. -@@ -2438,9 +2444,6 @@ class TabImpl implements Tab { +@@ -2377,9 +2383,6 @@ class TabImpl implements Tab { } if (mWebContents != null) { @@ -580,7 +567,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav mWebContents.getNavigationController().loadIfNecessary(); } mIsBeingRestored = true; -@@ -2840,6 +2843,11 @@ class TabImpl implements Tab { +@@ -2779,6 +2782,11 @@ class TabImpl implements Tab { url = webContents.getVisibleUrl(); } @@ -592,7 +579,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav boolean shouldRequestDesktopSite = DesktopSiteUtils.shouldOverrideDesktopSite(mProfile, url, getContext()); -@@ -2871,7 +2879,7 @@ class TabImpl implements Tab { +@@ -2810,7 +2818,7 @@ class TabImpl implements Tab { } boolean usingDesktopUserAgent = getWebContents().getNavigationController().getUseDesktopUserAgent(); @@ -601,8 +588,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. */ -@@ -3060,6 +3068,54 @@ class TabImpl implements Tab { - ResettersForTesting.register(this::clearNativePtr); +@@ -3005,6 +3013,54 @@ class TabImpl implements Tab { + return mImportance; } + int overrideUserAgentWhenUnFrozen = (int)UserAgentOverrideOption.INHERIT; @@ -659,7 +646,7 @@ 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/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java -@@ -113,12 +113,8 @@ public class TabUtils { +@@ -112,12 +112,8 @@ public class TabUtils { * @param switchToDesktop Whether switching the user agent to desktop. * @param caller The caller of this method. */ @@ -894,7 +881,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc --- a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc +++ b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc -@@ -17,6 +17,7 @@ +@@ -18,6 +18,7 @@ #include "chrome/browser/flags/android/chrome_feature_list.h" #include "chrome/browser/preferences/android/chrome_shared_preferences.h" #include "chrome/browser/profiles/profile.h" @@ -902,7 +889,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o #include "chrome/common/chrome_switches.h" #include "components/content_settings/core/common/content_settings_utils.h" #include "components/content_settings/core/common/pref_names.h" -@@ -46,6 +47,7 @@ RequestDesktopSiteWebContentsObserverAndroid:: +@@ -47,6 +48,7 @@ RequestDesktopSiteWebContentsObserverAndroid:: host_content_settings_map_ = HostContentSettingsMapFactory::GetForProfile(profile); pref_service_ = profile->GetPrefs(); @@ -910,7 +897,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o } RequestDesktopSiteWebContentsObserverAndroid:: -@@ -60,6 +62,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation( +@@ -61,6 +63,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation( return; } @@ -948,7 +935,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 -@@ -1361,8 +1361,6 @@ public final class ChromePreferenceKeys { +@@ -1383,8 +1383,6 @@ public final class ChromePreferenceKeys { SIGNIN_PROMO_NTP_LAST_SHOWN_TIME, SYNC_PROMO_TOTAL_SHOW_COUNT, SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP, @@ -978,7 +965,7 @@ 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 -@@ -380,6 +380,8 @@ public interface Tab extends TabLifecycle { +@@ -347,6 +347,8 @@ public interface Tab extends TabLifecycle { /** Goes to the navigation entry after the current one. */ void goForward(); @@ -990,7 +977,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav 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 -@@ -183,6 +183,8 @@ public interface TabWindowManager { +@@ -187,6 +187,8 @@ public interface TabWindowManager { @Nullable List getGroupedTabsByWindow( @WindowId int windowId, Token tabGroupId, boolean isIncognito); @@ -1002,7 +989,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 -@@ -492,6 +492,24 @@ public class TabWindowManagerImpl implements TabWindowManager { +@@ -469,6 +469,24 @@ public class TabWindowManagerImpl implements TabWindowManager { return null; } @@ -1077,7 +1064,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 -@@ -1917,6 +1917,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; +@@ -1770,6 +1770,14 @@ inline constexpr char kNaviOnboardGroup[] = "browser.navi_onboard_group"; inline constexpr char kHadThreeConsecutiveNotificationPermissionDenies[] = "profile.content_settings.had_three_consecutive_denies.notifications"; @@ -1220,7 +1207,7 @@ 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 -@@ -222,6 +222,7 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( +@@ -229,6 +229,7 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( bool can_load_local_resources, bool is_renderer_initiated, bool should_replace_current_entry, @@ -1228,7 +1215,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co const JavaRef& j_initiator_origin, bool has_user_gesture, bool should_clear_history_list, -@@ -320,6 +321,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( +@@ -327,6 +328,9 @@ base::android::ScopedJavaLocalRef NavigationControllerAndroid::LoadUrl( params.navigation_ui_data = std::move(navigation_ui_data); @@ -1241,7 +1228,7 @@ 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 -@@ -68,6 +68,7 @@ class CONTENT_EXPORT NavigationControllerAndroid { +@@ -69,6 +69,7 @@ class CONTENT_EXPORT NavigationControllerAndroid { bool can_load_local_resources, bool is_renderer_initiated, bool should_replace_current_entry, @@ -1252,7 +1239,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con 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 -@@ -3827,6 +3827,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3857,6 +3857,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( #if BUILDFLAG(IS_CHROMEOS) switches::kSchedulerBoostUrgent, #endif @@ -1271,7 +1258,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/flat_set.h" -@@ -2402,8 +2403,6 @@ void WebContentsImpl::SetUserAgentOverride( +@@ -2414,8 +2415,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); @@ -1280,7 +1267,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser if (GetUserAgentOverride() == ua_override) { return; -@@ -3755,6 +3754,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( +@@ -3767,6 +3766,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences( #else prefs.viewport_meta_enabled = false; #endif @@ -1293,7 +1280,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser diff --git a/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java --- a/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java -@@ -217,6 +217,7 @@ import org.chromium.url.Origin; +@@ -231,6 +231,7 @@ import java.util.Map; params.getCanLoadLocalResources(), params.getIsRendererInitiated(), params.getShouldReplaceCurrentEntry(), @@ -1301,7 +1288,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh params.getInitiatorOrigin(), params.getHasUserGesture(), params.getShouldClearHistoryList(), -@@ -284,13 +285,13 @@ import org.chromium.url.Origin; +@@ -298,13 +299,13 @@ import java.util.Map; public void setUseDesktopUserAgent( boolean override, boolean reloadOnChange, boolean skipOnInitialNavigation) { if (mNativeNavigationControllerAndroid != 0) { @@ -1322,7 +1309,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh NavigationControllerImplJni.get() .setUseDesktopUserAgent( -@@ -465,7 +466,7 @@ import org.chromium.url.Origin; +@@ -479,7 +480,7 @@ import java.util.Map; @Nullable String dataUrlAsString, boolean canLoadLocalResources, boolean isRendererInitiated, @@ -1334,7 +1321,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 -@@ -790,7 +790,6 @@ void RenderThreadImpl::InitializeRenderer( +@@ -799,7 +799,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 32bcba0b..d779bf80 100644 --- a/build/patches/Viewport-Protection-flag.patch +++ b/build/patches/Viewport-Protection-flag.patch @@ -211,7 +211,7 @@ new file mode 100644 diff --git a/components/guest_view/browser/guest_view_base.cc b/components/guest_view/browser/guest_view_base.cc --- a/components/guest_view/browser/guest_view_base.cc +++ b/components/guest_view/browser/guest_view_base.cc -@@ -688,6 +688,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( +@@ -689,6 +689,14 @@ void GuestViewBase::AttachToOuterWebContentsFrame( std::move(attachment_callback).Run(); } @@ -269,12 +269,12 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/ // Emulated screen size. Typically full / physical size of the device screen // in DIP. Empty size means using default value: original one for kDesktop // screen position, equal to |view_size| for kMobile. -@@ -78,7 +81,8 @@ inline bool operator==(const DeviceEmulationParams& a, - a.viewport_offset == b.viewport_offset && +@@ -82,7 +85,8 @@ inline bool operator==(const DeviceEmulationParams& a, a.viewport_scale == b.viewport_scale && a.viewport_segments == b.viewport_segments && -- a.device_posture == b.device_posture; -+ a.device_posture == b.device_posture && + a.device_posture == b.device_posture && +- a.force_android_overlay_scrollbar == b.force_android_overlay_scrollbar; ++ a.force_android_overlay_scrollbar == b.force_android_overlay_scrollbar && + a.force_mobile_calc == b.force_mobile_calc; } @@ -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 -@@ -4523,6 +4523,7 @@ +@@ -4572,6 +4572,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, -@@ -4530,7 +4531,6 @@ +@@ -4579,7 +4580,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 -@@ -2356,7 +2356,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const { +@@ -2355,7 +2355,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 { -@@ -148,8 +149,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState { +@@ -147,8 +148,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 -@@ -1122,7 +1122,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) { +@@ -1111,7 +1111,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 -@@ -1601,7 +1601,12 @@ int LocalDOMWindow::outerHeight() const { +@@ -1581,7 +1581,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; -@@ -1626,7 +1631,12 @@ int LocalDOMWindow::outerWidth() const { +@@ -1606,7 +1611,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; -@@ -1822,7 +1832,8 @@ double LocalDOMWindow::devicePixelRatio() const { +@@ -1802,7 +1812,8 @@ double LocalDOMWindow::devicePixelRatio() const { if (!GetFrame()) return 0.0; @@ -448,8 +448,8 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p + return GetFrame()->DevicePixelRatio(/*with_zoom_factor*/false); } - ScriptPromise LocalDOMWindow::scrollBy(ScriptState* script_state, -@@ -2432,6 +2443,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, + ScriptPromise LocalDOMWindow::scrollBy(ScriptState* script_state, +@@ -2438,6 +2449,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 -@@ -2483,6 +2511,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow( +@@ -2489,6 +2517,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 -@@ -1691,6 +1691,10 @@ void LocalFrame::RestoreScrollOffsets() { +@@ -1692,6 +1692,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_); } -@@ -1880,12 +1884,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() { +@@ -1881,12 +1885,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; } -@@ -3484,6 +3492,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) { +@@ -3485,6 +3493,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 -@@ -432,7 +432,8 @@ class CORE_EXPORT LocalFrame final +@@ -438,7 +438,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); -@@ -441,7 +442,7 @@ class CORE_EXPORT LocalFrame final +@@ -447,7 +448,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. -@@ -1101,6 +1102,7 @@ class CORE_EXPORT LocalFrame final +@@ -1107,6 +1108,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 -@@ -1959,6 +1959,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( +@@ -1958,6 +1958,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing( if (DeviceEmulator() && widget_base_ && !widget_base_->WillBeDestroyed()) { DeviceEmulator()->UpdateVisualProperties(visual_properties); @@ -681,7 +681,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_remote_frame_impl.cc b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc --- a/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc -@@ -361,7 +361,8 @@ void WebRemoteFrameImpl::InitializeFrameVisualProperties( +@@ -360,7 +360,8 @@ void WebRemoteFrameImpl::InitializeFrameVisualProperties( visual_properties.page_scale_factor = ancestor_widget->PageScaleInMainFrame(); visual_properties.is_pinch_gesture_active = ancestor_widget->PinchGestureActiveInMainFrame(); @@ -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 -@@ -107,6 +107,13 @@ +@@ -108,6 +108,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 { -@@ -1269,7 +1276,96 @@ void Page::UpdateAcceleratedCompositingSettings() { +@@ -1280,7 +1287,96 @@ void Page::UpdateAcceleratedCompositingSettings() { } } @@ -849,7 +849,7 @@ 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 -@@ -538,6 +538,10 @@ class CORE_EXPORT Page final : public GarbageCollected, +@@ -536,6 +536,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); @@ -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 -@@ -2110,6 +2110,12 @@ class ComputedStyle final : public ComputedStyleBase { +@@ -2117,6 +2117,12 @@ class ComputedStyle final : public ComputedStyleBase { IsRunningBackdropFilterAnimationOnCompositor(); } diff --git a/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch b/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch index bd7c277e..f05d3120 100644 --- a/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch +++ b/build/patches/WIN-Add-some-prefs-to-secure-preferences.patch @@ -9,7 +9,7 @@ Subject: WIN Add some prefs to secure preferences diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc --- a/chrome/browser/prefs/chrome_pref_service_factory.cc +++ b/chrome/browser/prefs/chrome_pref_service_factory.cc -@@ -119,6 +119,14 @@ bool g_disable_domain_check_for_testing = false; +@@ -118,6 +118,14 @@ bool g_disable_domain_check_for_testing = false; // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a // deprecated tracked preference. const auto kTrackedPrefs = std::to_array({ diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch index 4a88a069..fb3973c3 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 -@@ -2408,7 +2408,9 @@ WebAutofillClient* LocalFrame::GetAutofillClient() { +@@ -2409,7 +2409,9 @@ WebAutofillClient* LocalFrame::GetAutofillClient() { } 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 ed6a23a6..18a954cf 100644 --- a/build/patches/Warning-message-for-unsupported-hardware-aes.patch +++ b/build/patches/Warning-message-for-unsupported-hardware-aes.patch @@ -10,8 +10,7 @@ attacks, so it is better to warn the user of the presence of an unsupported device. you can remove the message by going to chrome://flags/#no-hw-aes-warning --- - base/base_switches.cc | 2 ++ - base/base_switches.h | 1 + + base/base_switches.h | 2 ++ chrome/BUILD.gn | 3 +++ chrome/app/chrome_main_delegate.cc | 9 +++++++++ chrome/app/generated_resources.grd | 4 ++++ @@ -20,38 +19,27 @@ you can remove the message by going to chrome://flags/#no-hw-aes-warning .../Warning-message-for-unsupported-hardware-aes.inc | 10 ++++++++++ .../Warning-message-for-unsupported-hardware-aes.inc | 4 ++++ .../Warning-message-for-unsupported-hardware-aes.inc | 1 + - 10 files changed, 44 insertions(+) + 9 files changed, 43 insertions(+) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Warning-message-for-unsupported-hardware-aes.inc create mode 100644 cromite_flags/content/public/common/content_features_cc/Warning-message-for-unsupported-hardware-aes.inc create mode 100644 cromite_flags/content/public/common/content_features_h/Warning-message-for-unsupported-hardware-aes.inc -diff --git a/base/base_switches.cc b/base/base_switches.cc ---- a/base/base_switches.cc -+++ b/base/base_switches.cc -@@ -187,6 +187,8 @@ const char kPackageVersionName[] = "package-version-name"; - - const char kDesktopModeViewportMetaEnabled[] = "dm-viewport-meta-enabled"; - -+const char kNoAESHardware[] = "no-aes-hardware"; -+ - #if BUILDFLAG(IS_CHROMEOS) - // Override the default scheduling boosting value for urgent tasks. - // This can be adjusted if a specific chromeos device shows better perf/power diff --git a/base/base_switches.h b/base/base_switches.h --- a/base/base_switches.h +++ b/base/base_switches.h -@@ -34,6 +34,7 @@ extern const char kTraceToFileName[]; - extern const char kV[]; - extern const char kVModule[]; - extern const char kWaitForDebugger[]; -+extern const char kNoAESHardware[]; +@@ -130,6 +130,8 @@ inline constexpr char kWaitForDebugger[] = "wait-for-debugger"; + // See flag_descriptions.cc for more details. + inline constexpr char kEnableBenchmarking[] = "enable-benchmarking"; ++inline constexpr char kNoAESHardware[] = "no-aes-hardware"; ++ #if BUILDFLAG(IS_WIN) - extern const char kDisableHighResTimer[]; + // Disable high-resolution timer on Windows. + inline constexpr char kDisableHighResTimer[] = "disable-highres-timer"; diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -431,6 +431,7 @@ if (is_win) { +@@ -437,6 +437,7 @@ if (is_win) { "//components/webapps/isolated_web_apps:scheme", "//content/public/app", "//crypto", @@ -59,7 +47,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn "//net:net_resources", "//sandbox/win:sandbox", "//third_party/cld_3/src/src:cld_3", -@@ -1636,6 +1637,8 @@ if (is_android) { +@@ -1646,6 +1647,8 @@ if (is_android) { "//chrome/common/profiler", "//chrome/gpu", "//chrome/renderer", @@ -71,7 +59,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 -@@ -100,6 +100,9 @@ +@@ -101,6 +101,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 +69,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) -@@ -1102,6 +1105,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { +@@ -1104,6 +1107,12 @@ std::optional ChromeMainDelegate::BasicStartupComplete() { } #endif @@ -97,7 +85,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 -@@ -7373,6 +7373,10 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -7383,6 +7383,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. @@ -111,7 +99,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc --- a/chrome/browser/ui/startup/bad_flags_prompt.cc +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -287,6 +287,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { +@@ -288,6 +288,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) { return; } } @@ -130,7 +118,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 -@@ -3832,6 +3832,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( +@@ -3862,6 +3862,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( switches::kSchedulerBoostUrgent, #endif switches::kDesktopModeViewportMetaEnabled, diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch index 9604b3e5..d5372c55 100644 --- a/build/patches/Welcome-screen.patch +++ b/build/patches/Welcome-screen.patch @@ -32,7 +32,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 -@@ -525,6 +525,7 @@ chrome_java_resources = [ +@@ -524,6 +524,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", @@ -43,7 +43,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 -@@ -661,6 +661,8 @@ chrome_java_sources = [ +@@ -673,6 +673,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", @@ -309,10 +309,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR -import org.chromium.chrome.browser.signin.SigninCheckerProvider; -import org.chromium.chrome.browser.signin.SigninFirstRunFragment; +import org.chromium.chrome.browser.firstrun.ToSAndUMAFirstRunFragment; + import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoUtils; 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; -@@ -236,7 +236,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -237,7 +237,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(); @@ -321,7 +321,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); -@@ -261,9 +261,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -262,9 +262,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. @@ -331,7 +331,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR assumeNonNull(mFreProperties); mFirstRunFlowSequencer.updateFirstRunProperties(mFreProperties); -@@ -279,16 +276,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -280,16 +277,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN); } @@ -345,10 +345,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR - mPages.add(new FirstRunPage<>(HistorySyncFirstRunFragment.class, showHistorySync)); - mFreProgressStates.add(MobileFreProgress.HISTORY_SYNC_OPT_IN_SHOWN); - - if (mPagerAdapter != null) { - mPagerAdapter.notifyDataSetChanged(); - } -@@ -515,6 +502,21 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa + if (ChromeFeatureList.sDefaultBrowserPromoFre.isEnabled()) { + BooleanSupplier showDefaultBrowserPromo = + () -> { +@@ -536,6 +523,21 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa return true; } @@ -370,7 +370,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR // Activity: @Override public void onRestoreInstanceState(@Nullable Bundle state) { -@@ -662,11 +664,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa +@@ -683,11 +685,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa public void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { assert mNativeInitializationPromise.isFulfilled(); @@ -518,7 +518,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java -@@ -41,6 +41,7 @@ public class FirstRunUtils { +@@ -43,6 +43,7 @@ public class FirstRunUtils { * collect stats. */ static void acceptTermsOfService(boolean allowMetricsAndCrashUploading) { diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch index 62a9c054..3685df77 100644 --- a/build/patches/add-browser-policy.patch +++ b/build/patches/add-browser-policy.patch @@ -43,11 +43,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/win/win_util.cc b/base/win/win_util.cc --- a/base/win/win_util.cc +++ b/base/win/win_util.cc -@@ -152,80 +152,18 @@ bool EnablePerMonitorV2() { +@@ -155,80 +155,18 @@ bool EnablePerMonitorV2() { } bool* GetDomainEnrollmentStateStorage() { -- static bool state = IsOS(OS_DOMAINMEMBER); +- static bool state = ::IsOS(OS_DOMAINMEMBER); + static bool state = false; return &state; } @@ -130,7 +130,7 @@ diff --git a/base/win/win_util.cc b/base/win/win_util.cc 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 -@@ -84,9 +84,7 @@ by a child template that "extends" this file. +@@ -81,9 +81,7 @@ by a child template that "extends" this file. @@ -140,7 +140,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -112,7 +110,6 @@ by a child template that "extends" this file. +@@ -109,7 +107,6 @@ by a child template that "extends" this file. resizeTo, moveBy}|). --> @@ -148,7 +148,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro -@@ -159,7 +156,6 @@ by a child template that "extends" this file. +@@ -162,7 +159,6 @@ by a child template that "extends" this file. @@ -229,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 -@@ -2530,9 +2530,9 @@ bool AreFuturePoliciesEnabledByDefault() { +@@ -2518,9 +2518,9 @@ bool AreFuturePoliciesEnabledByDefault() { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) { return true; } @@ -242,7 +242,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc } } // namespace -@@ -3378,7 +3378,10 @@ std::unique_ptr BuildHandlerList( +@@ -3382,7 +3382,10 @@ std::unique_ptr BuildHandlerList( key::kExtensionInstallCloudPolicyChecksEnabled, extensions::pref_names::kExtensionInstallCloudPolicyChecksEnabled, base::Value::Type::BOOLEAN)); @@ -257,16 +257,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc --- a/chrome/browser/signin/account_consistency_mode_manager.cc +++ b/chrome/browser/signin/account_consistency_mode_manager.cc -@@ -170,7 +170,7 @@ void AccountConsistencyModeManager::SetIgnoreMissingOAuthClientForTesting() { - // static - bool AccountConsistencyModeManager::ShouldBuildServiceForProfile( - Profile* profile) { -- return profile->IsRegularProfile(); -+ return false; - } - - AccountConsistencyMethod -@@ -201,7 +201,8 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod( +@@ -93,7 +93,8 @@ signin::AccountConsistencyMethod ComputeAccountConsistencyMethod( #endif #if BUILDFLAG(ENABLE_MIRROR) @@ -276,7 +267,7 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/ #elif BUILDFLAG(ENABLE_DICE_SUPPORT) if (!profile->GetPrefs()->GetBoolean(prefs::kSigninAllowed)) { VLOG(1) << "Desktop Identity Consistency disabled as sign-in to Chrome " -@@ -209,7 +210,7 @@ AccountConsistencyModeManager::ComputeAccountConsistencyMethod( +@@ -101,7 +102,7 @@ signin::AccountConsistencyMethod ComputeAccountConsistencyMethod( return AccountConsistencyMethod::kDisabled; } @@ -285,6 +276,15 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/ #else NOTREACHED(); #endif +@@ -195,7 +196,7 @@ void AccountConsistencyModeManager::SetIgnoreMissingOAuthClientForTesting() { + // static + bool AccountConsistencyModeManager::ShouldBuildServiceForProfile( + Profile* profile) { +- return profile->IsRegularProfile(); ++ return false; + } + + AccountConsistencyMethod diff --git a/chrome/browser/signin/account_consistency_mode_manager_factory.cc b/chrome/browser/signin/account_consistency_mode_manager_factory.cc --- a/chrome/browser/signin/account_consistency_mode_manager_factory.cc +++ b/chrome/browser/signin/account_consistency_mode_manager_factory.cc @@ -339,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 -@@ -293,7 +293,9 @@ void ChromeSigninClient::DoFinalInit() { +@@ -289,7 +289,9 @@ void ChromeSigninClient::DoFinalInit() { bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) { scoped_refptr cookie_settings = CookieSettingsFactory::GetForProfile(profile); @@ -350,7 +350,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign } PrefService* ChromeSigninClient::GetPrefs() { -@@ -411,6 +413,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { +@@ -407,6 +409,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() { } void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) { @@ -370,8 +370,8 @@ diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/sig -const char kDiceTokenBindingOutcomeHistogram[] = +[[maybe_unused]] const char kDiceTokenBindingOutcomeHistogram[] = "Signin.DiceTokenBindingOutcome"; - - // Used for UMA. Do not reorder, append new values at the end. + const char kDiceEnableSyncHeaderAccountInfoIsPresent[] = + "Signin.DiceEnableSyncHeaderAccountInfoIsPresent"; diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browser/ui/webui/policy/policy_ui_handler.cc --- a/chrome/browser/ui/webui/policy/policy_ui_handler.cc +++ b/chrome/browser/ui/webui/policy/policy_ui_handler.cc @@ -510,7 +510,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.cc b/chrome/browse diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser/ui/webui/policy/policy_ui_handler.h --- a/chrome/browser/ui/webui/policy/policy_ui_handler.h +++ b/chrome/browser/ui/webui/policy/policy_ui_handler.h -@@ -81,6 +81,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler, +@@ -80,6 +80,8 @@ class PolicyUIHandler : public content::WebUIMessageHandler, private: void HandleExportPoliciesJson(const base::ListValue& args); @@ -534,7 +534,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 -@@ -68,56 +68,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { +@@ -67,56 +67,6 @@ const CountryLocaleMap& GetAllowedCountryToLocaleMap() { return *allowed_map; } @@ -591,7 +591,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } // namespace BASE_FEATURE(kCommerceAllowLocalImages, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -279,16 +229,15 @@ const base::FeatureParam kRevertIconOnFailure{ +@@ -252,16 +202,15 @@ const base::FeatureParam kRevertIconOnFailure{ &kShoppingList, kRevertIconOnFailureParam, false}; bool IsPartnerMerchant(const GURL& url) { @@ -611,7 +611,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm } bool IsCartDiscountFeatureEnabled() { -@@ -340,6 +289,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, +@@ -313,6 +262,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature, bool IsRegionLockedFeatureEnabled(const base::Feature& feature, const std::string& country_code, const std::string& locale) { @@ -619,7 +619,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 -@@ -372,6 +322,7 @@ base::TimeDelta GetDiscountFetchDelay() { +@@ -345,6 +295,7 @@ base::TimeDelta GetDiscountFetchDelay() { } bool IsNoDiscountMerchant(const GURL& url) { @@ -627,7 +627,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm auto* pattern_from_component = commerce_heuristics::CommerceHeuristicsData::GetInstance() .GetNoDiscountMerchantPattern(); -@@ -383,4 +334,6 @@ bool IsNoDiscountMerchant(const GURL& url) { +@@ -356,4 +307,6 @@ bool IsNoDiscountMerchant(const GURL& url) { return RE2::PartialMatch(url.host(), *pattern_from_component); } #endif @@ -995,7 +995,7 @@ diff --git a/components/signin/features.gni b/components/signin/features.gni diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc --- a/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc +++ b/components/signin/internal/identity_manager/gaia_cookie_manager_service.cc -@@ -462,6 +462,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) { +@@ -461,6 +461,8 @@ void GaiaCookieManagerService::RegisterPrefs(PrefRegistrySimple* registry) { } void GaiaCookieManagerService::InitCookieListener() { @@ -1004,7 +1004,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser DCHECK(!cookie_listener_receiver_.is_bound()); network::mojom::CookieManager* cookie_manager = -@@ -856,6 +858,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished( +@@ -855,6 +857,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished( } void GaiaCookieManagerService::HandleNextRequest() { diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch index 816fc997..00f658f5 100644 --- a/build/patches/autofill-miscellaneous.patch +++ b/build/patches/autofill-miscellaneous.patch @@ -41,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptions diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -1131,10 +1131,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() { +@@ -1130,10 +1130,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() { autofill::AutofillCrowdsourcingManager* ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() { @@ -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 -@@ -458,15 +458,6 @@ ChromeAutofillClient::GetURLLoaderFactory() { +@@ -463,15 +463,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 -@@ -118,7 +118,6 @@ class ChromeAutofillClient : public ContentAutofillClient { +@@ -122,7 +122,6 @@ class ChromeAutofillClient : public ContentAutofillClient { version_info::Channel GetChannel() const final; bool IsOffTheRecord() const final; scoped_refptr GetURLLoaderFactory() final; @@ -219,7 +219,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourci diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc --- a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc +++ b/components/autofill/core/browser/crowdsourcing/votes_uploader.cc -@@ -426,9 +426,6 @@ void VotesUploader::UploadVote( +@@ -517,9 +517,6 @@ void VotesUploader::UploadVote( client_->GetUkmRecorder(), ukm_source_id, *submitted_form, submission_timestamp); } @@ -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 -@@ -303,10 +303,6 @@ class AutofillClient { +@@ -309,10 +309,6 @@ class AutofillClient { // Returns the VotesUploader. virtual VotesUploader& GetVotesUploader() = 0; @@ -246,7 +246,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/co 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 -@@ -317,12 +317,6 @@ void AutofillManager::QueryServerPredictions( +@@ -315,12 +315,6 @@ void AutofillManager::QueryServerPredictions( // StartQueryRequest() expects to include the queried forms. This would allow // StartQueryRequest() to provide the queried forms to the callback // automatically, instead of passing them in separately here. @@ -259,7 +259,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/ } void AutofillManager::OnFormsParsed(const std::vector& forms, -@@ -359,19 +353,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms, +@@ -357,19 +351,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms, features::kAutofillServerQueryPredictionsEarly)) { return; } @@ -282,14 +282,14 @@ 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 -@@ -825,6 +825,7 @@ BASE_FEATURE(kAutofillPopupDontAcceptNonVisibleEnoughSuggestion, +@@ -886,6 +886,7 @@ BASE_FEATURE(kAutofillPopupDontAcceptNonVisibleEnoughSuggestion, // affect their functionality. BASE_FEATURE(kAutofillPopupZOrderSecuritySurface, base::FEATURE_ENABLED_BY_DEFAULT); +SET_CROMITE_FEATURE_ENABLED(kAutofillPopupZOrderSecuritySurface); - // Replaces cached web elements in AutofillAgent and FormTracker by their - // renderer ids. + // When enabled, we prefer a `PHONE_HOME_COUNTRY_CODE` heuristic type over a + // `HtmlFieldType::kCountryCode`. diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc --- a/components/autofill/core/common/autofill_prefs.cc +++ b/components/autofill/core/common/autofill_prefs.cc diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch index 8f757bdf..bbf0c315 100644 --- a/build/patches/disable-WebView-variations-support.patch +++ b/build/patches/disable-WebView-variations-support.patch @@ -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 -@@ -677,10 +677,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { +@@ -691,10 +691,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider { // This must happen after pref value has been read and SafeMode setup has completed. setupStartupTaskExperiments(androidXConfig); diff --git a/build/patches/disable-appending-variations-header.patch b/build/patches/disable-appending-variations-header.patch index 0395130c..f0df06e3 100644 --- a/build/patches/disable-appending-variations-header.patch +++ b/build/patches/disable-appending-variations-header.patch @@ -4,22 +4,19 @@ Subject: disable appending variations header License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - components/variations/net/variations_http_headers.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) + components/variations/net/variations_http_headers.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc --- a/components/variations/net/variations_http_headers.cc +++ b/components/variations/net/variations_http_headers.cc -@@ -120,10 +120,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) { - // Also, logs the result of validating |url| in histograms, one of which ends in - // |suffix|. - bool ShouldAppendVariationsHeader(const GURL& url, const std::string& suffix) { -- URLValidationResult result = GetUrlValidationResult(url); -- base::UmaHistogramEnumeration( -- "Variations.Headers.URLValidationResult." + suffix, result); -- return result == URLValidationResult::kShouldAppend; -+ return false; +@@ -131,7 +131,7 @@ bool ShouldAppendVariationsHeader(const GURL& url, InIncognito incognito) { + // exactly www.googleadservices.com or + // international TLD domains *.google. or *.youtube.. + // 2. Only transmit for non-Incognito profiles. +- return incognito == InIncognito::kNo && ++ return ((false)) && incognito == InIncognito::kNo && + GetUrlValidationResult(url) == URLValidationResult::kShouldAppend; } - // Returns true if the request is sent from a Google web property, i.e. from a -- 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..d02202be 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; +@@ -148,12 +148,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-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch index 89d025f7..6764ac85 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 -@@ -2766,7 +2766,7 @@ template("run_mksnapshot") { +@@ -2820,7 +2820,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/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch index e1cd09c5..775ab997 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 -@@ -481,6 +481,10 @@ config("compiler") { +@@ -1058,6 +1058,10 @@ config("linker") { 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 c8b579f3..1d3ef083 100644 --- a/build/patches/eyeo-133.0.6943.49-android_api.patch +++ b/build/patches/eyeo-133.0.6943.49-android_api.patch @@ -53,7 +53,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") -@@ -561,6 +564,7 @@ if (_is_default_toolchain) { +@@ -570,6 +573,7 @@ if (_is_default_toolchain) { "//chrome/browser/xsurface:java", "//chrome/browser/xsurface_provider:dependency_provider_impl_java", "//chrome/browser/xsurface_provider:java", @@ -61,7 +61,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/android_autofill/browser:java", "//components/autofill/android:autofill_features_java", "//components/autofill/android:autofill_java", -@@ -1497,6 +1501,7 @@ if (_is_default_toolchain) { +@@ -1514,6 +1518,7 @@ if (_is_default_toolchain) { "//chrome/test/data/translate/", "//chrome/test/data/webauthn/", "//chrome/test/media_router/resources/", @@ -69,7 +69,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/", -@@ -3098,6 +3103,12 @@ if (_is_default_toolchain) { +@@ -3125,6 +3130,12 @@ if (_is_default_toolchain) { sources += [ "java/src/org/chromium/chrome/browser/media/MediaCapturePickerManagerBridge.java" ] } @@ -82,7 +82,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" ] -@@ -3189,6 +3200,7 @@ if (_is_default_toolchain) { +@@ -3216,6 +3227,7 @@ if (_is_default_toolchain) { "//chrome/browser/ui/plus_addresses/android:jni_headers", "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", @@ -103,10 +103,10 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java import("//content/public/common/features.gni") -@@ -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", +@@ -66,6 +69,7 @@ chrome_java_sources = [ "java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java", + "java/src/org/chromium/chrome/browser/actor/ActorForegroundServiceControllerImpl.java", + "java/src/org/chromium/chrome/browser/actor/ActorForegroundServiceImpl.java", + "java/src/org/chromium/chrome/browser/adblock/TabIdTranslator.java", "java/src/org/chromium/chrome/browser/ai/AiAssistantService.java", "java/src/org/chromium/chrome/browser/ai/PageSummaryButtonController.java", @@ -155,7 +155,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 -@@ -3339,6 +3339,10 @@ static_library("browser") { +@@ -3235,6 +3235,10 @@ static_library("browser") { ] deps += [ "//chrome/browser/password_entry_edit/android" ] @@ -217,7 +217,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 -@@ -1045,6 +1045,12 @@ static_library("ui") { +@@ -1076,6 +1076,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 b9857581..7021d286 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 -@@ -276,6 +276,10 @@ if (_is_default_toolchain) { +@@ -281,6 +281,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" ] } -@@ -811,6 +815,10 @@ if (_is_default_toolchain) { +@@ -820,6 +824,10 @@ if (_is_default_toolchain) { "//chrome/browser/password_entry_edit:public_java", ] @@ -272,10 +272,10 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j --> + android:order="16" /> + ({ +@@ -198,6 +203,12 @@ const auto kTrackedPrefs = std::to_array({ EnforcementLevel::ENFORCE_ON_LOAD, PrefTrackingStrategy::ATOMIC, ValueType::IMPERSONAL}, #endif @@ -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" -@@ -251,6 +255,15 @@ +@@ -264,6 +268,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" -@@ -959,6 +972,15 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -974,6 +987,15 @@ void ChromeBrowserMainExtraPartsProfiles:: FederatedIdentityApiPermissionContextFactory::GetInstance(); FederatedIdentityAutoReauthnPermissionContextFactory::GetInstance(); FederatedIdentityPermissionContextFactory::GetInstance(); @@ -347,15 +347,15 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD. import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") -@@ -313,6 +316,7 @@ group("dev_ui_resources") { - "predictors:resources", +@@ -311,6 +314,7 @@ group("dev_ui_resources") { "privacy_sandbox/internals:resources", "usb_internals:resources", + "webnn_internals:resources", + "//components/adblock/content/resources/adblock_internals:resources", "//components/commerce/core/internals/resources", "//components/data_sharing/data_sharing_internals/resources", "//components/download/resources/download_internals:resources", -@@ -387,6 +391,7 @@ repack("dev_ui_paks") { +@@ -386,6 +390,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,7 +376,7 @@ 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") -@@ -410,6 +413,7 @@ static_library("ui") { +@@ -435,6 +438,7 @@ static_library("ui") { "//chrome/installer/util:with_no_strings", "//components/access_code_cast/common:metrics", "//components/account_id", @@ -435,7 +435,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #include "chrome/browser/ui/tab_helpers.h" -@@ -103,6 +107,8 @@ +@@ -106,6 +110,8 @@ #include "chrome/common/chrome_features.h" #include "chrome/common/chrome_isolated_world_ids.h" #include "chrome/common/chrome_switches.h" @@ -444,7 +444,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc #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" -@@ -343,6 +349,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -346,6 +352,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); -@@ -371,6 +383,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { +@@ -374,6 +386,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { // completions. HttpAuthCacheStatus::HttpAuthCacheStatus::CreateForWebContents(web_contents); #endif // BUILDFLAG(IS_ANDROID) @@ -478,16 +478,16 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni import("//ash/ambient/resources/resources.gni") import("//build/config/chrome_build.gni") -@@ -124,6 +127,7 @@ template("chrome_extra_paks") { - "$root_gen_dir/chrome/common_resources.pak", +@@ -128,6 +131,7 @@ template("chrome_extra_paks") { + "$root_gen_dir/chrome/glic_shared_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", -@@ -164,6 +168,7 @@ template("chrome_extra_paks") { - "//chrome/browser/resources", +@@ -172,6 +176,7 @@ template("chrome_extra_paks") { + "//chrome/browser/resources/glic/shared:resources", "//chrome/browser/resources/saved_tab_groups_unsupported:resources", "//chrome/common:resources", + "//components/adblock/core/resources:adblock_resources", 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 72b58516..08d33972 100644 --- a/build/patches/eyeo-133.0.6943.49-extension_api.patch +++ b/build/patches/eyeo-133.0.6943.49-extension_api.patch @@ -37,7 +37,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 -@@ -838,6 +838,17 @@ source_set("extensions") { +@@ -841,6 +841,17 @@ source_set("extensions") { ] } @@ -2470,7 +2470,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com "autofillPrivate": { "channel": "trunk", "extension_types": ["extension", "platform_app"], -@@ -411,6 +422,13 @@ +@@ -410,6 +421,13 @@ // "desktop_android" is not supported. "platforms": ["chromeos", "linux", "mac", "win"] }, @@ -2682,7 +2682,7 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens import("//chrome/common/features.gni") import("//components/guest_view/buildflags/buildflags.gni") -@@ -41,6 +44,8 @@ schema_sources_ = [ +@@ -42,6 +45,8 @@ schema_sources_ = [ "tabs.json", "web_authentication_proxy.webidl", "web_navigation.json", diff --git a/build/patches/kill-Location-fall-back-to-system.patch b/build/patches/kill-Location-fall-back-to-system.patch index bfc20c8c..ec9f0e65 100644 --- a/build/patches/kill-Location-fall-back-to-system.patch +++ b/build/patches/kill-Location-fall-back-to-system.patch @@ -57,7 +57,7 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge diff --git a/services/device/public/cpp/device_features.cc b/services/device/public/cpp/device_features.cc --- a/services/device/public/cpp/device_features.cc +++ b/services/device/public/cpp/device_features.cc -@@ -58,6 +58,7 @@ BASE_FEATURE(kLocationProviderManager, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -63,6 +63,7 @@ BASE_FEATURE(kLocationProviderManager, base::FEATURE_ENABLED_BY_DEFAULT); #else BASE_FEATURE(kLocationProviderManager, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) @@ -65,7 +65,7 @@ diff --git a/services/device/public/cpp/device_features.cc b/services/device/pub #if BUILDFLAG(IS_ANDROID) // Enables registering & unregistering of the Battery Status Manager broadcast -@@ -102,7 +103,7 @@ const base::FeatureParam +@@ -107,7 +108,7 @@ const base::FeatureParam const base::FeatureParam kLocationProviderManagerParam{ &kLocationProviderManager, "LocationProviderManagerMode", diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch index e8b22de0..26eab947 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 -@@ -306,8 +306,6 @@ if (_is_default_toolchain) { +@@ -311,8 +311,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/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch index 9029d38a..7a1a0fbd 100644 --- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch +++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch @@ -23,7 +23,7 @@ diff --git a/components/network_time/network_time_tracker.cc b/components/networ namespace { -@@ -324,8 +325,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, +@@ -325,8 +326,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time, } bool NetworkTimeTracker::AreTimeFetchesEnabled() const { diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch index 059f91c7..7c497ad8 100644 --- a/build/patches/ungoogled-chromium-Disable-profile-avatar.patch +++ b/build/patches/ungoogled-chromium-Disable-profile-avatar.patch @@ -7,14 +7,14 @@ Added some Bromite-specific further improvements License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- chrome/browser/BUILD.gn | 2 -- - chrome/browser/profiles/profile_attributes_entry.cc | 6 ------ + chrome/browser/profiles/profile_attributes_entry.cc | 8 -------- chrome/browser/profiles/profile_attributes_storage.cc | 2 +- - 3 files changed, 1 insertion(+), 9 deletions(-) + 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1206,8 +1206,6 @@ static_library("browser") { +@@ -1037,8 +1037,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", @@ -26,14 +26,16 @@ 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 -@@ -380,12 +380,6 @@ gfx::Image ProfileAttributesEntry::GetAvatarIcon( +@@ -370,14 +370,6 @@ ProfileAttributesEntry::GetAvatarIconWithType( int size_for_placeholder_avatar, bool use_high_res_file, const PlaceholderAvatarIconParams& icon_params) const { - if (IsUsingGAIAPicture()) { -- const gfx::Image* image = GetGAIAPicture(); -- if (image) -- return *image; +- // The picture may be null if it has not finished downloading yet; in that +- // case fall through to return the avatar-index-based icon below. +- if (const gfx::Image* image = GetGAIAPicture()) { +- return {*image, AvatarIconType::kNonPlaceholder}; +- } - } - #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) diff --git a/build/patches/ungoogled-chromium-Disable-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch index 1a2cd49b..5a4db6b1 100644 --- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch +++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch @@ -100,9 +100,9 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse private static final String TAG = "LanguageSettings"; @@ -113,35 +106,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment - ContentLanguagesPreference mLanguageListPref = + ContentLanguagesPreference languageListPref = (ContentLanguagesPreference) findPreference(PREFERRED_LANGUAGES_KEY); - mLanguageListPref.initialize(this, getProfile(), getPrefService()); + languageListPref.initialize(this, getProfile(), getPrefService()); - - ChromeSwitchPreference translateSwitch = - (ChromeSwitchPreference) findPreference(TRANSLATE_SWITCH_KEY); @@ -115,7 +115,7 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse - public boolean onPreferenceChange(Preference preference, Object newValue) { - boolean enabled = (boolean) newValue; - getPrefService().setBoolean(Pref.OFFER_TRANSLATE_ENABLED, enabled); -- mLanguageListPref.notifyPrefChanged(); +- languageListPref.notifyPrefChanged(); - LanguagesManager.recordAction( - enabled - ? LanguagesManager.LanguageSettingsActionType @@ -136,11 +136,11 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse /** @@ -156,8 +120,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment - ContentLanguagesPreference mLanguageListPref = + ContentLanguagesPreference languageListPref = (ContentLanguagesPreference) findPreference(CONTENT_LANGUAGES_KEY); - mLanguageListPref.initialize(this, getProfile(), getPrefService()); + languageListPref.initialize(this, getProfile(), getPrefService()); - -- setupTranslateSection(mLanguageListPref); +- setupTranslateSection(languageListPref); } /** Setup the App Language section with a title and preference to choose the app language. */ @@ -285,7 +285,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 -@@ -1987,9 +1987,6 @@ Your Google account may have other forms of browsing history like searches and a +@@ -2060,9 +2060,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-webRTC-log-uploader.patch b/build/patches/ungoogled-chromium-Disable-webRTC-log-uploader.patch index e8a11a88..5b5fc24d 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 -@@ -148,7 +148,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -151,7 +151,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 b1217767..b8def715 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/chrome_browser_main.cc | 10 - .../browser/chrome_content_browser_client.cc | 29 +- ...ent_browser_client_navigation_throttles.cc | 1 - - .../domain_reliability/service_factory.cc | 33 +- + .../domain_reliability/service_factory.cc | 30 +- .../key_management/browser/commands/BUILD.gn | 1 - .../commands/win_key_rotation_command.cc | 9 +- chrome/browser/extensions/BUILD.gn | 1 - @@ -71,21 +71,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...gled-chromium-no-special-hosts-domains.inc | 1 + net/base/url_util.cc | 25 +- services/network/network_context.cc | 2 +- - 64 files changed, 57 insertions(+), 892 deletions(-) + 64 files changed, 56 insertions(+), 890 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc 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 -@@ -124,7 +124,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils; +@@ -124,7 +124,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; + 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.OmniboxChipManager; -import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; + import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; import org.chromium.chrome.browser.open_in_app.OpenInAppEntryPoint; import org.chromium.chrome.browser.open_in_app.OpenInAppMenuItemProvider; - import org.chromium.chrome.browser.open_in_app.OpenInAppUtils; -@@ -1499,10 +1498,8 @@ public class RootUiCoordinator +@@ -1553,10 +1552,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 -@@ -830,10 +830,6 @@ static_library("browser") { +@@ -726,10 +726,6 @@ static_library("browser") { "page_load_metrics/observers/captcha_metrics_observer.h", "page_load_metrics/observers/captcha_provider_manager.cc", "page_load_metrics/observers/captcha_provider_manager.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", -@@ -842,10 +838,6 @@ static_library("browser") { +@@ -738,10 +734,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", -@@ -1434,8 +1426,6 @@ static_library("browser") { +@@ -1261,8 +1253,6 @@ static_library("browser") { "supervised_user/metrics_service_accessor_delegate.h", "supervised_user/supervised_user_browser_utils.cc", "supervised_user/supervised_user_browser_utils.h", @@ -130,25 +130,25 @@ 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", -@@ -1546,10 +1536,7 @@ static_library("browser") { - "//chrome/browser/content_settings:impl", +@@ -1379,10 +1369,7 @@ static_library("browser") { + "//chrome/browser/enterprise/browser_management:management_identity_impl", "//chrome/browser/devtools", - "//chrome/browser/favicon", + "//chrome/browser/favicon:impl", - "//chrome/browser/feedback", - "//chrome/browser/feedback:feedback_impl", "//chrome/browser/file_system_access:impl", - "//chrome/browser/google", - "//chrome/browser/media/webrtc", - "//chrome/browser/navigation_predictor:impl", -@@ -1730,7 +1717,6 @@ static_library("browser") { + # TODO(crbug.com/486309771): Remove this circular dependency when + # chrome_metrics_service_accessor.h gets extracted into its own target. +@@ -1592,7 +1579,6 @@ static_library("browser") { # should be added to browser_generated_files. ":browser_public_dependencies", ":chrome_content_browser_client_parts", - "//chrome/browser/google", "//chrome/browser/headless", - "//chrome/browser/profiles", - "//chrome/browser/ui/tabs:tab_enums", + "//chrome/browser/history_embeddings", + "//chrome/browser/interstitials", 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 @@ -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 -@@ -1359,7 +1359,6 @@ BrowserProcessImpl::component_updater() { +@@ -1366,7 +1366,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 -@@ -501,11 +501,6 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -508,11 +508,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 -@@ -2014,11 +2009,6 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -2035,11 +2030,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 -@@ -2971,7 +2971,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( +@@ -3041,7 +3041,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, -@@ -5777,7 +5776,8 @@ GetClientDataHeader(content::FrameTreeNodeId frame_tree_node_id) { +@@ -5859,7 +5858,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 -@@ -5817,7 +5817,7 @@ std::unique_ptr CreateGoogleURLLoaderThrottle( +@@ -5899,7 +5899,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( -@@ -5874,15 +5874,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles( +@@ -5956,15 +5956,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); -@@ -5927,20 +5918,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( +@@ -6009,20 +6000,6 @@ ChromeContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive( Profile* profile = Profile::FromBrowserContext(browser_context); DCHECK(profile); @@ -288,10 +288,12 @@ diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.c diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/browser/domain_reliability/service_factory.cc --- a/chrome/browser/domain_reliability/service_factory.cc +++ b/chrome/browser/domain_reliability/service_factory.cc -@@ -14,40 +14,11 @@ - - namespace domain_reliability { +@@ -8,38 +8,10 @@ + #include "base/metrics/field_trial.h" + #include "chrome/common/chrome_switches.h" +-namespace domain_reliability { +- -namespace { - -// If Domain Reliability is enabled in the absence of a flag or field trial. @@ -301,27 +303,22 @@ diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/brows -const char kFieldTrialName[] = "DomRel-Enable"; -const char kFieldTrialValueEnable[] = "enable"; - --bool IsDomainReliabilityAllowed() { -- return g_browser_process->local_state()->GetBoolean( -- prefs::kDomainReliabilityAllowedByPolicy); --} -- -} // namespace - -+// Identifies Chrome as the source of Domain Reliability uploads it sends. const char kUploadReporterString[] = "chrome"; - bool ShouldCreateService() { + bool ShouldCreateService(const DomainReliabilityServiceDelegate* delegate) { - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(switches::kDisableDomainReliability)) - return false; - if (command_line->HasSwitch(switches::kEnableDomainReliability)) - return true; -- if (!IsDomainReliabilityAllowed()) { +- if (!delegate->IsDomainReliabilityAllowed()) { - return false; - } -- if (!ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled()) +- if (!delegate->IsMetricsAndCrashReportingEnabled()) { - return false; +- } - if (base::FieldTrialList::TrialExists(kFieldTrialName)) { - std::string value = base::FieldTrialList::FindFullName(kFieldTrialName); - return (value == kFieldTrialValueEnable); @@ -365,7 +362,7 @@ 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 -@@ -515,7 +515,6 @@ source_set("extensions") { +@@ -516,7 +516,6 @@ source_set("extensions") { "//chrome/browser/extensions/api:api_registration", "//chrome/browser/favicon", "//chrome/browser/gcm", @@ -376,14 +373,14 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL diff --git a/chrome/browser/feedback/BUILD.gn b/chrome/browser/feedback/BUILD.gn --- a/chrome/browser/feedback/BUILD.gn +++ b/chrome/browser/feedback/BUILD.gn -@@ -112,7 +112,6 @@ source_set("feedback_impl") { +@@ -118,7 +118,6 @@ source_set("feedback_impl") { "//chrome/browser/devtools", "//chrome/browser/extensions", "//chrome/browser/first_party_sets", - "//chrome/browser/google", + "//chrome/browser/metrics", "//chrome/browser/performance_manager/public/user_tuning", "//chrome/browser/signin", - "//chrome/browser/sync", diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc --- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc @@ -448,7 +445,7 @@ diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc --- a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc +++ b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc -@@ -37,13 +37,11 @@ constexpr size_t kMaxPerCaptureSizeBytes = 50 * 1000L * 1000L; // 50 MB. +@@ -36,13 +36,11 @@ constexpr size_t kMaxPerCaptureSizeBytes = 50 * 1000L * 1000L; // 50 MB. // Host/regex pattern for Google AMP Cache URLs. // See https://developers.google.com/amp/cache/overview#amp-cache-url-format // for a definition of the format of AMP Cache URLs. @@ -462,7 +459,7 @@ diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/c const char kGoogleNewsPathPattern[] = "/articles/(.*)"; } // namespace -@@ -242,26 +240,6 @@ bool LongScreenshotsTabService::IsAmpUrl(const GURL& url) { +@@ -240,26 +238,6 @@ bool LongScreenshotsTabService::IsAmpUrl(const GURL& url) { return false; } @@ -492,7 +489,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() { +@@ -638,7 +638,7 @@ ChromeMetricsServiceClient::GetNetworkTimeTracker() { } bool ChromeMetricsServiceClient::GetBrand(std::string* brand_code) { @@ -678,7 +675,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 -@@ -203,14 +203,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( +@@ -212,14 +212,9 @@ void PageLoadMetricsEmbedder::RegisterObservers( tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); tracker->AddObserver(std::make_unique()); @@ -707,7 +704,7 @@ diff --git a/chrome/browser/profile_resetter/BUILD.gn b/chrome/browser/profile_r diff --git a/chrome/browser/profile_resetter/profile_resetter.cc b/chrome/browser/profile_resetter/profile_resetter.cc --- a/chrome/browser/profile_resetter/profile_resetter.cc +++ b/chrome/browser/profile_resetter/profile_resetter.cc -@@ -102,8 +102,7 @@ ProfileResetter::ProfileResetter(Profile* profile) +@@ -103,8 +103,7 @@ ProfileResetter::ProfileResetter(Profile* profile) DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(profile_); @@ -720,7 +717,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 -@@ -29,7 +29,6 @@ static_library("safe_browsing") { +@@ -30,7 +30,6 @@ static_library("safe_browsing") { "//build:branding_buildflags", "//chrome/app:generated_resources", "//chrome/browser:browser_process", @@ -778,18 +775,18 @@ diff --git a/chrome/browser/signin/android/signin_manager_android.cc b/chrome/br 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 -@@ -293,7 +293,6 @@ static_library("ui") { - "//chrome/browser/feedback:feedback_impl", - "//chrome/browser/file_system_access", - "//chrome/browser/gcm", +@@ -308,7 +308,6 @@ static_library("ui") { + "//chrome/browser/glic/actor", + "//chrome/browser/glic/fre", + "//chrome/browser/glic/public:features", - "//chrome/browser/google", + "//chrome/browser/gpu", + "//chrome/browser/hang_monitor", "//chrome/browser/history", - "//chrome/browser/image_decoder", - "//chrome/browser/image_fetcher", 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 -@@ -69,8 +69,6 @@ android_library("java") { +@@ -77,8 +77,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/fusebox/FuseboxTabUtils.java", "java/src/org/chromium/chrome/browser/omnibox/fusebox/FuseboxViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/fusebox/FuseboxViewHolder.java", @@ -801,7 +798,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr 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 -@@ -51,7 +51,6 @@ import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; +@@ -53,7 +53,6 @@ import org.chromium.chrome.browser.multiwindow.MultiInstanceManager; import org.chromium.chrome.browser.omnibox.LocationBarMediator.OmniboxUma; import org.chromium.chrome.browser.omnibox.fusebox.FuseboxCoordinator; import org.chromium.chrome.browser.omnibox.fusebox.FuseboxCoordinator.FuseboxState; @@ -809,7 +806,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; -@@ -549,7 +548,6 @@ public class LocationBarCoordinator +@@ -540,7 +539,6 @@ public class LocationBarCoordinator mLocationBarMediator.destroy(); mLocationBarMediator = null; @@ -820,7 +817,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 -@@ -70,7 +70,6 @@ import org.chromium.chrome.browser.omnibox.UrlBar.UrlBarDelegate; +@@ -71,7 +71,6 @@ import org.chromium.chrome.browser.omnibox.fusebox.FuseboxAttachmentModelList; 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 +825,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; -@@ -423,22 +422,6 @@ class LocationBarMediator +@@ -417,22 +416,6 @@ class LocationBarMediator if (!mUrlFocusedWithoutAnimations) handleUrlFocusAnimation(hasFocus); @@ -851,7 +848,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow if (!hasFocus && mLocationBarDataProvider.hasTab()) { setUrl( mLocationBarDataProvider.getCurrentGurl(), -@@ -455,8 +438,6 @@ class LocationBarMediator +@@ -449,8 +432,6 @@ class LocationBarMediator Profile profile = mProfileSupplier.get(); assert profile != null; templateUrlService.addObserver(this); @@ -860,7 +857,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow })); mLocationBarLayout.onFinishNativeInitialization(); -@@ -737,14 +718,6 @@ class LocationBarMediator +@@ -732,14 +713,6 @@ class LocationBarMediator // ContentView. if (currentTab != null && !url.isEmpty()) { LoadUrlParams loadUrlParams = new LoadUrlParams(url); @@ -875,7 +872,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow loadUrlParams.setTransitionType( omniboxLoadUrlParams.transitionType | PageTransition.FROM_ADDRESS_BAR); if (omniboxLoadUrlParams.inputStartTimestamp != 0) { -@@ -2114,7 +2087,6 @@ class LocationBarMediator +@@ -2094,7 +2067,6 @@ class LocationBarMediator if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled() && profile != null && templateUrlService != null) { @@ -883,7 +880,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow } } -@@ -2122,7 +2094,6 @@ class LocationBarMediator +@@ -2102,7 +2074,6 @@ class LocationBarMediator public void onPauseWithNative() { OmniboxFeatures.updateLastExitTimestamp(); if (OmniboxFeatures.sUseFusedLocationProvider.isEnabled()) { @@ -905,7 +902,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 -@@ -777,12 +777,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource(Profile* profile) { +@@ -785,12 +785,6 @@ content::WebUIDataSource* CreateAndAddNewTabPageUiHtmlSource( // 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. @@ -921,7 +918,7 @@ diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/br diff --git a/chrome/browser/ui/webui/ntp/new_tab_ui.cc b/chrome/browser/ui/webui/ntp/new_tab_ui.cc --- a/chrome/browser/ui/webui/ntp/new_tab_ui.cc +++ b/chrome/browser/ui/webui/ntp/new_tab_ui.cc -@@ -203,8 +203,7 @@ std::string NewTabUI::NewTabHTMLSource::GetContentSecurityPolicy( +@@ -202,8 +202,7 @@ std::string NewTabUI::NewTabHTMLSource::GetContentSecurityPolicy( network::mojom::CSPDirectiveName directive) { if (directive == network::mojom::CSPDirectiveName::ScriptSrc) { // 'unsafe-inline' and google resources are added to script-src. @@ -939,10 +936,10 @@ diff --git a/chrome/browser/upgrade_detector/BUILD.gn b/chrome/browser/upgrade_d "//base:build_time", "//chrome/browser:buildflags", - "//chrome/browser/google", + "//chrome/browser/obsolete_system", "//content/public/browser", ] - } else { -@@ -201,7 +200,6 @@ source_set("unit_tests") { +@@ -202,7 +201,6 @@ source_set("unit_tests") { deps += [ "//base:i18n", @@ -969,7 +966,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 -@@ -144,8 +144,6 @@ static_library("common_lib") { +@@ -143,8 +143,6 @@ static_library("common_lib") { "content_restriction.h", "crash_keys.cc", "crash_keys.h", @@ -1015,14 +1012,14 @@ 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 -@@ -7064,7 +7064,6 @@ test("unit_tests") { - "//chrome/browser/first_party_sets", - "//chrome/browser/gcm", - "//chrome/browser/gcm:unit_tests", +@@ -7154,7 +7154,6 @@ test("unit_tests") { + "//chrome/browser/glic", + "//chrome/browser/glic:unit_tests", + "//chrome/browser/glic/test_support", - "//chrome/browser/google:unit_tests", "//chrome/browser/history", - "//chrome/browser/media:unittests", - "//chrome/browser/media/prefs", + "//chrome/browser/history_clusters", + "//chrome/browser/history_clusters:unit_tests", diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliability/BUILD.gn --- a/components/domain_reliability/BUILD.gn +++ b/components/domain_reliability/BUILD.gn @@ -1701,7 +1698,7 @@ diff --git a/components/page_load_metrics/google/browser/google_url_util.cc b/co diff --git a/components/search_engines/search_engine_utils.cc b/components/search_engines/search_engine_utils.cc --- a/components/search_engines/search_engine_utils.cc +++ b/components/search_engines/search_engine_utils.cc -@@ -26,6 +26,7 @@ bool SameDomain(const GURL& given_url, const GURL& prepopulated_url) { +@@ -43,6 +43,7 @@ bool HasSameDomainUrl(const GURL& given_url, SearchEngineType GetEngineType(const GURL& url) { DCHECK(url.is_valid()); @@ -1972,7 +1969,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 -@@ -3110,7 +3110,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -3153,7 +3153,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 8cd4c4a2..0bd03516 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 -@@ -142,7 +142,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { +@@ -145,7 +145,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,