瀏覽代碼

Merge pull request #775 from uazo/fix-758

fix patchs for "All preferences in the screen should be added in the new order list"
Carl 4 年之前
父節點
當前提交
ad47e646ee

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

@@ -9,6 +9,7 @@ Offer auto-complete for the proxy page URL.
 ---
  chrome/android/java/res/values/values.xml     |   3 +
  .../java/res/xml/privacy_preferences.xml      |   4 +
+ .../privacy/settings/PrivacySettings.java     |   5 +-
  .../chrome_autocomplete_provider_client.cc    |   2 +
  chrome/browser/browser_resources.grd          |   6 +
  .../prefs/chrome_command_line_pref_store.cc   |   2 +-
@@ -26,7 +27,7 @@ Offer auto-complete for the proxy page URL.
  .../proxy_config/proxy_config_dictionary.h    |   6 +-
  net/proxy_resolution/proxy_config.cc          |  52 ++-
  net/proxy_resolution/proxy_config.h           |   3 +
- 19 files changed, 948 insertions(+), 13 deletions(-)
+ 20 files changed, 952 insertions(+), 14 deletions(-)
  create mode 100644 chrome/browser/resources/proxy_config.css
  create mode 100644 chrome/browser/resources/proxy_config.html
  create mode 100644 chrome/browser/resources/proxy_config.js
@@ -60,6 +61,26 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
      <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
          android:key="can_make_payment"
          android:title="@string/can_make_payment_title"
+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
+@@ -48,12 +48,15 @@ public class PrivacySettings
+     private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
+     private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+     public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
++    private static final String PREF_PROXY_OPTIONS = "proxy";
++    
+     private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+             PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
+             PREF_ALWAYS_INCOGNITO,
+             PREF_ALLOW_CUSTOM_TAB_INTENTS,
+-            PREF_CLOSE_TABS_ON_EXIT
++            PREF_CLOSE_TABS_ON_EXIT,
++            PREF_PROXY_OPTIONS            
+         };
+ 
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
 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
@@ -1241,6 +1262,3 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co
  
      // Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
      // &fallback_proxies}, or NULL if there is no proxy to use.
--- 
-2.17.1
-

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

@@ -16,13 +16,14 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
  .../ChromeContextMenuPopulator.java           |  8 +-
  .../CustomTabIntentDataProvider.java          |  5 +-
  .../browser/init/StartupTabPreloader.java     | 11 ++-
+ .../privacy/settings/PrivacySettings.java     |  4 +-
  .../browser/tabmodel/ChromeTabCreator.java    | 16 +++-
  .../tabmodel/TabModelSelectorBase.java        |  8 ++
  .../browser/tabmodel/TabPersistentStore.java  | 10 +++
  .../webapps/WebappIntentDataProvider.java     | 14 ++++
  .../flags/android/chrome_feature_list.cc      |  2 +-
  .../strings/android_chrome_strings.grd        |  7 ++
- 15 files changed, 168 insertions(+), 9 deletions(-)
+ 16 files changed, 171 insertions(+), 10 deletions(-)
  create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
 
 diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@@ -274,6 +275,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
                         .setLaunchType(TabLaunchType.FROM_EXTERNAL_APP)
                         .setWindow(mWindowAndroid)
                         .setWebContents(webContents)
+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
+@@ -43,9 +43,11 @@ public class PrivacySettings
+     private static final String PREF_SECURE_DNS = "secure_dns";
+     private static final String PREF_DO_NOT_TRACK = "do_not_track";
+     private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
++    private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+     private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+-            PREF_SECURE_DNS, PREF_DO_NOT_TRACK
++            PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
++            PREF_ALWAYS_INCOGNITO
+         };
+ 
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
 --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -469,6 +486,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
        <message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SIGNED_IN" desc="A text explaining other forms of activity for signed in users.">
          Clears history and autocompletions in the address bar. Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;link&gt;</ph>myactivity.google.com<ph name="END_LINK">&lt;/link&gt;</ph>.
        </message>
