Forráskód Böngészése

Updated draft for v91 patches

csagan5 4 éve
szülő
commit
bb68ef38b1

+ 0 - 1
build/bromite_patches_list.txt

@@ -29,7 +29,6 @@ ungoogled-chromium-Disable-Network-Time-Tracker.patch
 Disable-safe-browsing.patch
 Skip-the-first-run-and-metrics.patch
 Disable-all-promo-dialogs.patch
-Disable-sync-services-menu-entry.patch
 Remove-signin-and-data-saver-integrations.patch
 Hide-passwords-manager-link.patch
 Disable-Omaha-update-checks.patch

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

@@ -336,7 +336,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
          WebContents webContents =
 -                WebContentsFactory.createWebContents(Profile.getLastUsedRegularProfile(), false);
 +                WebContentsFactory.createWebContents(
-+                    isIncognito ? profile.getPrimaryOTRProfile() : profile, 
++                    isIncognito ? profile.getPrimaryOTRProfile(true /* createIfNeeded */) : profile,
 +                    false);
  
          mLoadUrlParams = new LoadUrlParams(url.getValidSpecOrEmpty());

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

@@ -912,15 +912,15 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
 +  //NOTE: extension and description are not used on Android, thus not set
 +  ui::SelectFileDialog::FileTypeInfo file_type_info;
 +
-+  const std::vector<base::string16> v_accept_types = { base::UTF8ToUTF16("text/html") };
++  const std::vector<std::u16string> v_accept_types = { base::UTF8ToUTF16("text/html") };
 +
 +  // Android needs the original MIME types and an additional capture value.
