Browse Source

More fixes for linking and removed files

csagan5 3 years ago
parent
commit
b7d091858e
24 changed files with 533 additions and 773 deletions
  1. 1 1
      build/bromite_patches_list.txt
  2. 2 2
      build/patches/Add-a-proxy-configuration-page.patch
  3. 10 10
      build/patches/Add-an-always-incognito-mode.patch
  4. 3 3
      build/patches/Add-bookmark-import-export-actions.patch
  5. 6 6
      build/patches/Add-custom-tab-intents-privacy-option.patch
  6. 4 4
      build/patches/Add-exit-menu-item.patch
  7. 5 5
      build/patches/Add-option-to-not-persist-tabs-across-sessions.patch
  8. 10 8
      build/patches/Allow-building-without-enable_reporting.patch
  9. 1 14
      build/patches/Automated-domain-substitution.patch
  10. 9 126
      build/patches/Disable-AGSA-by-default.patch
  11. 4 4
      build/patches/Disable-FLoC-and-privacy-sandbox.patch
  12. 1 1
      build/patches/Disable-media-router-and-remoting-by-default.patch
  13. 1 1
      build/patches/Disable-safety-check.patch
  14. 15 14
      build/patches/Enable-native-Android-autofill.patch
  15. 1 1
      build/patches/Experimental-user-scripts-support.patch
  16. 9 9
      build/patches/History-number-of-days-privacy-setting.patch
  17. 6 6
      build/patches/Move-some-account-settings-back-to-privacy-settings.patch
  18. 1 1
      build/patches/Multiple-fingerprinting-mitigations.patch
  19. 1 1
      build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch
  20. 6 437
      build/patches/Remove-binary-blob-integrations.patch
  21. 27 27
      build/patches/Remove-contextual-search-manager.patch
  22. 1 1
      build/patches/Remove-help-menu-item.patch
  23. 1 1
      build/patches/Remove-price-shopping-commerce-integrations.patch
  24. 408 90
      build/patches/Remove-signin-and-sync-integrations.patch

+ 1 - 1
build/bromite_patches_list.txt

@@ -30,7 +30,6 @@ ungoogled-chromium-Disable-Gaia.patch
 ungoogled-chromium-Disable-Network-Time-Tracker.patch
 Disable-safe-browsing.patch
 Disable-all-promo-dialogs.patch
-Remove-signin-and-sync-integrations.patch
 Disable-update-scheduler.patch
 Add-English-only-search-engine.patch
 Add-DuckDuckGo-Lite-search-engine.patch
@@ -69,6 +68,7 @@ autofill-miscellaneous.patch
 Enable-native-Android-autofill.patch
 first_run-deactivate-autoupdate-globally.patch
 translate-disable-fetching-of-languages-from-server.patch
+Remove-signin-and-sync-integrations.patch
 kill-Vision.patch
 kill-Location-fall-back-to-system.patch
 kill-Auth.patch

+ 2 - 2
build/patches/Add-a-proxy-configuration-page.patch

@@ -72,8 +72,8 @@ 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
-@@ -57,6 +57,7 @@ public class PrivacySettings
-     private static final String PREF_DO_NOT_TRACK = "do_not_track";
+@@ -61,6 +61,7 @@ public class PrivacySettings
+     private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
      private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
      private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
 +    private static final String PREF_PROXY_OPTIONS = "proxy";

+ 10 - 10
build/patches/Add-an-always-incognito-mode.patch

@@ -111,7 +111,7 @@ 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",
-@@ -952,6 +953,7 @@ chrome_java_sources = [
+@@ -960,6 +961,7 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
    "java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
    "java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
@@ -245,7 +245,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
  import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
  import org.chromium.chrome.browser.IntentHandler.TabOpenType;
  import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
-@@ -1810,8 +1811,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
+@@ -1818,8 +1819,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
          Bundle savedInstanceState = getSavedInstanceState();
  
          // We determine the model as soon as possible so every systems get initialized coherently.
@@ -268,7 +268,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
  import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
  import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
  import org.chromium.chrome.browser.device.DeviceClassManager;
-@@ -1903,6 +1904,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -1979,6 +1980,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
              throw new IllegalStateException(
                      "Attempting to access TabCreator before initialization");
          }