--- 
-2.17.1
-

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

@@ -3,12 +3,12 @@ Date: Wed, 29 Aug 2018 11:03:44 +0200
 Subject: Add custom tab intents privacy option
 
 ---
- chrome/android/java/res/values/values.xml             |  3 +++
- chrome/android/java/res/xml/privacy_preferences.xml   |  5 +++++
- .../chrome/browser/LaunchIntentDispatcher.java        |  4 ++++
- .../browser/privacy/settings/PrivacySettings.java     | 11 +++++++++++
- .../ui/android/strings/android_chrome_strings.grd     |  7 +++++++
- 5 files changed, 30 insertions(+)
+ chrome/android/java/res/values/values.xml           |  3 +++
+ chrome/android/java/res/xml/privacy_preferences.xml |  5 +++++
+ .../chrome/browser/LaunchIntentDispatcher.java      |  4 ++++
+ .../browser/privacy/settings/PrivacySettings.java   | 13 ++++++++++++-
+ .../ui/android/strings/android_chrome_strings.grd   |  7 +++++++
+ 5 files changed, 31 insertions(+), 1 deletion(-)
 
 diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
 --- a/chrome/android/java/res/values/values.xml
@@ -62,16 +62,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
 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
-@@ -49,6 +49,8 @@ public class PrivacySettings
+@@ -44,10 +44,12 @@ public class PrivacySettings
+     private static final String PREF_DO_NOT_TRACK = "do_not_track";
+     private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
+     private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
++    public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
+     private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+             PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
+-            PREF_ALWAYS_INCOGNITO
++            PREF_ALWAYS_INCOGNITO,
++            PREF_ALLOW_CUSTOM_TAB_INTENTS
+         };
  
      private ManagedPreferenceDelegate mManagedPreferenceDelegate;
- 
-+    public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
-+
-     @Override
-     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-         PrivacyPreferencesManager privacyPrefManager = PrivacyPreferencesManager.getInstance();
-@@ -95,6 +97,10 @@ public class PrivacySettings
+@@ -98,6 +100,10 @@ public class PrivacySettings
                      .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
          } else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
              PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
@@ -82,7 +87,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          }
  
          return true;
-@@ -118,6 +124,11 @@ public class PrivacySettings
+@@ -121,6 +127,11 @@ public class PrivacySettings
              canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
          }
  
@@ -111,6 +116,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
  
        <!-- Autofill Assistant preferences -->
        <message name="IDS_PREFS_AUTOFILL_ASSISTANT_TITLE" desc="Title for the Autofill Assistant preferences screen. [CHAR-LIMIT=32]">
--- 
-2.17.1
-

+ 29 - 48
build/patches/Add-history-support-in-incognito-mode.patch

@@ -3,29 +3,18 @@ Date: Fri, 7 Aug 2020 16:33:47 +0000
 Subject: Add history support in incognito mode
 
 ---