-+  std::pair<std::vector<base::string16>, bool> accept_types =
++  std::pair<std::vector<std::u16string>, bool> accept_types =
 +      std::make_pair(v_accept_types, /* use_media_capture */ false);
 +
 +  select_file_dialog_->SelectFile(
 +        ui::SelectFileDialog::SELECT_OPEN_FILE,
-+        base::string16(),
++        std::u16string(),
 +        export_path_,
 +        &file_type_info,
 +        0,
@@ -941,7 +941,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
 +      ui::WindowAndroid::FromJavaWindowAndroid(java_window);
 +  CHECK(window);
 +
-+  base::string16 export_path =
++  std::u16string export_path =
 +    base::android::ConvertJavaStringToUTF16(env, j_export_path);
 +
 +  export_path_ = base::FilePath::FromUTF16Unsafe(export_path);
@@ -960,9 +960,9 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
 +
 +// Attempts to create a TemplateURL from the provided data. |title| is optional.
 +// If TemplateURL creation fails, returns null.
-+std::unique_ptr<TemplateURL> CreateTemplateURL(const base::string16& url,
-+                                               const base::string16& keyword,
-+                                               const base::string16& title) {
++std::unique_ptr<TemplateURL> CreateTemplateURL(const std::u16string& url,
++                                               const std::u16string& keyword,
++                                               const std::u16string& title) {
 +  if (url.empty() || keyword.empty())
 +    return nullptr;
 +  TemplateURLData data;
@@ -1379,7 +1379,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
 +  virtual void AddBookmarksWithModel(
 +      bookmarks::BookmarkModel* model,
 +      const std::vector<ImportedBookmarkEntry>& bookmarks,
-+      const base::u16string& top_level_folder_name);
++      const std::u16string& top_level_folder_name);
 +
    virtual void AddFavicons(const favicon_base::FaviconUsageDataList& favicons);
  

+ 2 - 2
build/patches/Bromite-AdBlockUpdaterService.patch

@@ -1487,7 +1487,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
 +    {
 +      subresource_filter::ActivationDecision ignored_decision;
 +      mojom::ActivationState ad_filtering_state;
-+      ad_filtering_state.activation_level = client_->GetProfileInteractionManager()->OnPageActivationComputed(
++      ad_filtering_state.activation_level = profile_interaction_manager_->OnPageActivationComputed(
 +	      navigation_handle, mojom::ActivationLevel::kEnabled, &ignored_decision);
 +      throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
 +                                                ad_filtering_state);
@@ -1665,7 +1665,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal
                 "VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
                 file->IsValid());
 +
-+  LOG(INFO) << "OpenAndSetRulesetFile: " << file_path << " is valid: " << file.IsValid();
++  LOG(INFO) << "OpenAndSetRulesetFile: " << file_path << " is valid: " << file->IsValid();
 +
    if (file->IsValid()) {
      SetRulesetFile(file->Duplicate());

+ 0 - 52
build/patches/Disable-sync-services-menu-entry.patch

@@ -1,52 +0,0 @@
-From: csagan5 <32685696+csagan5@users.noreply.github.com>
-Date: Mon, 11 Nov 2019 23:09:48 +0100
-Subject: Disable sync services menu entry
-
----
- chrome/android/java/res/xml/main_preferences.xml    | 11 ++---------
- chrome/android/java/res/xml/privacy_preferences.xml |  4 ----
- 2 files changed, 2 insertions(+), 13 deletions(-)
-
-diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
---- a/chrome/android/java/res/xml/main_preferences.xml
-+++ b/chrome/android/java/res/xml/main_preferences.xml
-@@ -13,7 +13,8 @@
-     <PreferenceCategory
-         android:key="account_section"
-         android:order="1"
--        android:title="@string/prefs_section_account"/>
-+        android:title="@string/prefs_section_account"
-+        app:isPreferenceVisible="false"/>
-     <PreferenceCategory
-         android:key="account_and_google_services_section"
-         android:order="2"
-@@ -23,14 +24,6 @@
-         android:key="sign_in"
-         android:order="3"
-         android:title="@string/sign_in_to_chrome"/>
--    <org.chromium.components.browser_ui.settings.ChromeBasePreference
--        android:key="sync_and_services"
--        android:order="4"
--        android:layout="@layout/account_management_account_row"
--        android:title="@string/prefs_sync_and_services"
--        android:fragment="org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings"/>
--    <!-- manage_sync and google_services replace sync_and_services if MOBILE_IDENTITY_CONSISTENCY
--         is enabled. -->
-     <org.chromium.components.browser_ui.settings.ChromeBasePreference
-         android:key="manage_sync"
-         android:order="5"
-diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
---- a/chrome/android/java/res/xml/privacy_preferences.xml
-+++ b/chrome/android/java/res/xml/privacy_preferences.xml
-@@ -32,8 +32,4 @@
-         android:key="privacy_sandbox"
-         android:title="@string/prefs_privacy_sandbox"
-         android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
--    <org.chromium.components.browser_ui.settings.TextMessagePreference
--        android:key="sync_and_services_link"
--        android:summary="@string/privacy_sync_and_services_link_legacy"
--        app:allowDividerBelow="false"/>
- </PreferenceScreen>
--- 
-2.17.1
-

+ 55 - 11
build/patches/Remove-binary-blob-integrations.patch

@@ -31,7 +31,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  .../ExternalNavigationDelegateImpl.java       |   8 +-
  .../gcore/ChromeGoogleApiClientImpl.java      |  25 +-
  .../browser/gcore/GoogleApiClientHelper.java  |  82 +--
- .../instantapps/InstantAppsHandler.java       |  59 --
+ .../instantapps/InstantAppsHandler.java       |  57 +-
  .../browser/omaha/UpdateStatusProvider.java   |  10 +-
  .../inline/FakeAppUpdateManagerWrapper.java   |  60 +-
  .../inline/InlineUpdateControllerFactory.java |  16 -
@@ -41,6 +41,8 @@ Parts of this patch were developed by csagan5, uazo and others.
  chrome/browser/BUILD.gn                       |   2 -
  chrome/browser/language/android/BUILD.gn      |   2 -
  .../browser/language/AppLocaleUtils.java      |  28 -
+ .../AppLanguagePreferenceDelegate.java        |   8 -
+ .../language/settings/LanguageSettings.java   |   6 -
  .../prefetch/prefetch_service_factory.cc      |  16 -
  .../push_messaging_service_factory.cc         |   8 +-
  chrome/browser/ui/BUILD.gn                    |   3 -
@@ -97,7 +99,7 @@ Parts of this patch were developed by csagan5, uazo and others.
  .../preconditions/javatests/BUILD.gn          |   1 -
  .../gms/ChromiumPlayServicesAvailability.java |  10 +-
  third_party/google_android_play_core/BUILD.gn |   5 -
- 76 files changed, 69 insertions(+), 2618 deletions(-)
+ 78 files changed, 70 insertions(+), 2629 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
 
@@ -704,7 +706,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
-@@ -40,31 +40,6 @@ public class InstantAppsHandler {
+@@ -40,31 +40,10 @@ public class InstantAppsHandler {
      // TODO(mariakhomenko): Use system once we roll to O SDK.
      private static final int FLAG_DO_NOT_LAUNCH = 0x00000200;
  
@@ -721,9 +723,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
 -    protected static final String TRUSTED_REFERRER_PKG_EXTRA =
 -            "com.google.android.gms.instantapps.TRUSTED_REFERRER_PKG";
 -
--    public static final String IS_GOOGLE_SEARCH_REFERRER =
--            "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
--
++    // this is kept to always remove it from intents
+     public static final String IS_GOOGLE_SEARCH_REFERRER =
+             "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
+ 
 -    private static final String BROWSER_LAUNCH_REASON =
 -            "com.google.android.gms.instantapps.BROWSER_LAUNCH_REASON";
 -
@@ -736,7 +739,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
      // Only two possible call sources for fallback intents, set boundary at n+1.
      private static final int SOURCE_BOUNDARY = 3;
  
-@@ -84,14 +59,6 @@ public class InstantAppsHandler {
+@@ -84,14 +63,6 @@ public class InstantAppsHandler {
       * @return Whether the given intent is going to open an Instant App.
       */
      public static boolean isIntentToInstantApp(Intent intent) {
@@ -751,7 +754,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
          return false;
      }
  
-@@ -126,20 +93,6 @@ public class InstantAppsHandler {
+@@ -126,20 +97,6 @@ public class InstantAppsHandler {
       * @param intent The current intent.
       */
      private void maybeRecordFallbackStats(Intent intent) {
@@ -772,7 +775,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
      }
  
      /**
-@@ -174,14 +127,6 @@ public class InstantAppsHandler {
+@@ -174,14 +131,6 @@ public class InstantAppsHandler {
              return false;
          }
  
@@ -787,7 +790,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
          if (IntentUtils.safeGetBooleanExtra(
                  intent, IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, false)
                  || IntentUtils.safeHasExtra(intent, ShortcutHelper.EXTRA_SOURCE)
-@@ -206,7 +151,6 @@ public class InstantAppsHandler {
+@@ -206,7 +155,6 @@ public class InstantAppsHandler {
          }
  
          Intent callbackIntent = new Intent(intent);
@@ -795,7 +798,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
          callbackIntent.putExtra(INSTANT_APP_START_TIME_EXTRA, startTime);
  
          return tryLaunchingInstantApp(context, intent, isCustomTabsIntent, callbackIntent);
-@@ -309,12 +253,9 @@ public class InstantAppsHandler {
+@@ -309,12 +257,9 @@ public class InstantAppsHandler {
          Intent iaIntent = data.getIntent();
          if (data.getReferrer() != null) {
              iaIntent.putExtra(Intent.EXTRA_REFERRER, data.getReferrer());
@@ -1396,6 +1399,47 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
 -        }
 -    }
  }
+diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
+--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
++++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
+@@ -90,14 +90,6 @@ public class AppLanguagePreferenceDelegate {
+ 
+         // Disable preference so a second downloaded cannot be started while one is in progress.
+         mPreference.setEnabled(false);
+-
+-        AppLocaleUtils.setAppLanguagePref(code, (success) -> {
+-            if (success) {
+-                languageSplitDownloadComplete();
+-            } else {
+-                languageSplitDownloadFailed();
+-            }
+-        });
+     }
+ 
+     /**
+diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
+--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
++++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
+@@ -18,7 +18,6 @@ import org.chromium.base.BuildInfo;
+ import org.chromium.base.Log;
+ import org.chromium.chrome.browser.flags.ChromeFeatureList;
+ import org.chromium.chrome.browser.language.AppLocaleUtils;
+-import org.chromium.chrome.browser.language.LanguageSplitInstaller;
+ import org.chromium.chrome.browser.language.R;
+ import org.chromium.chrome.browser.preferences.Pref;
+ import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
+@@ -88,11 +87,6 @@ public class LanguageSettings extends PreferenceFragmentCompat
+      * translate target language, and detailed translate preferences.
+      */
+     private void createDetailedPreferences(Bundle savedInstanceState, String rootKey) {
+-        // Log currently installed language splits.
+-        String installedLanguages =
+-                TextUtils.join(",", LanguageSplitInstaller.getInstance().getInstalledLanguages());
+-        Log.i(TAG, TextUtils.concat("Installed Languages: ", installedLanguages).toString());
+-
+         SettingsUtils.addPreferencesFromResource(this, R.xml.languages_detailed_preferences);
+ 
+         setupAppLanguageSection();
 diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
 --- a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
 +++ b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc

+ 36 - 11
build/patches/Remove-signin-and-data-saver-integrations.patch

@@ -20,12 +20,13 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
 >>>               impl/invalidation_service_util.o:(invalidation::ParseNotifierOptions(base::CommandLine const&)) in archive obj/components/invalidation/impl/libimpl.a
 ---
  chrome/android/BUILD.gn                       |   1 -
- chrome/android/chrome_java_sources.gni        |  33 ----
+ chrome/android/chrome_java_sources.gni        |  36 ----
  .../PriceTrackingUtilities.java               |   5 +-
  .../browser/feed/FeedSurfaceCoordinator.java  |   5 +-
  .../browser/feed/FeedSurfaceMediator.java     |  96 +--------
  chrome/android/java/AndroidManifest.xml       |   8 -
- .../android/java/res/xml/main_preferences.xml |  12 --
+ .../android/java/res/xml/main_preferences.xml |  23 +--
+ .../java/res/xml/privacy_preferences.xml      |   4 -
  .../org/chromium/chrome/browser/AppHooks.java |   8 -
  .../chrome/browser/ChromeTabbedActivity.java  |   6 -
  .../chrome/browser/app/ChromeActivity.java    |  71 -------
@@ -72,7 +73,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  .../signin/SystemAccountManagerDelegate.java  |  35 +---
  .../net/HttpNegotiateAuthenticator.java       |  88 +--------
  .../chromoting/base/OAuthTokenFetcher.java    |   2 -
- 53 files changed, 42 insertions(+), 1240 deletions(-)
+ 54 files changed, 44 insertions(+), 1256 deletions(-)
  delete mode 100644 chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java
 
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
@@ -131,7 +132,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
    "java/src/org/chromium/chrome/browser/password_manager/BiometricAuthenticatorBridge.java",
    "java/src/org/chromium/chrome/browser/password_manager/Credential.java",
    "java/src/org/chromium/chrome/browser/password_manager/CredentialLeakDialogBridge.java",
-@@ -1197,14 +1190,9 @@ chrome_java_sources = [
+@@ -1197,14 +1190,6 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMetrics.java",
    "java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java",
    "java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
@@ -139,14 +140,14 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
 -  "java/src/org/chromium/chrome/browser/signin/SigninBridge.java",
 -  "java/src/org/chromium/chrome/browser/signin/SigninHelperProvider.java",
 -  "java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
-   "java/src/org/chromium/chrome/browser/signin/SyncConsentActivity.java",
-   "java/src/org/chromium/chrome/browser/signin/SyncConsentFragment.java",
-   "java/src/org/chromium/chrome/browser/signin/SyncConsentFragmentBase.java",
+-  "java/src/org/chromium/chrome/browser/signin/SyncConsentActivity.java",
+-  "java/src/org/chromium/chrome/browser/signin/SyncConsentFragment.java",
+-  "java/src/org/chromium/chrome/browser/signin/SyncConsentFragmentBase.java",
 -  "java/src/org/chromium/chrome/browser/signin/SyncPromoView.java",
    "java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java",
    "java/src/org/chromium/chrome/browser/site_settings/CookieControlsServiceBridge.java",
    "java/src/org/chromium/chrome/browser/site_settings/ManageSpaceActivity.java",
-@@ -1242,27 +1230,6 @@ chrome_java_sources = [
+@@ -1242,27 +1227,6 @@ chrome_java_sources = [
    "java/src/org/chromium/chrome/browser/survey/ChromeSurveyController.java",
    "java/src/org/chromium/chrome/browser/survey/SurveyController.java",
    "java/src/org/chromium/chrome/browser/survey/SurveyHttpClientBridge.java",
@@ -446,7 +447,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
 diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
 --- a/chrome/android/java/res/xml/main_preferences.xml
 +++ b/chrome/android/java/res/xml/main_preferences.xml
-@@ -7,9 +7,6 @@
+@@ -7,30 +7,16 @@
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:orderingFromXml="false">
  
@@ -456,7 +457,11 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
      <PreferenceCategory
          android:key="account_section"
          android:order="1"
-@@ -20,10 +17,6 @@
+-        android:title="@string/prefs_section_account"/>
++        android:title="@string/prefs_section_account"
++        app:isPreferenceVisible="false"/>
+     <PreferenceCategory
+         android:key="account_and_google_services_section"
          android:order="2"
          android:title="@string/prefs_section_account_and_google_services"
          app:isPreferenceVisible="false"/>
@@ -464,10 +469,18 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
 -        android:key="sign_in"
 -        android:order="3"
 -        android:title="@string/sign_in_to_chrome"/>
+-    <org.chromium.components.browser_ui.settings.ChromeBasePreference
+-        android:key="sync_and_services"
+-        android:order="4"
+-        android:layout="@layout/account_management_account_row"
+-        android:title="@string/prefs_sync_and_services"
+-        android:fragment="org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings"/>
+-    <!-- manage_sync and google_services replace sync_and_services if MOBILE_IDENTITY_CONSISTENCY
+-         is enabled. -->
      <org.chromium.components.browser_ui.settings.ChromeBasePreference
          android:key="manage_sync"
          android:order="5"
-@@ -108,11 +101,6 @@
+@@ -115,11 +101,6 @@
          android:key="languages"
          android:order="20"
          android:title="@string/language_settings"/>
@@ -479,6 +492,18 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
      <org.chromium.components.browser_ui.settings.ChromeBasePreference
          android:fragment="org.chromium.chrome.browser.download.settings.DownloadSettings"
          android:key="downloads"
+diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
+--- a/chrome/android/java/res/xml/privacy_preferences.xml
++++ b/chrome/android/java/res/xml/privacy_preferences.xml
+@@ -32,8 +32,4 @@
+         android:key="privacy_sandbox"
+         android:title="@string/prefs_privacy_sandbox"
+         android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
+-    <org.chromium.components.browser_ui.settings.TextMessagePreference
+-        android:key="sync_and_services_link"
+-        android:summary="@string/privacy_sync_and_services_link_legacy"
+-        app:allowDividerBelow="false"/>
+ </PreferenceScreen>
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java

+ 27 - 8
build/patches/Restore-Simplified-NTP-launch.patch

@@ -10,9 +10,10 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
  .../android/java/res/layout/ntp_shortcuts.xml | 65 +++++++++++++++++++
  .../feedback/ChromeFeedbackCollector.java     |  1 +
  .../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
+ .../NativePageNavigationDelegateImpl.java     |  4 +-
  .../chrome/browser/ntp/NewTabPageLayout.java  | 30 ++++++++-
  .../suggestions/SuggestionsConfig.java        |  4 +-
- .../SuggestionsNavigationDelegate.java        | 14 ++++
+ .../SuggestionsNavigationDelegate.java        | 17 +++++
  chrome/browser/about_flags.cc                 |  3 +
  chrome/browser/flag_descriptions.cc           |  3 +
  chrome/browser/flag_descriptions.h            |  3 +
@@ -21,7 +22,7 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
  .../browser/flags/ChromeFeatureList.java      |  1 +
  components/ntp_snippets/features.cc           |  6 +-
  .../variations/fieldtrial_testing_config.json | 18 +++++
- 17 files changed, 196 insertions(+), 4 deletions(-)
+ 18 files changed, 201 insertions(+), 6 deletions(-)
  create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
  create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
 
@@ -188,6 +189,21 @@ new file mode 100644
 +        return mMap;
 +    }
 +}
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
+@@ -26,9 +26,9 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
+  */
+ public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate {
+     private static final String TAG = "PageNavDelegate";
+-    private final Profile mProfile;
++    protected final Profile mProfile;
+     private final TabModelSelector mTabModelSelector;
+-    private final Tab mTab;
++    protected final Tab mTab;
+ 
+     protected final Activity mActivity;
+     protected final NativePageHost mHost;
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -275,29 +291,32 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
-@@ -16,6 +16,10 @@ import org.chromium.content_public.browser.LoadUrlParams;
+@@ -16,6 +16,11 @@ import org.chromium.content_public.browser.LoadUrlParams;
  import org.chromium.ui.base.PageTransition;
  import org.chromium.ui.mojom.WindowOpenDisposition;
  
 +import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
 +import org.chromium.chrome.browser.download.DownloadUtils;
 +import org.chromium.chrome.browser.download.DownloadOpenSource;
++import org.chromium.chrome.browser.profiles.OTRProfileID;
 +
  /**
   * Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods.
   */
-@@ -35,6 +39,16 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
+@@ -35,6 +40,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
                  new LoadUrlParams(NEW_TAB_URL_HELP, PageTransition.AUTO_BOOKMARK));
      }
  
 +    public void navigateToBookmarks() {
-+        //RecordUserAction.record("MobileNTPSwitchToBookmarks");
-+        BookmarkUtils.showBookmarkManager(mActivity);
++        BookmarkUtils.showBookmarkManager(mActivity, mTab.isIncognito());
 +    }
 +
 +    public void navigateToDownloadManager() {
-+        //RecordUserAction.record("MobileNTPSwitchToDownloadManager");
-+        DownloadUtils.showDownloadManager(mActivity, null, DownloadOpenSource.NEW_TAB_PAGE);
++        OTRProfileID otrProfileID = null;
++        if (mProfile != null && mTab != null && mTab.isIncognito()) {
++            otrProfileID = mProfile.getOTRProfileID();
++        }
++        DownloadUtils.showDownloadManager(mActivity, mTab, otrProfileID, DownloadOpenSource.NEW_TAB_PAGE);
 +    }
 +
      /**

+ 1 - 1
build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch

@@ -187,7 +187,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
                              R.string.automatic_downloads_permission_title, ContentSettingValues.ASK,
                              ContentSettingValues.BLOCK, R.string.website_settings_category_ask, 0));
 +            localMap.put(ContentSettingsType.AUTOPLAY,
-+                    new ResourceItem(R.drawable.settings_autoplay, R.string.autoplay_title,
++                    new ResourceItem(R.drawable.settings_autoplay, 0, R.string.autoplay_title,
 +                            ContentSettingValues.ALLOW, ContentSettingValues.BLOCK,
 +                            R.string.website_settings_category_autoplay_allowed, 0));
              localMap.put(ContentSettingsType.BACKGROUND_SYNC,

+ 1 - 1
build/patches/Timezone-customization.patch

@@ -260,7 +260,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
                              R.string.website_settings_category_vr_ask,
                              R.string.website_settings_category_vr_blocked));
 +            localMap.put(ContentSettingsType.TIMEZONE_OVERRIDE,
-+                    new ResourceItem(R.drawable.web_asset, R.string.timezone_override_permission_title,
++                    new ResourceItem(R.drawable.web_asset, 0, R.string.timezone_override_permission_title,
 +                            ContentSettingValues.ALLOW, ContentSettingValues.BLOCK,
 +                            R.string.website_settings_category_timezone_override_custom,
 +                            R.string.website_settings_category_timezone_override_random));