@@ -643,7 +643,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
-@@ -82,7 +82,8 @@ public class RecentTabsManager {
+@@ -99,7 +99,8 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
       */
      public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
              Context context, Runnable showHistoryManager) {
@@ -821,15 +821,15 @@ 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
-@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
- import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
+@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
  import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
+ import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
  import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
 +import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
  import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
  import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
  import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
-@@ -258,6 +259,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
+@@ -259,6 +260,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
          if (fragment instanceof AdPersonalizationRemovedFragment) {
              ((AdPersonalizationRemovedFragment) fragment).setSnackbarManager(getSnackbarManager());
          }
@@ -952,7 +952,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/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
-@@ -123,6 +123,8 @@ import org.chromium.ui.base.DeviceFormFactor;
+@@ -125,6 +125,8 @@ import org.chromium.ui.base.DeviceFormFactor;
  import org.chromium.ui.base.IntentRequestTracker;
  import org.chromium.ui.modaldialog.ModalDialogManager;
  import org.chromium.ui.util.TokenHolder;
@@ -961,7 +961,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
  
  /**
   * A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
-@@ -499,7 +501,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -501,7 +503,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
                      mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
              mEmptyBackgroundViewWrapper =
                      new EmptyBackgroundViewWrapper(mTabModelSelectorSupplier.get(),
@@ -1647,7 +1647,7 @@ diff --git a/chrome/browser/ui/android/native_page/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
-@@ -1143,6 +1143,37 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1161,6 +1161,37 @@ Your Google account may have other forms of browsing history like searches and a
        <message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
          Clears history from all synced devices.
        </message>

+ 3 - 3
build/patches/Add-bookmark-import-export-actions.patch

@@ -703,7 +703,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -1812,6 +1812,13 @@ static_library("browser") {
+@@ -1864,6 +1864,13 @@ static_library("browser") {
      "webid/federated_identity_sharing_permission_context_factory.h",
    ]
  
@@ -717,7 +717,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
    configs += [
      "//build/config/compiler:wexit_time_destructors",
      "//build/config:precompiled_headers",
-@@ -2957,6 +2964,8 @@ static_library("browser") {
+@@ -3024,6 +3031,8 @@ static_library("browser") {
        "autofill/manual_filling_controller.h",
        "autofill/manual_filling_controller_impl.cc",
        "autofill/manual_filling_controller_impl.h",
@@ -726,7 +726,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
        "autofill/manual_filling_utils.cc",
        "autofill/manual_filling_utils.h",
        "autofill/manual_filling_view_interface.h",
-@@ -3584,8 +3593,6 @@ static_library("browser") {
+@@ -3666,8 +3675,6 @@ static_library("browser") {
        "badging/badge_manager_factory.h",
        "banners/app_banner_manager_desktop.cc",
        "banners/app_banner_manager_desktop.h",

+ 6 - 6
build/patches/Add-custom-tab-intents-privacy-option.patch

@@ -125,7 +125,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
-@@ -81,6 +81,9 @@ public class PrivacySettings
+@@ -85,6 +85,9 @@ public class PrivacySettings
      private ViewGroup mDialogContainer;
      private BottomSheetController mBottomSheetController;
  
@@ -135,8 +135,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      @Override
      public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
          PrivacyPreferencesManagerImpl privacyPrefManager =
-@@ -148,6 +151,9 @@ public class PrivacySettings
-         updatePreferences();
+@@ -179,6 +182,9 @@ public class PrivacySettings
+                 new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
      }
  
 +    public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
@@ -145,7 +145,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();
-@@ -164,6 +170,14 @@ public class PrivacySettings
+@@ -195,6 +201,14 @@ public class PrivacySettings
          } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
              UserPrefs.get(Profile.getLastUsedRegularProfile())
                      .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          }
          return true;
      }
-@@ -186,6 +200,16 @@ public class PrivacySettings
+@@ -217,6 +231,16 @@ public class PrivacySettings
              canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
          }
  
@@ -196,7 +196,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
 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
-@@ -4669,6 +4669,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
+@@ -4687,6 +4687,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
        <message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
           Show original
        </message>

+ 4 - 4
build/patches/Add-exit-menu-item.patch

@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
 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
-@@ -211,6 +211,8 @@ import java.util.HashSet;
+@@ -216,6 +216,8 @@ import java.util.HashSet;
  import java.util.List;
  import java.util.Locale;
  
@@ -68,7 +68,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.
-@@ -2091,6 +2093,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
+@@ -2110,6 +2112,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
          } else if (id == R.id.close_tab) {
              getCurrentTabModel().closeTab(currentTab, true, false, true);
              RecordUserAction.record("MobileTabClosed");
@@ -88,7 +88,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;
-@@ -2395,6 +2396,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -2471,6 +2472,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
              return true;
          }
  
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
 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
-@@ -3407,6 +3407,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
+@@ -3425,6 +3425,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
        <message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
          Dark theme
        </message>

+ 5 - 5
build/patches/Add-option-to-not-persist-tabs-across-sessions.patch

@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
  import org.chromium.base.IntentUtils;
  import org.chromium.base.Log;
  import org.chromium.base.MemoryPressureListener;
-@@ -1233,8 +1234,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
+@@ -1241,8 +1242,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
              boolean hadCipherData =
                      CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
  
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  import org.chromium.chrome.R;
  import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
  import org.chromium.chrome.browser.flags.ChromeFeatureList;
-@@ -57,6 +60,8 @@ public class PrivacySettings
+@@ -61,6 +64,8 @@ public class PrivacySettings
      private static final String PREF_PRIVACY_REVIEW = "privacy_review";
      private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
  
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private ManagedPreferenceDelegate mManagedPreferenceDelegate;
      private IncognitoLockSettings mIncognitoLockSettings;
      private ViewGroup mDialogContainer;
-@@ -128,7 +133,11 @@ public class PrivacySettings
+@@ -159,7 +164,11 @@ public class PrivacySettings
      @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(Profile.getLastUsedRegularProfile())
                      .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
          } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
-@@ -169,6 +178,11 @@ public class PrivacySettings
+@@ -200,6 +209,11 @@ public class PrivacySettings
                      PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
          }
  
@@ -105,7 +105,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
-@@ -4357,6 +4357,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
+@@ -4375,6 +4375,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
        <message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
          IMAGE
        </message>

+ 10 - 8
build/patches/Allow-building-without-enable_reporting.patch

@@ -8,7 +8,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../net/cross_origin_embedder_policy_reporter.cc |  4 +++-
  .../net/cross_origin_opener_policy_reporter.cc   | 16 +++++++---------
  content/browser/net/reporting_service_proxy.cc   |  3 +++
- .../renderer_host/render_frame_host_impl.cc      |  2 ++
+ .../renderer_host/render_frame_host_impl.cc      |  4 +++-
  .../web_package/signed_exchange_reporter.cc      |  2 ++
  ...content_switch_dependent_feature_overrides.cc |  1 +
  net/reporting/reporting_service.cc               |  6 ++++++
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../blink/renderer/core/frame/local_frame.h      |  6 +++---
  .../renderer/core/frame/reporting_context.cc     |  9 +++++++++
  .../renderer/core/frame/reporting_context.h      |  7 +++++--
- 15 files changed, 50 insertions(+), 18 deletions(-)
+ 15 files changed, 51 insertions(+), 19 deletions(-)
 
 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
@@ -175,14 +175,16 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
 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
-@@ -11437,6 +11437,7 @@ void RenderFrameHostImpl::TakeNewDocumentPropertiesFromNavigation(
-   early_hints_manager_ = navigation_request->TakeEarlyHintsManager();
+@@ -11500,7 +11500,8 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
  
-   // Only take some properties if this is not the synchronous initial
+ void RenderFrameHostImpl::MaybeGenerateCrashReport(
+     base::TerminationStatus status,
+-    int exit_code) {
++    int exit_code) { // disabled in Bromite
 +#if BUILDFLAG(ENABLE_REPORTING)
-   // `about:blank` navigation, because the values set at construction time
-   // should remain unmodified.
-   if (!navigation_request->IsWaitingToCommit()) {
+   // TODO(1301987): Remove this once the investigation is done.
+   VLOG(0) << "RenderFrameHostImpl::MaybeGenerateCrashReport url = "
+           << last_committed_url_ << ", status = " << status
 @@ -11555,6 +11556,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
        /*type=*/"crash", /*group=*/"default", last_committed_url_,
        GetReportingSource(), isolation_info_.network_isolation_key(),

+ 1 - 14
build/patches/Automated-domain-substitution.patch

@@ -539,7 +539,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../browser/payments/payments_service_url.cc  |   10 +-
  ...roid_chrome_autofill_assistant_strings.grd |    2 +-
  .../autofill_assistant_onboarding_fetcher.cc  |    2 +-
- .../browser/headless/client_headless.cc       |    2 +-
  .../browser/service/server_url_fetcher.cc     |    2 +-
  .../safe_browsing_triggered_popup_blocker.h   |    4 +-
  .../core/breadcrumb_manager_tab_helper.cc     |    2 +-
@@ -1729,7 +1728,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  url/third_party/mozilla/LICENSE.txt           |    4 +-
  ...weblayer_security_blocking_page_factory.cc |    2 +-
  weblayer/shell/app/shell_main_params.cc       |    2 +-
- 1725 files changed, 5259 insertions(+), 5259 deletions(-)
+ 1724 files changed, 5258 insertions(+), 5258 deletions(-)
 
 diff --git a/PRESUBMIT.py b/PRESUBMIT.py
 --- a/PRESUBMIT.py
@@ -12889,18 +12888,6 @@ diff --git a/components/autofill_assistant/browser/autofill_assistant_onboarding
  
  constexpr int kMaxDownloadSizeInBytes = 10 * 1024;
  
-diff --git a/components/autofill_assistant/browser/headless/client_headless.cc b/components/autofill_assistant/browser/headless/client_headless.cc
---- a/components/autofill_assistant/browser/headless/client_headless.cc
-+++ b/components/autofill_assistant/browser/headless/client_headless.cc
-@@ -37,7 +37,7 @@
- 
- namespace autofill_assistant {
- 
--const char kOAuth2Scope[] = "https://www.googleapis.com/auth/userinfo.profile";
-+const char kOAuth2Scope[] = "https://www.9oo91eapis.qjz9zk/auth/userinfo.profile";
- const char kConsumerName[] = "autofill_assistant";
- 
- ClientHeadless::ClientHeadless(
 diff --git a/components/autofill_assistant/browser/service/server_url_fetcher.cc b/components/autofill_assistant/browser/service/server_url_fetcher.cc
 --- a/components/autofill_assistant/browser/service/server_url_fetcher.cc
 +++ b/components/autofill_assistant/browser/service/server_url_fetcher.cc

+ 9 - 126
build/patches/Disable-AGSA-by-default.patch

@@ -5,20 +5,19 @@ Subject: Disable AGSA by default
 License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 ---
  chrome/android/BUILD.gn                       |  3 --
- .../org/chromium/chrome/browser/AppHooks.java |  9 ----
- .../chrome/browser/IntentHandler.java         |  5 --
- .../chrome/browser/app/ChromeActivity.java    | 28 ----------
- .../ChromeContextMenuPopulator.java           |  7 ---
- ...stomTabActivityClientConnectionKeeper.java |  9 ----
- .../init/ProcessInitializationHandler.java    |  8 ---
+ .../org/chromium/chrome/browser/AppHooks.java |  9 ------
+ .../chrome/browser/IntentHandler.java         |  5 ----
+ .../chrome/browser/app/ChromeActivity.java    | 28 -------------------
+ .../ChromeContextMenuPopulator.java           |  7 -----
+ ...stomTabActivityClientConnectionKeeper.java |  9 ------
+ .../init/ProcessInitializationHandler.java    |  8 ------
  .../browser/ntp/search/SearchBoxMediator.java |  1 -
- .../chrome/browser/share/LensUtils.java       | 12 +----
+ .../chrome/browser/share/LensUtils.java       | 12 +-------
  .../flags/android/chrome_feature_list.cc      |  2 +-
  .../browser/flags/CachedFeatureFlags.java     |  2 +-
- chrome/browser/ui/android/omnibox/BUILD.gn    |  2 -
+ chrome/browser/ui/android/omnibox/BUILD.gn    |  2 --
  .../browser/omnibox/LocationBarMediator.java  |  1 -
- .../voice/AssistantVoiceSearchService.java    | 53 +------------------
- 14 files changed, 5 insertions(+), 137 deletions(-)
+ 13 files changed, 3 insertions(+), 86 deletions(-)
 
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 --- a/chrome/android/BUILD.gn
@@ -337,121 +336,5 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
  import org.chromium.chrome.browser.lens.LensController;
  import org.chromium.chrome.browser.lens.LensEntryPoint;
  import org.chromium.chrome.browser.lens.LensIntentParams;
-diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
---- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
-+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/AssistantVoiceSearchService.java
-@@ -24,7 +24,6 @@ import org.chromium.base.SysUtils;
- import org.chromium.base.metrics.RecordHistogram;
- import org.chromium.base.task.AsyncTask;
- import org.chromium.chrome.browser.flags.ChromeFeatureList;
--import org.chromium.chrome.browser.gsa.GSAState;
- import org.chromium.chrome.browser.omnibox.R;
- import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
- import org.chromium.chrome.browser.profiles.Profile;
-@@ -109,7 +108,6 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
-     private final Context mContext;
-     private final ExternalAuthUtils mExternalAuthUtils;
-     private final TemplateUrlService mTemplateUrlService;
--    private final GSAState mGsaState;
-     private final SharedPreferencesManager mSharedPrefsManager;
-     private final IdentityManager mIdentityManager;
-     private final AccountManagerFacade mAccountManagerFacade;
-@@ -123,14 +121,13 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
- 
-     public AssistantVoiceSearchService(@NonNull Context context,
-             @NonNull ExternalAuthUtils externalAuthUtils,
--            @NonNull TemplateUrlService templateUrlService, @NonNull GSAState gsaState,
-+            @NonNull TemplateUrlService templateUrlService,
-             @Nullable Observer observer, @NonNull SharedPreferencesManager sharedPrefsManager,
-             @NonNull IdentityManager identityManager,
-             @NonNull AccountManagerFacade accountManagerFacade) {
-         mContext = context;
-         mExternalAuthUtils = externalAuthUtils;
-         mTemplateUrlService = templateUrlService;
--        mGsaState = gsaState;
-         mSharedPrefsManager = sharedPrefsManager;
-         mObserver = observer;
-         mIdentityManager = identityManager;
-@@ -266,31 +263,11 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
-             boolean returnImmediately, List<Integer> outList) {
-         assert returnImmediately || outList != null;
- 
--        if (!mGsaState.isGsaInstalled()) {
--            if (returnImmediately) return false;
--            outList.add(EligibilityFailureReason.AGSA_NOT_INSTALLED);
--        }
--
--        if (!mGsaState.canAgsaHandleIntent(getAssistantVoiceSearchIntent())) {
--            if (returnImmediately) return false;
--            outList.add(EligibilityFailureReason.AGSA_CANT_HANDLE_INTENT);
--        }
--
--        if (mGsaState.isAgsaVersionBelowMinimum(
--                    mGsaState.getAgsaVersionName(), getAgsaMinVersion())) {
--            if (returnImmediately) return false;
--            outList.add(EligibilityFailureReason.AGSA_VERSION_BELOW_MINIMUM);
--        }
--
-         // AGSA will throw an exception if Chrome isn't Google signed.
-         if (!mExternalAuthUtils.isChromeGoogleSigned()) {
-             if (returnImmediately) return false;
-             outList.add(EligibilityFailureReason.CHROME_NOT_GOOGLE_SIGNED);
-         }
--        if (!mExternalAuthUtils.isGoogleSigned(GSAState.PACKAGE_NAME)) {
--            if (returnImmediately) return false;
--            outList.add(EligibilityFailureReason.AGSA_NOT_GOOGLE_SIGNED);
--        }
- 
-         if (!mIsDefaultSearchEngineGoogle) {
-             if (returnImmediately) return false;
-@@ -317,13 +294,6 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
-         return returnImmediately || outList.size() == 0;
-     }
- 
--    /** @return The Intent for Assistant voice search. */
--    public Intent getAssistantVoiceSearchIntent() {
--        Intent intent = new Intent(Intent.ACTION_SEARCH);
--        intent.setPackage(GSAState.PACKAGE_NAME);
--        return intent;
--    }
--
-     /** Return the current user email or null if no account is present. */
-     public @Nullable String getUserEmail() {
-         CoreAccountInfo info = mIdentityManager.getPrimaryAccountInfo(ConsentLevel.SYNC);
-@@ -352,7 +322,7 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
-     public static void reportStartupUserEligibility(Context context) {
-         AssistantVoiceSearchService service =
-                 new AssistantVoiceSearchService(context, ExternalAuthUtils.getInstance(),
--                        TemplateUrlServiceFactory.get(), GSAState.getInstance(context),
-+                        TemplateUrlServiceFactory.get(), null,
-                         /*observer=*/null, SharedPreferencesManager.getInstance(),
-                         IdentityServicesProvider.get().getIdentityManager(
-                                 Profile.getLastUsedRegularProfile()),
-@@ -372,25 +342,6 @@ public class AssistantVoiceSearchService implements TemplateUrlService.TemplateU
-      *        eligibility on browser startup.
-      */
-     private void reportUserEligibility(String timingSuffix) {
--        List<Integer> failureReasons = new ArrayList<>();
--        boolean eligible = isDeviceEligibleForAssistant(
--                /* returnImmediately= */ false, /* outList */ failureReasons);
--        RecordHistogram.recordBooleanHistogram(USER_ELIGIBILITY_HISTOGRAM + timingSuffix, eligible);
--
--        // See notes in {@link GSAState#parseAgsaMajorMinorVersionAsInteger} for details about this
--        // number.
--        Integer versionNumber =
--                mGsaState.parseAgsaMajorMinorVersionAsInteger(mGsaState.getAgsaVersionName());
--        if (versionNumber != null) {
--            RecordHistogram.recordSparseHistogram(
--                    AGSA_VERSION_HISTOGRAM + timingSuffix, (int) versionNumber);
--        }
--
--        for (@EligibilityFailureReason int reason : failureReasons) {
--            RecordHistogram.recordEnumeratedHistogram(
--                    USER_ELIGIBILITY_FAILURE_REASON_HISTOGRAM + timingSuffix, reason,
--                    EligibilityFailureReason.NUM_ENTRIES);
--        }
-     }
- 
-     private void updateColorfulMicState() {
 --
 2.25.1

+ 4 - 4
build/patches/Disable-FLoC-and-privacy-sandbox.patch

@@ -38,15 +38,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
-@@ -61,7 +61,6 @@ public class PrivacySettings
-     private static final String PREF_SECURE_DNS = "secure_dns";
+@@ -65,7 +65,6 @@ public class PrivacySettings
      private static final String PREF_DO_NOT_TRACK = "do_not_track";
+     private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
      private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
 -    private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
      private static final String PREF_PROXY_OPTIONS = "proxy";
      private static final String PREF_PRIVACY_REVIEW = "privacy_review";
      private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
-@@ -91,21 +90,6 @@ public class PrivacySettings
+@@ -95,21 +94,6 @@ public class PrivacySettings
          SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
          getActivity().setTitle(R.string.prefs_privacy_security);
  
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
          if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
              getPreferenceScreen().removePreference(privacyReviewPreference);
-@@ -233,12 +217,6 @@ public class PrivacySettings
+@@ -264,12 +248,6 @@ public class PrivacySettings
              secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
          }
  

+ 1 - 1
build/patches/Disable-media-router-and-remoting-by-default.patch

@@ -66,7 +66,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
 diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
 --- a/chrome/browser/profiles/profile_impl.cc
 +++ b/chrome/browser/profiles/profile_impl.cc
-@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
+@@ -409,7 +409,7 @@ void ProfileImpl::RegisterProfilePrefs(
  #endif
  
    registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

+ 1 - 1
build/patches/Disable-safety-check.patch

@@ -109,7 +109,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
-@@ -3327,7 +3327,6 @@ static_library("browser") {
+@@ -3283,7 +3283,6 @@ static_library("browser") {
        "//chrome/browser/privacy_sandbox/android:jni_headers",
        "//chrome/browser/reading_list/android",
        "//chrome/browser/safe_browsing/android:safe_browsing_enums",

+ 15 - 14
build/patches/Enable-native-Android-autofill.patch

@@ -17,8 +17,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 ---
  android_webview/browser/aw_contents.cc        |  2 +-
  chrome/android/BUILD.gn                       |  1 +
- .../settings/PasswordSettings.java            | 81 ++++++++++++++++++-
- .../chromium/chrome/browser/tab/TabImpl.java  | 50 ++++++++++++
+ .../settings/PasswordSettings.java            | 82 ++++++++++++++++++-
+ .../chromium/chrome/browser/tab/TabImpl.java  | 50 +++++++++++
  .../browser/tab/TabViewAndroidDelegate.java   | 14 ++++
  chrome/browser/BUILD.gn                       |  8 ++
  chrome/browser/android/tab_android.cc         | 23 ++++++
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../browser/android_autofill_manager.cc       |  2 +-
  .../browser/android_autofill_manager.h        | 10 +--
  .../browser/content_autofill_driver.cc        | 29 +++++++
- .../content/browser/content_autofill_driver.h |  9 ++-
+ .../content/browser/content_autofill_driver.h |  9 +-
  .../content_autofill_driver_factory.cc        |  7 +-
  .../browser/content_autofill_driver_factory.h |  1 +
  .../renderer/password_autofill_agent.cc       |  5 +-
@@ -37,7 +37,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  .../autofill/core/common/autofill_prefs.h     |  2 +
  .../embedder_support/view/ContentView.java    | 46 +++++++++++
  .../chromium/ui/base/ViewAndroidDelegate.java |  8 ++
- 22 files changed, 310 insertions(+), 13 deletions(-)
+ 22 files changed, 311 insertions(+), 13 deletions(-)
 
 diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
 --- a/android_webview/browser/aw_contents.cc
@@ -54,7 +54,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 --- a/chrome/android/BUILD.gn
 +++ b/chrome/android/BUILD.gn
-@@ -459,6 +459,7 @@ android_library("chrome_java") {
+@@ -464,6 +464,7 @@ android_library("chrome_java") {
      "//components/autofill_assistant/android:public_dependencies_java",
      "//components/autofill_assistant/android:public_java",
      "//components/autofill_assistant/browser:proto_java",
@@ -65,7 +65,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 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
 --- 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
-@@ -55,13 +55,18 @@ import java.lang.annotation.Retention;
+@@ -57,13 +57,19 @@ import java.lang.annotation.Retention;
  import java.lang.annotation.RetentionPolicy;
  import java.util.Locale;
  
@@ -80,12 +80,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
   */
  public class PasswordSettings extends PreferenceFragmentCompat
          implements PasswordManagerHandler.PasswordListObserver,
--                   Preference.OnPreferenceClickListener {
-+                   Preference.OnPreferenceClickListener, INeedSnackbarManager {
+-                   Preference.OnPreferenceClickListener, SyncService.SyncStateChangedListener {
++                   Preference.OnPreferenceClickListener, SyncService.SyncStateChangedListener,
++                   INeedSnackbarManager {
      @IntDef({TrustedVaultBannerState.NOT_SHOWN, TrustedVaultBannerState.OFFER_OPT_IN,
              TrustedVaultBannerState.OPTED_IN})
      @Retention(RetentionPolicy.SOURCE)
-@@ -90,6 +95,12 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -92,6 +98,12 @@ public class PasswordSettings extends PreferenceFragmentCompat
      public static final String PASSWORD_EXPORT_EVENT_HISTOGRAM =
              "PasswordManager.PasswordExport.Event";
  
@@ -98,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
      private static final String PREF_KEY_CATEGORY_SAVED_PASSWORDS = "saved_passwords";
      private static final String PREF_KEY_CATEGORY_EXCEPTIONS = "exceptions";
      private static final String PREF_KEY_SAVED_PASSWORDS_NO_TEXT = "saved_passwords_no_text";
-@@ -119,6 +130,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -121,6 +133,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
      private String mSearchQuery;
      private Preference mLinkPref;
      private ChromeSwitchPreference mSavePasswordsSwitch;
@@ -107,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
      private ChromeSwitchPreference mAutoSignInSwitch;
      private ChromeBasePreference mCheckPasswords;
      private ChromeBasePreference mTrustedVaultBanner;
-@@ -293,6 +306,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -299,6 +313,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
          }
  
          createSavePasswordsSwitch();
@@ -115,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
          createAutoSignInCheckbox();
          if (mPasswordCheck != null) {
              createCheckPasswords();
-@@ -530,6 +544,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -539,6 +554,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
                  getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
      }
  
@@ -313,7 +314,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -2376,6 +2376,14 @@ static_library("browser") {
+@@ -2433,6 +2433,14 @@ static_library("browser") {
      "//ui/web_dialogs",
      "//ui/webui",
    ]
@@ -393,7 +394,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom
 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
-@@ -602,6 +602,12 @@ CHAR_LIMIT guidelines:
+@@ -620,6 +620,12 @@ CHAR_LIMIT guidelines:
        <message name="IDS_PASSWORD_SETTINGS_SAVE_PASSWORDS" desc="Title for the checkbox toggling whether passwords are saved or not. [CHAR_LIMIT=32]">
          Save passwords
        </message>

+ 1 - 1
build/patches/Experimental-user-scripts-support.patch

@@ -327,7 +327,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
-@@ -3468,6 +3468,11 @@ static_library("browser") {
+@@ -3424,6 +3424,11 @@ static_library("browser") {
        ]
        deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
      }

+ 9 - 9
build/patches/History-number-of-days-privacy-setting.patch

@@ -49,15 +49,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
-@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
- import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
+@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
+ import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
  import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
  import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 +import org.chromium.components.browser_ui.settings.SpinnerPreference;
  import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
  import org.chromium.components.browser_ui.settings.SettingsLauncher;
  import org.chromium.components.browser_ui.settings.SettingsUtils;
-@@ -50,6 +51,9 @@ import androidx.preference.PreferenceCategory;
+@@ -53,6 +54,9 @@ import androidx.preference.PreferenceCategory;
  import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
  import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
  
@@ -67,7 +67,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.
   */
-@@ -83,6 +87,8 @@ public class PrivacySettings
+@@ -87,6 +91,8 @@ public class PrivacySettings
      private ChromeSwitchPreference allowCustomTabIntentsPref;
      private ChromeSwitchPreference openExternalLinksPref;
  
@@ -76,9 +76,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      @Override
      public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
          PrivacyPreferencesManagerImpl privacyPrefManager =
-@@ -132,6 +138,40 @@ public class PrivacySettings
-         Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
-         secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
+@@ -139,6 +145,40 @@ public class PrivacySettings
+         Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
+         syncAndServicesLink.setSummary(buildSyncAndServicesLink());
  
 +        // set up history expire days threshold preference
 +        List<TimeFrequencySpinnerOption> options = new ArrayList<>();
@@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          updatePreferences();
      }
  
-@@ -231,6 +271,29 @@ public class PrivacySettings
+@@ -262,6 +302,29 @@ public class PrivacySettings
          };
      }
  
@@ -184,7 +184,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
 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
-@@ -1089,6 +1089,18 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1107,6 +1107,18 @@ Your Google account may have other forms of browsing history like searches and a
        <message name="IDS_CLEAR_HISTORY_TITLE" desc="Title for Clear History in Clear Browsing Data dialog">
          Browsing history
        </message>

+ 6 - 6
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
-@@ -45,6 +45,12 @@ import org.chromium.components.user_prefs.UserPrefs;
+@@ -48,6 +48,12 @@ import org.chromium.components.user_prefs.UserPrefs;
  import org.chromium.ui.text.NoUnderlineClickableSpan;
  import org.chromium.ui.text.SpanApplier;
  
@@ -50,7 +50,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.
   */
-@@ -63,6 +69,16 @@ public class PrivacySettings
+@@ -67,6 +73,16 @@ public class PrivacySettings
  
      private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
  
@@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private ManagedPreferenceDelegate mManagedPreferenceDelegate;
      private IncognitoLockSettings mIncognitoLockSettings;
      private ViewGroup mDialogContainer;
-@@ -112,6 +128,16 @@ public class PrivacySettings
+@@ -116,6 +132,16 @@ public class PrivacySettings
  
          mManagedPreferenceDelegate = createManagedPreferenceDelegate();
  
@@ -84,7 +84,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);
-@@ -144,6 +170,9 @@ public class PrivacySettings
+@@ -175,6 +201,9 @@ public class PrivacySettings
          } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
              UserPrefs.get(Profile.getLastUsedRegularProfile())
                      .setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -94,7 +94,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          }
          return true;
      }
-@@ -158,7 +187,7 @@ public class PrivacySettings
+@@ -189,7 +218,7 @@ public class PrivacySettings
       * Updates the preferences.
       */
      public void updatePreferences() {
@@ -106,7 +106,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
-@@ -445,6 +445,10 @@ CHAR_LIMIT guidelines:
+@@ -463,6 +463,10 @@ CHAR_LIMIT guidelines:
          No statistics or crash reports are sent to Google
        </message>
  

+ 1 - 1
build/patches/Multiple-fingerprinting-mitigations.patch

@@ -57,7 +57,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
-@@ -2303,6 +2303,7 @@ static_library("browser") {
+@@ -2360,6 +2360,7 @@ static_library("browser") {
      "//services/device/public/cpp:device_features",
      "//services/device/public/cpp/serial:switches",
      "//services/device/public/cpp/usb",

+ 1 - 1
build/patches/Offer-builtin-autocomplete-for-chrome-flags.patch

@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
 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
-@@ -271,6 +271,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
+@@ -267,6 +267,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
  std::vector<std::u16string>
  ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
    std::vector<std::u16string> builtins_to_provide;

+ 6 - 437
build/patches/Remove-binary-blob-integrations.patch

@@ -62,9 +62,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  chrome/test/android/BUILD.gn                  |   2 -
  components/background_task_scheduler/BUILD.gn |   5 -
  .../internal/BUILD.gn                         |  10 -
- .../BackgroundTaskGcmTaskService.java         | 160 ------
  ...ackgroundTaskSchedulerFactoryInternal.java |   6 +-
- ...kgroundTaskSchedulerGcmNetworkManager.java | 257 ---------
  .../component_updater/UpdateScheduler.java    |   1 -
  components/externalauth/android/BUILD.gn      |   3 -
  .../externalauth/ExternalAuthUtils.java       |  19 +-
@@ -111,9 +109,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  third_party/android_deps/BUILD.gn             | 540 +-----------------
  .../preconditions/javatests/BUILD.gn          |   1 -
  .../gms/ChromiumPlayServicesAvailability.java |  10 +-
- 87 files changed, 83 insertions(+), 2416 deletions(-)
- delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
- delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
+ 85 files changed, 83 insertions(+), 1999 deletions(-)
 
 diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
 --- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -886,7 +882,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
 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
 --- 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
-@@ -139,7 +139,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -140,7 +140,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
      private boolean mSearchRecorded;
      private Menu mMenu;
  
@@ -894,7 +890,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
      private @ManagePasswordsReferrer int mManagePasswordsReferrer;
  
      /**
-@@ -202,7 +201,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -203,7 +202,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
@@ -902,7 +898,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
          computeTrustedVaultBannerState();
      }
  
-@@ -308,9 +306,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -309,9 +307,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
          createSavePasswordsSwitch();
          createEnableAndroidAutofillSwitch();
          createAutoSignInCheckbox();
@@ -912,7 +908,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
  
          if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) {
              createTrustedVaultBanner(R.string.android_trusted_vault_banner_sub_label_opted_in,
-@@ -485,10 +480,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
+@@ -486,10 +481,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
          // by the system.
          if (getActivity().isFinishing()) {
              PasswordManagerHandlerProvider.getInstance().removeObserver(this);
@@ -946,7 +942,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/
 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
 --- a/chrome/browser/BUILD.gn
 +++ b/chrome/browser/BUILD.gn
-@@ -6830,8 +6830,6 @@ static_library("browser") {
+@@ -6786,8 +6786,6 @@ static_library("browser") {
        "offline_pages/offliner_helper.h",
        "offline_pages/offliner_user_data.cc",
        "offline_pages/offliner_user_data.h",
@@ -1435,171 +1431,6 @@ diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components
        "//base:base_java_test_support",
        "//build/android:build_java",
        "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
-diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
-deleted file mode 100644
---- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
-+++ /dev/null
-@@ -1,160 +0,0 @@
--// Copyright 2017 The Chromium Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style license that can be
--// found in the LICENSE file.
--
--package org.chromium.components.background_task_scheduler.internal;
--
--import android.os.Build;
--
--import androidx.annotation.VisibleForTesting;
--
--import com.google.android.gms.gcm.GcmNetworkManager;
--import com.google.android.gms.gcm.GcmTaskService;
--import com.google.android.gms.gcm.TaskParams;
--
--import org.chromium.base.ContextUtils;
--import org.chromium.base.Log;
--import org.chromium.base.ThreadUtils;
--import org.chromium.components.background_task_scheduler.BackgroundTask;
--import org.chromium.components.background_task_scheduler.TaskParameters;
--
--import java.util.concurrent.CountDownLatch;
--import java.util.concurrent.TimeUnit;
--import java.util.concurrent.atomic.AtomicBoolean;
--
--/** Delegates calls out to various tasks that need to run in the background. */
--public class BackgroundTaskGcmTaskService extends GcmTaskService {
--    private static final String TAG = "BkgrdTaskGcmTS";
--
--    private BackgroundTaskSchedulerGcmNetworkManager.Clock mClock = System::currentTimeMillis;
--
--    @VisibleForTesting
--    void setClockForTesting(BackgroundTaskSchedulerGcmNetworkManager.Clock clock) {
--        mClock = clock;
--    }
--
--    /** Class that waits for the processing to be done. */
--    private static class Waiter {
--        // Wakelock is only held for 3 minutes by default for GcmTaskService.
--        private static final long MAX_TIMEOUT_SECONDS = 179;
--        private final CountDownLatch mLatch;
--        private long mWaiterTimeoutSeconds;
--        private boolean mIsRescheduleNeeded;
--        private boolean mHasTaskTimedOut;
--
--        public Waiter(long waiterTimeoutSeconds) {
--            mLatch = new CountDownLatch(1);
--            mWaiterTimeoutSeconds = Math.min(waiterTimeoutSeconds, MAX_TIMEOUT_SECONDS);
--        }
--
--        /** Start waiting for the processing to finish. */
--        public void startWaiting() {
--            try {
--                mHasTaskTimedOut = !mLatch.await(mWaiterTimeoutSeconds, TimeUnit.SECONDS);
--            } catch (InterruptedException e) {
--                Log.d(TAG, "Waiter interrupted while waiting.");
--            }
--        }
--
--        /** Called to finish waiting. */
--        public void onWaitDone(boolean needsRescheduling) {
--            mIsRescheduleNeeded = needsRescheduling;
--            mLatch.countDown();
--        }
--
--        /** @return Whether last task timed out. */
--        public boolean hasTaskTimedOut() {
--            return mHasTaskTimedOut;
--        }
--
--        /** @return Whether task needs to be rescheduled. */
--        public boolean isRescheduleNeeded() {
--            return mIsRescheduleNeeded;
--        }
--    }
--
--    private static class TaskFinishedCallbackGcmTaskService
--            implements BackgroundTask.TaskFinishedCallback {
--        private final Waiter mWaiter;
--
--        public TaskFinishedCallbackGcmTaskService(Waiter waiter) {
--            mWaiter = waiter;
--        }
--
--        @Override
--        public void taskFinished(final boolean needsReschedule) {
--            ThreadUtils.runOnUiThreadBlocking(new Runnable() {
--                @Override
--                public void run() {
--                    mWaiter.onWaitDone(needsReschedule);
--                }
--            });
--        }
--    }
--
--    @Override
--    public int onRunTask(TaskParams params) {
--        final TaskParameters taskParams =
--                BackgroundTaskSchedulerGcmNetworkManager.getTaskParametersFromTaskParams(params);
--
--        final BackgroundTask backgroundTask =
--                BackgroundTaskSchedulerFactoryInternal.getBackgroundTaskFromTaskId(
--                        taskParams.getTaskId());
--        if (backgroundTask == null) {
--            Log.w(TAG, "Failed to start task. Could not instantiate BackgroundTask class.");
--            // Cancel task if the BackgroundTask class is not found anymore. We assume this means
--            // that the task has been deprecated.
--            BackgroundTaskSchedulerFactoryInternal.getScheduler().cancel(
--                    ContextUtils.getApplicationContext(), taskParams.getTaskId());
--            return GcmNetworkManager.RESULT_FAILURE;
--        }
--
--        if (BackgroundTaskSchedulerGcmNetworkManager.didTaskExpire(
--                    params, mClock.currentTimeMillis())) {
--            BackgroundTaskSchedulerUma.getInstance().reportTaskExpired(taskParams.getTaskId());
--            return GcmNetworkManager.RESULT_FAILURE;
--        }
--
--        final Waiter waiter = new Waiter(Waiter.MAX_TIMEOUT_SECONDS);
--
--        final AtomicBoolean taskNeedsBackgroundProcessing = new AtomicBoolean();
--        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
--            @Override
--            public void run() {
--                BackgroundTaskSchedulerUma.getInstance().reportTaskStarted(taskParams.getTaskId());
--                taskNeedsBackgroundProcessing.set(
--                        backgroundTask.onStartTask(ContextUtils.getApplicationContext(), taskParams,
--                                new TaskFinishedCallbackGcmTaskService(waiter)));
--            }
--        });
--
--        if (!taskNeedsBackgroundProcessing.get()) return GcmNetworkManager.RESULT_SUCCESS;
--
--        waiter.startWaiting();
--
--        if (waiter.isRescheduleNeeded()) return GcmNetworkManager.RESULT_RESCHEDULE;
--        if (!waiter.hasTaskTimedOut()) return GcmNetworkManager.RESULT_SUCCESS;
--
--        final AtomicBoolean taskNeedsRescheduling = new AtomicBoolean();
--        ThreadUtils.runOnUiThreadBlocking(new Runnable() {
--            @Override
--            public void run() {
--                BackgroundTaskSchedulerUma.getInstance().reportTaskStopped(taskParams.getTaskId());
--                taskNeedsRescheduling.set(backgroundTask.onStopTask(
--                        ContextUtils.getApplicationContext(), taskParams));
--            }
--        });
--
--        if (taskNeedsRescheduling.get()) return GcmNetworkManager.RESULT_RESCHEDULE;
--
--        return GcmNetworkManager.RESULT_SUCCESS;
--    }
--
--    @Override
--    public void onInitializeTasks() {
--        // Ignore the event on OSs supporting JobScheduler.
--        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
--        BackgroundTaskSchedulerFactoryInternal.getScheduler().reschedule(
--                ContextUtils.getApplicationContext());
--    }
--}
 diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
 --- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
 +++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
@@ -1616,268 +1447,6 @@ diff --git a/components/background_task_scheduler/internal/android/java/src/org/
      }
  
      /**
-diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
-deleted file mode 100644
---- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
-+++ /dev/null
-@@ -1,257 +0,0 @@
--// Copyright 2017 The Chromium Authors. All rights reserved.
--// Use of this source code is governed by a BSD-style license that can be
--// found in the LICENSE file.
--
--package org.chromium.components.background_task_scheduler.internal;
--
--import android.content.Context;
--import android.os.Bundle;
--
--import androidx.annotation.NonNull;
--import androidx.annotation.VisibleForTesting;
--
--import com.google.android.gms.gcm.GcmNetworkManager;
--import com.google.android.gms.gcm.OneoffTask;
--import com.google.android.gms.gcm.PeriodicTask;
--import com.google.android.gms.gcm.Task;
--import com.google.android.gms.gcm.TaskParams;
--
--import org.chromium.base.Log;
--import org.chromium.base.ThreadUtils;
--import org.chromium.components.background_task_scheduler.TaskInfo;
--import org.chromium.components.background_task_scheduler.TaskParameters;
--import org.chromium.gms.ChromiumPlayServicesAvailability;
--
--import java.util.concurrent.TimeUnit;
--
--/**
-- * An implementation of {@link BackgroundTaskSchedulerDelegate} that uses the Play Services
-- * {@link GcmNetworkManager} to schedule jobs.
-- */
--class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedulerDelegate {
--    private static final String TAG = "BkgrdTaskSchedGcmNM";
--
--    /** Delta time for expiration checks, after the end time. */
--    static final long DEADLINE_DELTA_MS = 1000;
--
--    /** Clock to use so we can mock time in tests. */
--    public interface Clock { long currentTimeMillis(); }
--
--    private static Clock sClock = System::currentTimeMillis;
--
--    @VisibleForTesting
--    static void setClockForTesting(Clock clock) {
--        sClock = clock;
--    }
--
--    /**
--     * Checks if a task expired, based on the current time of the service.
--     *
--     * @param taskParams parameters sent to the service, which contain the scheduling information
--     * regarding expiration.
--     * @param currentTimeMs the current time of the service.
--     * @return true if the task expired and false otherwise.
--     */
--    static boolean didTaskExpire(TaskParams taskParams, long currentTimeMs) {
--        Bundle extras = taskParams.getExtras();
--        if (extras == null || !extras.containsKey(BACKGROUND_TASK_SCHEDULE_TIME_KEY)) {
--            return false;
--        }
--
--        long scheduleTimeMs = extras.getLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY);
--        if (extras.containsKey(BACKGROUND_TASK_END_TIME_KEY)) {
--            long endTimeMs =
--                    extras.getLong(BackgroundTaskSchedulerDelegate.BACKGROUND_TASK_END_TIME_KEY);
--            return TaskInfo.OneOffInfo.getExpirationStatus(
--                    scheduleTimeMs, endTimeMs, currentTimeMs);
--        } else {
--            long intervalTimeMs = extras.getLong(BACKGROUND_TASK_INTERVAL_TIME_KEY);
--
--            // If flex is never set, it is given a default value of 10% of the period time, as
--            // per the GcmNetworkManager behaviour. This default value is set in
--            // https://developers.google.com/android/reference/com/google/android/gms/gcm/PeriodicTask.
--            double defaultFlexAsFractionOfInterval = 0.1f;
--
--            long flexTimeMs = extras.getLong(BACKGROUND_TASK_FLEX_TIME_KEY,
--                    /*defaultValue=*/(long) (defaultFlexAsFractionOfInterval * intervalTimeMs));
--
--            return TaskInfo.PeriodicInfo.getExpirationStatus(
--                    scheduleTimeMs, intervalTimeMs, flexTimeMs, currentTimeMs);
--        }
--    }
--
--    /**
--     * Retrieves the {@link TaskParameters} from the {@link TaskParams}, which are passed as
--     * one of the keys. Only values valid for {@link android.os.BaseBundle} are supported, and other
--     * values are stripped at the time when the task is scheduled.
--     *
--     * @param taskParams the {@link TaskParams} to extract the {@link TaskParameters} from.
--     * @return the {@link TaskParameters} for the current job.
--     */
--    static TaskParameters getTaskParametersFromTaskParams(@NonNull TaskParams taskParams) {
--        int taskId;
--        try {
--            taskId = Integer.parseInt(taskParams.getTag());
--        } catch (NumberFormatException e) {
--            Log.e(TAG, "Cound not parse task ID from task tag: " + taskParams.getTag());
--            return null;
--        }
--
--        TaskParameters.Builder builder = TaskParameters.create(taskId);
--
--        Bundle extras = taskParams.getExtras();
--        Bundle taskExtras = extras.getBundle(BACKGROUND_TASK_EXTRAS_KEY);
--        builder.addExtras(taskExtras);
--
--        return builder.build();
--    }
--
--    @VisibleForTesting
--    static Task createTaskFromTaskInfo(@NonNull TaskInfo taskInfo) {
--        Bundle taskExtras = new Bundle();
--        taskExtras.putBundle(BACKGROUND_TASK_EXTRAS_KEY, taskInfo.getExtras());
--
--        TaskBuilderVisitor taskBuilderVisitor = new TaskBuilderVisitor(taskExtras);
--        taskInfo.getTimingInfo().accept(taskBuilderVisitor);
--        Task.Builder builder = taskBuilderVisitor.getBuilder();
--
--        builder.setPersisted(taskInfo.isPersisted())
--                .setRequiredNetwork(getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
--                        taskInfo.getRequiredNetworkType()))
--                .setRequiresCharging(taskInfo.requiresCharging())
--                .setService(BackgroundTaskGcmTaskService.class)
--                .setTag(taskIdToTaskTag(taskInfo.getTaskId()))
--                .setUpdateCurrent(taskInfo.shouldUpdateCurrent());
--
--        return builder.build();
--    }
--
--    private static class TaskBuilderVisitor implements TaskInfo.TimingInfoVisitor {
--        private Task.Builder mBuilder;
--        private final Bundle mTaskExtras;
--
--        TaskBuilderVisitor(Bundle taskExtras) {
--            mTaskExtras = taskExtras;
--        }
--
--        // Only valid after a TimingInfo object was visited.
--        Task.Builder getBuilder() {
--            return mBuilder;
--        }
--
--        @Override
--        public void visit(TaskInfo.OneOffInfo oneOffInfo) {
--            if (oneOffInfo.expiresAfterWindowEndTime()) {
--                mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());
--                mTaskExtras.putLong(BACKGROUND_TASK_END_TIME_KEY, oneOffInfo.getWindowEndTimeMs());
--            }
--
--            OneoffTask.Builder builder = new OneoffTask.Builder();
--            long windowStartSeconds = oneOffInfo.hasWindowStartTimeConstraint()
--                    ? TimeUnit.MILLISECONDS.toSeconds(oneOffInfo.getWindowStartTimeMs())
--                    : 0;
--            long windowEndTimeMs = oneOffInfo.getWindowEndTimeMs();
--            if (oneOffInfo.expiresAfterWindowEndTime()) {
--                windowEndTimeMs += DEADLINE_DELTA_MS;
--            }
--            builder.setExecutionWindow(
--                    windowStartSeconds, TimeUnit.MILLISECONDS.toSeconds(windowEndTimeMs));
--            builder.setExtras(mTaskExtras);
--            mBuilder = builder;
--        }
--
--        @Override
--        public void visit(TaskInfo.PeriodicInfo periodicInfo) {
--            if (periodicInfo.expiresAfterWindowEndTime()) {
--                mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());
--                mTaskExtras.putLong(
--                        BACKGROUND_TASK_INTERVAL_TIME_KEY, periodicInfo.getIntervalMs());
--                if (periodicInfo.hasFlex()) {
--                    mTaskExtras.putLong(BACKGROUND_TASK_FLEX_TIME_KEY, periodicInfo.getFlexMs());
--                }
--            }
--
--            PeriodicTask.Builder builder = new PeriodicTask.Builder();
--            builder.setPeriod(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getIntervalMs()));
--            if (periodicInfo.hasFlex()) {
--                builder.setFlex(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getFlexMs()));
--            }
--            builder.setExtras(mTaskExtras);
--            mBuilder = builder;
--        }
--
--        @Override
--        public void visit(TaskInfo.ExactInfo exactInfo) {
--            throw new RuntimeException("Exact tasks should not be scheduled with "
--                    + "GcmNetworkManager.");
--        }
--    }
--
--    private static int getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
--            @TaskInfo.NetworkType int networkType) {
--        switch (networkType) {
--            // This is correct: GcmNM ANY means no network is guaranteed.
--            case TaskInfo.NetworkType.NONE:
--                return Task.NETWORK_STATE_ANY;
--            case TaskInfo.NetworkType.ANY:
--                return Task.NETWORK_STATE_CONNECTED;
--            case TaskInfo.NetworkType.UNMETERED:
--                return Task.NETWORK_STATE_UNMETERED;
--            default:
--                assert false;
--        }
--        return Task.NETWORK_STATE_ANY;
--    }
--
--    @Override
--    public boolean schedule(Context context, @NonNull TaskInfo taskInfo) {
--        ThreadUtils.assertOnUiThread();
--
--        GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
--        if (gcmNetworkManager == null) {
--            Log.e(TAG, "GcmNetworkManager is not available.");
--            return false;
--        }
--
--        try {
--            Task task = createTaskFromTaskInfo(taskInfo);
--            gcmNetworkManager.schedule(task);
--        } catch (IllegalArgumentException e) {
--            String gcmErrorMessage = e.getMessage() == null ? "null." : e.getMessage();
--            Log.e(TAG,
--                    "GcmNetworkManager failed to schedule task, gcm message: " + gcmErrorMessage);
--            return false;
--        }
--
--        return true;
--    }
--
--    @Override
--    public void cancel(Context context, int taskId) {
--        ThreadUtils.assertOnUiThread();
--
--        GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
--        if (gcmNetworkManager == null) {
--            Log.e(TAG, "GcmNetworkManager is not available.");
--            return;
--        }
--
--        try {
--            gcmNetworkManager.cancelTask(
--                    taskIdToTaskTag(taskId), BackgroundTaskGcmTaskService.class);
--        } catch (IllegalArgumentException e) {
--            Log.e(TAG, "GcmNetworkManager failed to cancel task.");
--        }
--    }
--
--    private GcmNetworkManager getGcmNetworkManager(Context context) {
--        if (ChromiumPlayServicesAvailability.isGooglePlayServicesAvailable(context)) {
--            return GcmNetworkManager.getInstance(context);
--        }
--        return null;
--    }
--
--    private static String taskIdToTaskTag(int taskId) {
--        return Integer.toString(taskId);
--    }
--}
 diff --git a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
 --- a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
 +++ b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java

+ 27 - 27
build/patches/Remove-contextual-search-manager.patch

@@ -94,7 +94,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 --- a/chrome/android/BUILD.gn
 +++ b/chrome/android/BUILD.gn
-@@ -488,7 +488,6 @@ android_library("chrome_java") {
+@@ -493,7 +493,6 @@ android_library("chrome_java") {
      "//components/content_capture/android:java",
      "//components/content_settings/android:content_settings_enums_java",
      "//components/content_settings/android:java",
@@ -102,7 +102,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//components/crash/android:java",
      "//components/dom_distiller/content/browser/android:dom_distiller_content_java",
      "//components/dom_distiller/core/android:dom_distiller_core_java",
-@@ -653,10 +652,8 @@ android_library("chrome_java") {
+@@ -659,10 +658,8 @@ android_library("chrome_java") {
      ":chrome_strict_mode_switch",
      ":resource_id_javagen",
      ":vr_build_config",
@@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
      "//chrome:supervised_user_url_filter_enum_javagen",
      "//chrome/browser:screenshot_mode_enum",
      "//chrome/browser:sharing_dialog_type_generated_enum",
-@@ -3849,17 +3846,12 @@ generate_jni("chrome_jni_headers") {
+@@ -3869,17 +3866,12 @@ generate_jni("chrome_jni_headers") {
      "java/src/org/chromium/chrome/browser/compositor/LayerTitleCache.java",
      "java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java",
      "java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java",
@@ -820,7 +820,7 @@ deleted file mode 100644
 diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
 --- a/chrome/android/java/res/xml/google_services_preferences.xml
 +++ b/chrome/android/java/res/xml/google_services_preferences.xml
-@@ -40,8 +40,4 @@
+@@ -45,8 +45,4 @@
          android:summary="@string/prefs_autofill_assistant_summary"
          android:fragment="org.chromium.chrome.browser.autofill_assistant.AutofillAssistantPreferenceFragment"
          app:isPreferenceVisible="false"/>
@@ -846,7 +846,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
-@@ -1649,7 +1649,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
+@@ -1657,7 +1657,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
      protected RootUiCoordinator createRootUiCoordinator() {
          return new TabbedRootUiCoordinator(this, this::onOmniboxFocusChanged,
                  getShareDelegateSupplier(), getActivityTabProvider(), mTabModelProfileSupplier,
@@ -855,7 +855,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
                  getTabModelSelectorSupplier(), mStartSurfaceSupplier,
                  mIntentMetadataOneshotSupplier, mLayoutStateProviderSupplier,
                  mStartSurfaceParentTabSupplier, getBrowserControlsManager(), getWindowAndroid(),
-@@ -2682,7 +2682,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
+@@ -2701,7 +2701,7 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
          // TODO(crbug.com/1157310): Transition this::method refs to dedicated suppliers.
          mTabModalHandler = new TabModalLifetimeHandler(this, getLifecycleDispatcher(), manager,
                  this::getAppBrowserControlsVisibilityDelegate, this::getTabObscuringHandler,
@@ -877,7 +877,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
  import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
  import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
  import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
-@@ -258,7 +255,7 @@ import java.util.function.Consumer;
+@@ -262,7 +259,7 @@ import java.util.function.Consumer;
   */
  public abstract class ChromeActivity<C extends ChromeActivityComponent>
          extends AsyncInitializationActivity
@@ -886,7 +886,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
                     SnackbarManageable, SceneChangeObserver,
                     StatusBarColorController.StatusBarColorProvider, AppMenuDelegate, AppMenuBlocker,
                     MenuOrKeyboardActionController, CompositorViewHolder.Initializer,
-@@ -320,8 +317,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -327,8 +324,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
              new ObservableSupplierImpl<>();
      protected final UnownedUserDataSupplier<InsetObserverView> mInsetObserverViewSupplier =
              new InsetObserverViewSupplier();
@@ -895,7 +895,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
  
      private SnackbarManager mSnackbarManager;
  
-@@ -510,7 +505,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -517,7 +512,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
          // clang-format off
          return new RootUiCoordinator(this, null, getShareDelegateSupplier(),
                  getActivityTabProvider(), mTabModelProfileSupplier, mBookmarkBridgeSupplier,
@@ -904,7 +904,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
                  new OneshotSupplierImpl<>(), new OneshotSupplierImpl<>(),
                  new OneshotSupplierImpl<>(),
                  () -> null, mBrowserControlsManagerSupplier.get(), getWindowAndroid(),
-@@ -943,14 +938,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -950,14 +945,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
          mCompositorViewHolderSupplier.get().onNativeLibraryReady(
                  getWindowAndroid(), getTabContentManager());
  
@@ -919,7 +919,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
          TraceEvent.end("ChromeActivity:CompositorInitialization");
      }
  
-@@ -1430,11 +1417,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -1506,11 +1493,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
      @SuppressLint("NewApi")
      @Override
      protected final void onDestroy() {
@@ -931,7 +931,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
          if (mSnackbarManager != null) {
              SnackbarManagerProvider.detach(mSnackbarManager);
          }
-@@ -2033,13 +2015,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -2109,13 +2091,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
          return mCompositorViewHolderSupplier.get();
      }
  
@@ -945,7 +945,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
      /**
       * Exits the fullscreen mode, if any. Does nothing if no fullscreen is present.
       * @return Whether the fullscreen mode is currently showing.
-@@ -2082,15 +2057,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -2158,15 +2133,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
          }
  
          mActivityTabProvider.setLayoutStateProvider(layoutManager);
@@ -961,7 +961,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
      }
  
      /**
-@@ -2331,18 +2297,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -2407,18 +2373,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
          return webContents != null ? SelectionPopupController.fromWebContents(webContents) : null;
      }
  
@@ -1056,7 +1056,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/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
-@@ -188,12 +188,6 @@ public class CustomTabActivity extends BaseCustomTabActivity {
+@@ -191,12 +191,6 @@ public class CustomTabActivity extends BaseCustomTabActivity {
                  mIntentDataProvider.getSession(), webContents);
      }
  
@@ -1167,7 +1167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Tab
 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
-@@ -47,7 +47,6 @@ import org.chromium.ui.text.SpanApplier;
+@@ -50,7 +50,6 @@ import org.chromium.ui.text.SpanApplier;
  
  import androidx.annotation.Nullable;
  import androidx.preference.PreferenceCategory;
@@ -1175,7 +1175,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
  import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
  
-@@ -72,9 +71,7 @@ public class PrivacySettings
+@@ -76,9 +75,7 @@ public class PrivacySettings
      // moved from SyncAndServicesSettings.java
      private static final String PREF_SERVICES_CATEGORY = "services_category";
      private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
@@ -1185,7 +1185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private final SharedPreferencesManager mSharedPreferencesManager =
              SharedPreferencesManager.getInstance();
      private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
-@@ -132,12 +129,6 @@ public class PrivacySettings
+@@ -136,12 +133,6 @@ public class PrivacySettings
          mSearchSuggestions.setOnPreferenceChangeListener(this);
          mSearchSuggestions.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
  
@@ -1228,7 +1228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
  import org.chromium.chrome.browser.continuous_search.ContinuousSearchContainerCoordinator;
  import org.chromium.chrome.browser.continuous_search.ContinuousSearchContainerCoordinator.HeightObserver;
  import org.chromium.chrome.browser.feature_guide.notifications.FeatureNotificationUtils;
-@@ -253,7 +252,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -255,7 +254,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
              @NonNull ActivityTabProvider tabProvider,
              @NonNull ObservableSupplier<Profile> profileSupplier,
              @NonNull ObservableSupplier<BookmarkBridge> bookmarkBridgeSupplier,
@@ -1237,7 +1237,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
              @NonNull ObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
              @NonNull OneshotSupplier<StartSurface> startSurfaceSupplier,
              @NonNull OneshotSupplier<ToolbarIntentMetadata> intentMetadataOneshotSupplier,
-@@ -286,7 +285,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -288,7 +287,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
              OneshotSupplier<TabReparentingController> tabReparentingControllerSupplier,
              boolean initializeUiWithIncognitoColors) {
          super(activity, onOmniboxFocusChangedListener, shareDelegateSupplier, tabProvider,
@@ -1382,7 +1382,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
-@@ -2015,9 +2015,6 @@ static_library("browser") {
+@@ -2068,9 +2068,6 @@ static_library("browser") {
      "//components/content_settings/core/browser",
      "//components/content_settings/core/common",
      "//components/contextual_search:buildflags",
@@ -1392,7 +1392,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
      "//components/continuous_search/browser",
      "//components/continuous_search/common/public/mojom",
      "//components/cookie_config",
-@@ -2609,8 +2606,6 @@ static_library("browser") {
+@@ -2666,8 +2663,6 @@ static_library("browser") {
        "android/compositor/decoration_title.h",
        "android/compositor/layer/content_layer.cc",
        "android/compositor/layer/content_layer.h",
@@ -1401,7 +1401,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
        "android/compositor/layer/layer.h",
        "android/compositor/layer/overlay_panel_layer.cc",
        "android/compositor/layer/overlay_panel_layer.h",
-@@ -2631,8 +2626,6 @@ static_library("browser") {
+@@ -2688,8 +2683,6 @@ static_library("browser") {
        "android/compositor/resources/resource_factory.cc",
        "android/compositor/resources/toolbar_resource.cc",
        "android/compositor/resources/toolbar_resource.h",
@@ -1410,7 +1410,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
        "android/compositor/scene_layer/continuous_search_scene_layer.cc",
        "android/compositor/scene_layer/continuous_search_scene_layer.h",
        "android/compositor/scene_layer/overscroll_scene_layer.cc",
-@@ -2657,26 +2650,6 @@ static_library("browser") {
+@@ -2714,26 +2707,6 @@ static_library("browser") {
        "android/content/content_utils.cc",
        "android/context_menu/context_menu_native_delegate_impl.cc",
        "android/context_menu/context_menu_native_delegate_impl.h",
@@ -1437,7 +1437,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
        "android/cookies/cookies_fetcher_util.cc",
        "android/customtabs/client_data_header_web_contents_observer.cc",
        "android/customtabs/client_data_header_web_contents_observer.h",
-@@ -3242,8 +3215,6 @@ static_library("browser") {
+@@ -3315,8 +3288,6 @@ static_library("browser") {
        "safe_browsing/android/safe_browsing_referring_app_bridge_android.h",
        "safe_browsing/android/safe_browsing_settings_launcher_android.cc",
        "safe_browsing/android/safe_browsing_settings_launcher_android.h",
@@ -1545,7 +1545,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
 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
-@@ -801,49 +801,6 @@ CHAR_LIMIT guidelines:
+@@ -819,49 +819,6 @@ CHAR_LIMIT guidelines:
        <message name="IDS_PREFS_PRIVACY_SECURITY" desc="Title for the Privacy and Security preferences. [CHAR_LIMIT=32]">
          Privacy and security
        </message>
@@ -1595,7 +1595,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
        <message name="IDS_DO_NOT_TRACK_TITLE" desc="Title for 'Do Not Track' preference">
          “Do Not Track”
        </message>
-@@ -3914,41 +3871,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
+@@ -3932,41 +3889,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
          Tabs
        </message>
  

+ 1 - 1
build/patches/Remove-help-menu-item.patch

@@ -40,7 +40,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
-@@ -2408,16 +2408,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
+@@ -2484,16 +2484,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
  
          final Tab currentTab = getActivityTab();
  

+ 1 - 1
build/patches/Remove-price-shopping-commerce-integrations.patch

@@ -1749,7 +1749,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
-@@ -3292,9 +3292,6 @@ static_library("browser") {
+@@ -3248,9 +3248,6 @@ static_library("browser") {
        "//chrome/browser/commerce/merchant_viewer:merchant_signal_db_content_proto",
        "//chrome/browser/commerce/merchant_viewer:merchant_viewer_data_manager",
        "//chrome/browser/commerce/merchant_viewer/android:jni_headers",

File diff suppressed because it is too large
+ 408 - 90
build/patches/Remove-signin-and-sync-integrations.patch


Some files were not shown because too many files changed in this diff