- .../java/res/xml/privacy_preferences.xml       |  5 +++++
- .../privacy/settings/PrivacySettings.java      | 18 ++++++++++++++++++
- chrome/browser/history/history_tab_helper.cc   | 16 ++++++++++++++++
- chrome/browser/history/history_tab_helper.h    |  4 ++++
- chrome/browser/prefs/browser_prefs.cc          |  2 ++
- .../android/strings/android_chrome_strings.grd |  6 ++++++
- .../translations/android_chrome_strings_it.xtb |  4 +++-
- chrome/common/pref_names.cc                    |  5 +++++
- chrome/common/pref_names.h                     |  4 ++++
- 9 files changed, 63 insertions(+), 1 deletion(-)
- mode change 100644 => 100755 chrome/android/java/res/xml/privacy_preferences.xml
- mode change 100644 => 100755 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
- mode change 100644 => 100755 chrome/browser/history/history_tab_helper.cc
- mode change 100644 => 100755 chrome/browser/history/history_tab_helper.h
- mode change 100644 => 100755 chrome/browser/prefs/browser_prefs.cc
- mode change 100644 => 100755 chrome/browser/ui/android/strings/android_chrome_strings.grd
- mode change 100644 => 100755 chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
- mode change 100644 => 100755 chrome/common/pref_names.cc
- mode change 100644 => 100755 chrome/common/pref_names.h
+ .../java/res/xml/privacy_preferences.xml      |  5 ++++
+ .../privacy/settings/PrivacySettings.java     | 23 +++++++++++++++++--
+ chrome/browser/history/history_tab_helper.cc  | 16 +++++++++++++
+ chrome/browser/history/history_tab_helper.h   |  4 ++++
+ chrome/browser/prefs/browser_prefs.cc         |  2 ++
+ .../strings/android_chrome_strings.grd        |  6 +++++
+ .../android_chrome_strings_it.xtb             |  4 +++-
+ chrome/common/pref_names.cc                   |  5 ++++
+ chrome/common/pref_names.h                    |  4 ++++
+ 9 files changed, 66 insertions(+), 3 deletions(-)
 
 diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
-old mode 100644
-new mode 100755
 --- a/chrome/android/java/res/xml/privacy_preferences.xml
 +++ b/chrome/android/java/res/xml/privacy_preferences.xml
 @@ -32,6 +32,11 @@
@@ -41,8 +30,6 @@ new mode 100755
          android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
          android:key="do_not_track"
 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
-old mode 100644
-new mode 100755
 --- 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
 @@ -35,6 +35,8 @@ import org.chromium.components.user_prefs.UserPrefs;
@@ -54,15 +41,26 @@ new mode 100755
  /**
   * Fragment to keep track of the all the privacy related preferences.
   */
-@@ -53,6 +55,7 @@ public class PrivacySettings
-     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
- 
+@@ -49,14 +51,16 @@ public class PrivacySettings
+     private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
      public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
+     private static final String PREF_PROXY_OPTIONS = "proxy";
+-    
 +    public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
++
+     private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+             PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
+             PREF_ALWAYS_INCOGNITO,
++            PREF_INCOGNITO_TAB_HISTORY_ENABLED,
+             PREF_ALLOW_CUSTOM_TAB_INTENTS,
+             PREF_CLOSE_TABS_ON_EXIT,
+-            PREF_PROXY_OPTIONS            
++            PREF_PROXY_OPTIONS
+         };
  
-     @Override
-     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-@@ -89,6 +92,11 @@ public class PrivacySettings
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
+@@ -96,6 +100,11 @@ public class PrivacySettings
          Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
          secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
  
@@ -74,7 +72,7 @@ new mode 100755
          updateSummaries();
      }
  
-@@ -108,6 +116,9 @@ public class PrivacySettings
+@@ -115,6 +124,9 @@ public class PrivacySettings
              SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
              sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
              sharedPreferencesEditor.apply();
@@ -84,7 +82,7 @@ new mode 100755
          }
  
          return true;
-@@ -152,6 +163,13 @@ public class PrivacySettings
+@@ -159,6 +171,13 @@ public class PrivacySettings
                  (ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
          closeTabsOnExitPref.setOnPreferenceChangeListener(this);
          closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
@@ -99,8 +97,6 @@ new mode 100755
  
      private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
 diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
-old mode 100644
-new mode 100755
 --- a/chrome/browser/history/history_tab_helper.cc
 +++ b/chrome/browser/history/history_tab_helper.cc
 @@ -28,6 +28,9 @@
@@ -141,8 +137,6 @@ new mode 100755
    // We update the history for this URL.
    WebContents* tab = web_contents();
 diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
-old mode 100644
-new mode 100755
 --- a/chrome/browser/history/history_tab_helper.h
 +++ b/chrome/browser/history/history_tab_helper.h
 @@ -10,6 +10,8 @@
@@ -164,8 +158,6 @@ new mode 100755
    explicit HistoryTabHelper(content::WebContents* web_contents);
    friend class content::WebContentsUserData<HistoryTabHelper>;
 diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
-old mode 100644
-new mode 100755
 --- a/chrome/browser/prefs/browser_prefs.cc
 +++ b/chrome/browser/prefs/browser_prefs.cc
 @@ -231,6 +231,7 @@
@@ -185,8 +177,6 @@ new mode 100755
    feed::RegisterProfilePrefs(registry);
  #endif  // BUILDFLAG(ENABLE_FEED_IN_CHROME)
 diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
-old mode 100644
-new mode 100755
 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
 +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
 @@ -811,6 +811,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -203,8 +193,6 @@ new mode 100755
          Clears history and autocompletions in the address bar. Your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;link&gt;</ph>myactivity.google.com<ph name="END_LINK">&lt;/link&gt;</ph>.
        </message>
 diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
-old mode 100644
-new mode 100755
 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
 +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
 @@ -1101,4 +1101,6 @@ Ad esempio, alcuni siti web potrebbero rispondere alla richiesta mostrando annun
@@ -217,8 +205,6 @@ new mode 100755
 +<translation id="5713583121562162330">Abilita la registrazione della navigazione nella cronologia anche per le sessioni in incognito</translation>	
 +</translationbundle>
 diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
-old mode 100644
-new mode 100755
 --- a/chrome/common/pref_names.cc
 +++ b/chrome/common/pref_names.cc
 @@ -3100,4 +3100,9 @@ const char kShowCaretBrowsingDialog[] =
@@ -232,8 +218,6 @@ new mode 100755
 +
  }  // namespace prefs
 diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
-old mode 100644
-new mode 100755
 --- a/chrome/common/pref_names.h
 +++ b/chrome/common/pref_names.h
 @@ -1087,6 +1087,10 @@ extern const char kCaretBrowsingEnabled[];
@@ -247,6 +231,3 @@ new mode 100755
  }  // namespace prefs
  
  #endif  // CHROME_COMMON_PREF_NAMES_H_
--- 
-2.17.1
-

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

@@ -3,12 +3,12 @@ Date: Sat, 7 Sep 2019 15:07:42 +0200
 Subject: Add option to not persist tabs across sessions
 
 ---
- chrome/android/java/res/values/values.xml                | 3 +++
- chrome/android/java/res/xml/privacy_preferences.xml      | 5 +++++
- .../chromium/chrome/browser/ChromeTabbedActivity.java    | 4 +++-
- .../chrome/browser/privacy/settings/PrivacySettings.java | 9 ++++++++-
- .../ui/android/strings/android_chrome_strings.grd        | 6 ++++++
- 5 files changed, 25 insertions(+), 2 deletions(-)
+ chrome/android/java/res/values/values.xml            |  3 +++
+ chrome/android/java/res/xml/privacy_preferences.xml  |  5 +++++
+ .../chrome/browser/ChromeTabbedActivity.java         |  4 +++-
+ .../browser/privacy/settings/PrivacySettings.java    | 12 ++++++++++--
+ .../ui/android/strings/android_chrome_strings.grd    |  6 ++++++
+ 5 files changed, 27 insertions(+), 3 deletions(-)
 
 diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
 --- a/chrome/android/java/res/values/values.xml
@@ -80,7 +80,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
      private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
      private static final String PREF_SECURE_DNS = "secure_dns";
-@@ -92,7 +95,11 @@ public class PrivacySettings
+@@ -49,7 +52,8 @@ public class PrivacySettings
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+             PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
+             PREF_ALWAYS_INCOGNITO,
+-            PREF_ALLOW_CUSTOM_TAB_INTENTS
++            PREF_ALLOW_CUSTOM_TAB_INTENTS,
++            PREF_CLOSE_TABS_ON_EXIT
+         };
+ 
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
+@@ -95,7 +99,11 @@ public class PrivacySettings
      @Override
      public boolean onPreferenceChange(Preference preference, Object newValue) {
          String key = preference.getKey();
@@ -109,6 +119,3 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
        <message name="IDS_CONTEXTMENU_LINK_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 link.">
          LINK
        </message>
--- 
-2.17.1
-

+ 7 - 9
build/patches/Disable-safe-browsing.patch

@@ -71,7 +71,7 @@ Disable CrowdDeny feature
  .../native_file_system_file_writer_impl.cc    | 50 +------------
  .../native_file_system_file_writer_impl.h     | 14 +---
  .../native_file_system_permission_context.h   |  6 --
- 65 files changed, 183 insertions(+), 671 deletions(-)
+ 65 files changed, 184 insertions(+), 670 deletions(-)
 
 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
@@ -186,24 +186,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
  import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
  import org.chromium.components.browser_ui.settings.SettingsUtils;
-@@ -44,14 +41,11 @@ public class PrivacySettings
+@@ -44,14 +41,13 @@ public class PrivacySettings
      private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
      private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
      private static final String PREF_SECURE_DNS = "secure_dns";
 -    private static final String PREF_USAGE_STATS = "usage_stats_reporting";
      private static final String PREF_DO_NOT_TRACK = "do_not_track";
 -    private static final String PREF_SAFE_BROWSING = "safe_browsing";
--    private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
+     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[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
 -            PREF_SAFE_BROWSING, PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS, PREF_USAGE_STATS,
 -            PREF_SECURE_DNS, PREF_DO_NOT_TRACK, PREF_SYNC_AND_SERVICES_LINK};
 +            PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
-+            PREF_SECURE_DNS, PREF_DO_NOT_TRACK};
++            PREF_SECURE_DNS, PREF_DO_NOT_TRACK, PREF_SYNC_AND_SERVICES_LINK
++        };
  
      private ManagedPreferenceDelegate mManagedPreferenceDelegate;
  
-@@ -72,23 +66,6 @@ public class PrivacySettings
+@@ -72,23 +68,6 @@ public class PrivacySettings
              }
          }
  
@@ -227,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          setHasOptionsMenu(true);
  
          mManagedPreferenceDelegate = createManagedPreferenceDelegate();
-@@ -163,30 +140,10 @@ public class PrivacySettings
+@@ -163,30 +142,10 @@ public class PrivacySettings
              secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
          }
  
@@ -2502,6 +2503,3 @@ diff --git a/content/public/browser/native_file_system_permission_context.h b/co
  
    // Returns whether the give |origin| already allows read permission, or it is
    // possible to request one. This is used to block file dialogs from being
--- 
-2.17.1
-

+ 21 - 14
build/patches/Move-some-account-settings-back-to-privacy-settings.patch

@@ -5,8 +5,8 @@ Subject: Move some account settings back to privacy settings
 Search suggestions, autofill assistant and contextual search
 ---
  .../java/res/xml/privacy_preferences.xml      | 19 ++++++
- .../privacy/settings/PrivacySettings.java     | 59 ++++++++++++++++++-
- 2 files changed, 77 insertions(+), 1 deletion(-)
+ .../privacy/settings/PrivacySettings.java     | 62 ++++++++++++++++++-
+ 2 files changed, 79 insertions(+), 2 deletions(-)
 
 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
@@ -52,8 +52,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  /**
   * Fragment to keep track of the all the privacy related preferences.
   */
-@@ -57,6 +64,18 @@ public class PrivacySettings
-     public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
+@@ -53,6 +60,18 @@ public class PrivacySettings
+     private static final String PREF_PROXY_OPTIONS = "proxy";
      public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
  
 +    // moved from SyncAndServicesSettings.java
@@ -68,10 +68,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
 +            SharedPreferencesManager.getInstance();
 +    private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
 +
-     @Override
-     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-         PrivacyPreferencesManager privacyPrefManager = PrivacyPreferencesManager.getInstance();
-@@ -78,6 +97,29 @@ public class PrivacySettings
+     private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+             PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
+@@ -60,7 +79,8 @@ public class PrivacySettings
+             PREF_INCOGNITO_TAB_HISTORY_ENABLED,
+             PREF_ALLOW_CUSTOM_TAB_INTENTS,
+             PREF_CLOSE_TABS_ON_EXIT,
+-            PREF_PROXY_OPTIONS
++            PREF_PROXY_OPTIONS,
++            PREF_SERVICES_CATEGORY
+         };
+ 
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
+@@ -86,6 +106,29 @@ public class PrivacySettings
  
          mManagedPreferenceDelegate = createManagedPreferenceDelegate();
  
@@ -101,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          ChromeBaseCheckBoxPreference canMakePaymentPref =
                  (ChromeBaseCheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
          canMakePaymentPref.setOnPreferenceChangeListener(this);
-@@ -110,6 +152,11 @@ public class PrivacySettings
+@@ -118,6 +161,11 @@ public class PrivacySettings
          } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
              UserPrefs.get(Profile.getLastUsedRegularProfile())
                      .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@@ -113,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
          } else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
              PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
          } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
-@@ -124,6 +171,16 @@ public class PrivacySettings
+@@ -132,6 +180,16 @@ public class PrivacySettings
          return true;
      }
  
@@ -130,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
      @Override
      public void onResume() {
          super.onResume();
-@@ -134,7 +191,7 @@ public class PrivacySettings
+@@ -142,7 +200,7 @@ public class PrivacySettings
       * Updates the summaries for several preferences.
       */
      public void updateSummaries() {
@@ -139,6 +149,3 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
  
          CheckBoxPreference canMakePaymentPref =
                  (CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
--- 
-2.17.1
-

+ 16 - 6
build/patches/Remove-signin-and-data-saver-integrations.patch

@@ -21,7 +21,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  .../android/java/res/xml/main_preferences.xml |   9 --
  .../chrome/browser/app/ChromeActivity.java    |  34 ------
  .../DataReductionPreferenceFragment.java      |  24 +---
- .../privacy/settings/PrivacySettings.java     |  10 --
+ .../privacy/settings/PrivacySettings.java     |  13 +--
  .../chrome/browser/settings/MainSettings.java | 108 +-----------------
  .../chrome/browser/signin/SigninManager.java  |  62 ++--------
  .../browser/sync/AndroidSyncSettings.java     |  24 +---
@@ -31,7 +31,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
  .../signin/SystemAccountManagerDelegate.java  |  38 +-----
  .../net/HttpNegotiateAuthenticator.java       |  88 +-------------
  .../chromoting/base/OAuthTokenFetcher.java    |   2 -
- 15 files changed, 27 insertions(+), 414 deletions(-)
+ 15 files changed, 28 insertions(+), 416 deletions(-)
 
 diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
 --- a/chrome/android/BUILD.gn
@@ -234,7 +234,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/s
 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
-@@ -84,16 +84,6 @@ public class PrivacySettings
+@@ -42,11 +42,10 @@ public class PrivacySettings
+     private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
+     private static final String PREF_SECURE_DNS = "secure_dns";
+     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[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
+             PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
+-            PREF_SECURE_DNS, PREF_DO_NOT_TRACK, PREF_SYNC_AND_SERVICES_LINK
++            PREF_SECURE_DNS, PREF_DO_NOT_TRACK
+         };
+ 
+     private ManagedPreferenceDelegate mManagedPreferenceDelegate;
+@@ -86,16 +85,6 @@ public class PrivacySettings
          Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
          secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
  
@@ -939,6 +952,3 @@ diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFe
      }
  
      private void fetchImpl(final String expiredToken) {
--- 
-2.17.1
-