From 4a9cbe673df842c3df74e60018c11763dded6f5e Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sat, 21 Dec 2019 10:03:09 +0100 Subject: [PATCH 1/3] Bugfixes to build vanilla Chromium --- build/GN_ARGS | 1 - ...-password-reuse-detection-on-android.patch | 11 +++--- build/patches/Disable-safe-browsing.patch | 12 ------- ...-consent-miscellanous-backport-fixes.patch | 34 +++++++++++++------ 4 files changed, 30 insertions(+), 28 deletions(-) diff --git a/build/GN_ARGS b/build/GN_ARGS index 96e84b37..18c108e0 100644 --- a/build/GN_ARGS +++ b/build/GN_ARGS @@ -1,5 +1,4 @@ android_channel="stable" -blink_symbol_level=0 blink_symbol_level=1 dcheck_always_on=false debuggable_apks=false diff --git a/build/patches/Disable-password-reuse-detection-on-android.patch b/build/patches/Disable-password-reuse-detection-on-android.patch index e18e3942..1d4179ab 100644 --- a/build/patches/Disable-password-reuse-detection-on-android.patch +++ b/build/patches/Disable-password-reuse-detection-on-android.patch @@ -3,21 +3,24 @@ Date: Sun, 15 Dec 2019 22:39:56 +0100 Subject: Disable password reuse detection on android --- - components/password_manager/core/browser/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + components/password_manager/core/browser/BUILD.gn | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn --- a/components/password_manager/core/browser/BUILD.gn +++ b/components/password_manager/core/browser/BUILD.gn -@@ -12,7 +12,7 @@ if (is_android) { +@@ -12,9 +12,9 @@ if (is_android) { # TODO(crbug.com/1006430): Fix password reuse detection not fully functional on # Android. -password_reuse_detection_support = !is_ios +password_reuse_detection_support = !is_ios && !is_android password_reuse_warning_support = !is_android && !is_ios - password_on_focus_ping_support = !is_android && !is_ios +-password_on_focus_ping_support = !is_ios ++password_on_focus_ping_support = !is_android && !is_ios + config("password_reuse_detection_config") { + defines = [] -- 2.17.1 diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index 1694ace7..f6f0d150 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -2005,18 +2005,6 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer #include "components/spellcheck/spellcheck_buildflags.h" #include "components/startup_metric_utils/common/startup_metric.mojom.h" #include "components/subresource_filter/content/renderer/subresource_filter_agent.h" -diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn ---- a/components/password_manager/core/browser/BUILD.gn -+++ b/components/password_manager/core/browser/BUILD.gn -@@ -14,7 +14,7 @@ if (is_android) { - # Android. - password_reuse_detection_support = !is_ios - password_reuse_warning_support = !is_android && !is_ios --password_on_focus_ping_support = !is_ios -+password_on_focus_ping_support = !is_android && !is_ios - - config("password_reuse_detection_config") { - defines = [] diff --git a/components/safe_browsing/features.cc b/components/safe_browsing/features.cc --- a/components/safe_browsing/features.cc +++ b/components/safe_browsing/features.cc diff --git a/build/patches/Unified-consent-miscellanous-backport-fixes.patch b/build/patches/Unified-consent-miscellanous-backport-fixes.patch index 723729e0..a9ddd6b3 100644 --- a/build/patches/Unified-consent-miscellanous-backport-fixes.patch +++ b/build/patches/Unified-consent-miscellanous-backport-fixes.patch @@ -3,14 +3,14 @@ Date: Wed, 18 Dec 2019 23:54:37 +0100 Subject: Unified consent miscellanous backport fixes --- - .../privacy/PrivacyPreferences.java | 26 ------------------- - .../sync/SyncNotificationController.java | 12 +++------ - 2 files changed, 3 insertions(+), 35 deletions(-) + .../privacy/PrivacyPreferences.java | 38 ------------------- + .../sync/SyncNotificationController.java | 12 ++---- + 2 files changed, 3 insertions(+), 47 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java -@@ -10,7 +10,6 @@ import android.support.graphics.drawable.VectorDrawableCompat; +@@ -9,7 +9,6 @@ import android.support.graphics.drawable.VectorDrawableCompat; import android.support.v7.preference.CheckBoxPreference; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceFragmentCompat; @@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -@@ -50,13 +49,10 @@ public class PrivacyPreferences +@@ -56,13 +55,10 @@ public class PrivacyPreferences @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -32,14 +32,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri mManagedPreferenceDelegate = createManagedPreferenceDelegate(); -@@ -70,27 +66,6 @@ public class PrivacyPreferences +@@ -76,39 +72,6 @@ public class PrivacyPreferences networkPredictionPref.setOnPreferenceChangeListener(this); networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); - if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) { - // Remove preferences that were migrated to SyncAndServicesPreferences. +- preferenceScreen.removePreference(findPreference(PREF_NAVIGATION_ERROR)); - preferenceScreen.removePreference(findPreference(PREF_SEARCH_SUGGESTIONS)); +- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING)); +- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING)); - preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); +- preferenceScreen.removePreference(findPreference(PREF_USAGE_AND_CRASH_REPORTING)); - - // TODO(https://crbug.com/846376): Update strings in XML after UNIFIED_CONSENT launch. - networkPredictionPref.setTitle(R.string.preload_pages_title); @@ -53,14 +57,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri - networkPredictionPref.setOrder(canMakePaymentPref.getOrder()); - preferenceScreen.addPreference(networkPredictionPref); - +- Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); +- NoUnderlineClickableSpan linkSpan = new NoUnderlineClickableSpan(getResources(), view -> { +- PreferencesLauncher.launchSettingsPage(getActivity(), SyncAndServicesPreferences.class, +- SyncAndServicesPreferences.createArguments(false)); +- }); +- syncAndServicesLink.setSummary( +- SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link), +- new SpanApplier.SpanInfo("", "", linkSpan))); +- - updateSummaries(); - return; - } -- - ChromeBaseCheckBoxPreference searchSuggestionsPref = - (ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS); - searchSuggestionsPref.setOnPreferenceChangeListener(this); -@@ -135,7 +110,6 @@ public class PrivacyPreferences + preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); + preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); + +@@ -176,7 +139,6 @@ public class PrivacyPreferences */ public void updateSummaries() { PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance(); From edaf4c0f1713d5b4b52523a1d95b7517e9a5f032 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Mon, 23 Dec 2019 02:28:56 +0100 Subject: [PATCH 2/3] Fixes for unified consent and feed build issues --- .../Allow-building-without-feed-support.patch | 54 ++++++++++++++- ...-consent-miscellanous-backport-fixes.patch | 65 ++++++++++++++++--- 2 files changed, 109 insertions(+), 10 deletions(-) diff --git a/build/patches/Allow-building-without-feed-support.patch b/build/patches/Allow-building-without-feed-support.patch index 88e09d24..84f7fe1b 100644 --- a/build/patches/Allow-building-without-feed-support.patch +++ b/build/patches/Allow-building-without-feed-support.patch @@ -3,9 +3,59 @@ Date: Thu, 19 Dec 2019 22:52:53 +0100 Subject: Allow building without feed support --- - .../chrome/browser/ntp/cards/ExploreOfflineCard.java | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) + .../start_surface/StartSurfaceCoordinator.java | 5 ----- + .../start_surface/StartSurfaceMediator.java | 16 ---------------- + .../browser/ntp/cards/ExploreOfflineCard.java | 5 +---- + 3 files changed, 1 insertion(+), 25 deletions(-) +diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java +--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java ++++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java +@@ -198,11 +198,6 @@ public class StartSurfaceCoordinator implements StartSurface { + mBottomBarCoordinator = new BottomBarCoordinator( + mActivity, mActivity.getCompositorViewHolder(), mPropertyModel); + } +- +- mExploreSurfaceCoordinator = new ExploreSurfaceCoordinator(mActivity, +- mSurfaceMode == SurfaceMode.SINGLE_PANE ? mTasksSurface.getBodyViewContainer() +- : mActivity.getCompositorViewHolder(), +- mPropertyModel, mSurfaceMode == SurfaceMode.SINGLE_PANE); + } + + private TabSwitcher.Controller initializeSecondaryTasksSurface() { +diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java ++++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +@@ -253,15 +253,6 @@ class StartSurfaceMediator + RecordUserAction.record("StartSurface.TasksOnly"); + } + +- // Make sure FeedSurfaceCoordinator is built before the explore surface is showing by +- // default. +- if (mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE) +- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) { +- mPropertyModel.set(FEED_SURFACE_COORDINATOR, +- mFeedSurfaceCreator.createFeedSurfaceCoordinator( +- mNightModeStateProvider.isInNightMode())); +- } +- + mPropertyModel.set(IS_SHOWING_OVERVIEW, true); + mFakeboxDelegate.addUrlFocusChangeListener(mUrlFocusChangeListener); + } +@@ -361,13 +352,6 @@ class StartSurfaceMediator + private void setExploreSurfaceVisibility(boolean isVisible) { + if (isVisible == mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)) return; + +- if (isVisible && mPropertyModel.get(IS_SHOWING_OVERVIEW) +- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) { +- mPropertyModel.set(FEED_SURFACE_COORDINATOR, +- mFeedSurfaceCreator.createFeedSurfaceCoordinator( +- mNightModeStateProvider.isInNightMode())); +- } +- + mPropertyModel.set(IS_EXPLORE_SURFACE_VISIBLE, isVisible); + + if (mSurfaceMode == SurfaceMode.TWO_PANES) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java diff --git a/build/patches/Unified-consent-miscellanous-backport-fixes.patch b/build/patches/Unified-consent-miscellanous-backport-fixes.patch index a9ddd6b3..6d2db27e 100644 --- a/build/patches/Unified-consent-miscellanous-backport-fixes.patch +++ b/build/patches/Unified-consent-miscellanous-backport-fixes.patch @@ -3,9 +3,10 @@ Date: Wed, 18 Dec 2019 23:54:37 +0100 Subject: Unified consent miscellanous backport fixes --- - .../privacy/PrivacyPreferences.java | 38 ------------------- - .../sync/SyncNotificationController.java | 12 ++---- - 2 files changed, 3 insertions(+), 47 deletions(-) + .../privacy/PrivacyPreferences.java | 52 ++----------------- + .../preferences/sync/SyncPreferenceUtils.java | 3 -- + .../sync/SyncNotificationController.java | 12 ++--- + 3 files changed, 6 insertions(+), 61 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java @@ -18,7 +19,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -@@ -56,13 +55,10 @@ public class PrivacyPreferences +@@ -45,7 +44,6 @@ public class PrivacyPreferences + private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search"; + private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; + private static final String PREF_DO_NOT_TRACK = "do_not_track"; +- private static final String PREF_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports"; + private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; + private static final String PREF_SYNC_AND_SERVICES_LINK_DIVIDER = + "sync_and_services_link_divider"; +@@ -56,13 +54,10 @@ public class PrivacyPreferences @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { @@ -32,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri mManagedPreferenceDelegate = createManagedPreferenceDelegate(); -@@ -76,39 +72,6 @@ public class PrivacyPreferences +@@ -76,41 +71,8 @@ public class PrivacyPreferences networkPredictionPref.setOnPreferenceChangeListener(this); networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); @@ -69,10 +78,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri - updateSummaries(); - return; - } - preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); - preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); +- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); +- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); ++ getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); ++ getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); -@@ -176,7 +139,6 @@ public class PrivacyPreferences + ChromeBaseCheckBoxPreference navigationErrorPref = + (ChromeBaseCheckBoxPreference) findPreference(PREF_NAVIGATION_ERROR); +@@ -123,7 +85,7 @@ public class PrivacyPreferences + searchSuggestionsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); + + if (!ContextualSearchFieldTrial.isEnabled()) { +- preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); ++ getPreferenceScreen().removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); + } + + // Listen to changes to the Extended Reporting pref. +@@ -176,7 +138,6 @@ public class PrivacyPreferences */ public void updateSummaries() { PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance(); @@ -80,6 +102,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri CharSequence textOn = getActivity().getResources().getText(R.string.text_on); CharSequence textOff = getActivity().getResources().getText(R.string.text_off); +@@ -226,13 +187,6 @@ public class PrivacyPreferences + contextualPref.setSummary(isContextualSearchEnabled ? textOn : textOff); + } + +- Preference usageAndCrashPref = findPreference(PREF_USAGE_AND_CRASH_REPORTING); +- if (usageAndCrashPref != null) { +- usageAndCrashPref.setSummary( +- privacyPrefManager.isUsageAndCrashReportingPermittedByUser() ? textOn +- : textOff); +- } +- + Preference usageStatsPref = findPreference(PREF_USAGE_STATS); + if (usageStatsPref != null) { + if (BuildInfo.isAtLeastQ() && prefServiceBridge.getBoolean(Pref.USAGE_STATS_ENABLED)) { +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java +@@ -118,9 +118,6 @@ public class SyncPreferenceUtils { + if (profileSyncService.isPassphraseRequiredForPreferredDataTypes()) { + return res.getString(R.string.sync_need_passphrase); + } +- if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) { +- return context.getString(R.string.sync_and_services_summary_sync_on); +- } + return context.getString(R.string.account_management_sync_summary, accountName); + } + return context.getString(R.string.sync_is_disabled); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java From d1fb4d4974513ef8343a412d2d384d7b7dbedc51 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Fri, 27 Dec 2019 16:05:14 +0100 Subject: [PATCH 3/3] Updated patches for next v79 release --- ...dd-custom-tab-intents-privacy-option.patch | 8 +- ...-to-not-persist-tabs-across-sessions.patch | 23 +++--- build/patches/Disable-safe-browsing.patch | 82 +++++++------------ build/patches/Log-DoH-timeout.patch | 27 ++++++ ...e-signin-and-data-saver-integrations.patch | 45 +++------- build/patches/User-Agent-anonymize.patch | 2 +- 6 files changed, 82 insertions(+), 105 deletions(-) create mode 100644 build/patches/Log-DoH-timeout.patch diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch index c359fcb0..3e9585ee 100644 --- a/build/patches/Add-custom-tab-intents-privacy-option.patch +++ b/build/patches/Add-custom-tab-intents-privacy-option.patch @@ -61,7 +61,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java -@@ -43,6 +43,8 @@ public class PrivacyPreferences +@@ -42,6 +42,8 @@ public class PrivacyPreferences private ManagedPreferenceDelegate mManagedPreferenceDelegate; @@ -69,8 +69,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri + @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - PrivacyPreferencesManager privacyPrefManager = PrivacyPreferencesManager.getInstance(); -@@ -101,6 +103,10 @@ public class PrivacyPreferences + PreferenceUtils.addPreferencesFromResource(this, R.xml.privacy_preferences); +@@ -76,6 +78,10 @@ public class PrivacyPreferences PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue); } else if (PREF_NETWORK_PREDICTIONS.equals(key)) { PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue); @@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri } else if (PREF_CONTEXTUAL_SEARCH.equals(key)) { PrefServiceBridge.getInstance().setContextualSearchPreference(((boolean) newValue) ? "true" : "false"); } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) { -@@ -140,6 +146,11 @@ public class PrivacyPreferences +@@ -114,6 +120,11 @@ public class PrivacyPreferences prefServiceBridge.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); } diff --git a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch index 8bc52024..7108dbcf 100644 --- a/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch +++ b/build/patches/Add-option-to-not-persist-tabs-across-sessions.patch @@ -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 +++++ - .../chrome/browser/ChromeTabbedActivity.java | 4 +++- - .../preferences/privacy/PrivacyPreferences.java | 12 ++++++++++++ - .../android/java/strings/android_chrome_strings.grd | 6 ++++++ - 5 files changed, 29 insertions(+), 1 deletion(-) + chrome/android/java/res/values/values.xml | 3 +++ + chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++ + .../chromium/chrome/browser/ChromeTabbedActivity.java | 4 +++- + .../preferences/privacy/PrivacyPreferences.java | 11 +++++++++++ + .../android/java/strings/android_chrome_strings.grd | 6 ++++++ + 5 files changed, 28 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 @@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import android.os.Bundle; import android.support.graphics.drawable.VectorDrawableCompat; import android.support.v7.preference.CheckBoxPreference; -@@ -14,6 +15,7 @@ import android.view.Menu; +@@ -13,6 +14,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import org.chromium.base.BuildInfo; import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeFeatureList; -@@ -38,6 +40,7 @@ public class PrivacyPreferences +@@ -37,6 +39,7 @@ public class PrivacyPreferences private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search"; private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; @@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri private static final String PREF_DO_NOT_TRACK = "do_not_track"; private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; -@@ -112,6 +115,10 @@ public class PrivacyPreferences +@@ -87,6 +90,10 @@ public class PrivacyPreferences } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) { PrefServiceBridge.getInstance().setBoolean( Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); @@ -91,11 +91,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri } return true; -@@ -162,6 +169,11 @@ public class PrivacyPreferences - boolean isContextualSearchEnabled = !prefServiceBridge.isContextualSearchDisabled(); +@@ -137,6 +144,10 @@ public class PrivacyPreferences contextualPref.setSummary(isContextualSearchEnabled ? textOn : textOff); } -+ + + ChromeBaseCheckBoxPreference closeTabsOnExitPref = + (ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT); + closeTabsOnExitPref.setOnPreferenceChangeListener(this); diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index f6f0d150..9a587848 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -7,32 +7,32 @@ Contains Android-specific fixes to remove Safe Browsing --- chrome/android/chrome_java_sources.gni | 1 - .../java/res/xml/privacy_preferences.xml | 21 ----- - .../res/xml/sync_and_services_preferences.xml | 20 ---- - .../privacy/PrivacyPreferences.java | 94 ------------------- + .../res/xml/sync_and_services_preferences.xml | 20 ----- + .../privacy/PrivacyPreferences.java | 81 ------------------- .../browser/webshare/ShareServiceImpl.java | 6 -- - .../java/strings/android_chrome_strings.grd | 33 ------- + .../java/strings/android_chrome_strings.grd | 33 -------- chrome/browser/BUILD.gn | 2 - chrome/browser/browser_process.h | 16 ---- - chrome/browser/browser_process_impl.cc | 36 ------- + chrome/browser/browser_process_impl.cc | 36 --------- chrome/browser/browser_process_impl.h | 6 -- - .../chrome_browsing_data_remover_delegate.cc | 41 -------- - .../browser/chrome_content_browser_client.cc | 60 +++--------- + .../chrome_browsing_data_remover_delegate.cc | 41 ---------- + .../browser/chrome_content_browser_client.cc | 60 +++----------- .../file_type_policies_component_installer.cc | 16 +--- - .../chrome_download_manager_delegate.cc | 31 +++--- + .../chrome_download_manager_delegate.cc | 31 +++---- .../chrome_download_manager_delegate.h | 8 +- .../browser/download/download_item_model.cc | 13 ++- chrome/browser/download/download_item_model.h | 4 + - chrome/browser/download/download_prefs.cc | 17 +--- - .../download/download_target_determiner.cc | 46 ++++----- + chrome/browser/download/download_prefs.cc | 17 ++-- + .../download/download_target_determiner.cc | 46 +++++------ .../download/download_target_determiner.h | 6 ++ .../browser/download/download_target_info.cc | 4 + .../browser/download/download_target_info.h | 4 + chrome/browser/download/download_ui_model.cc | 4 + chrome/browser/download/download_ui_model.h | 4 + - .../extensions/api/downloads/downloads_api.cc | 39 +------- - .../extensions/api/downloads/downloads_api.h | 10 -- - .../webstore_private/webstore_private_api.cc | 44 +-------- - .../extensions/blacklist_state_fetcher.cc | 34 +------ + .../extensions/api/downloads/downloads_api.cc | 39 +-------- + .../extensions/api/downloads/downloads_api.h | 10 --- + .../webstore_private/webstore_private_api.cc | 44 +--------- + .../extensions/blacklist_state_fetcher.cc | 34 +------- .../extensions/blacklist_state_fetcher.h | 3 - .../metrics/chrome_metrics_service_client.cc | 3 - ...e_native_file_system_permission_context.cc | 5 +- @@ -44,19 +44,18 @@ Contains Android-specific fixes to remove Safe Browsing .../ssl/captive_portal_blocking_page.cc | 7 +- chrome/browser/ssl/cert_report_helper.cc | 2 - .../browser/ssl/security_state_tab_helper.cc | 2 + - .../chrome_subresource_filter_client.cc | 10 -- + .../chrome_subresource_filter_client.cc | 10 --- chrome/browser/ui/BUILD.gn | 1 - chrome/browser/ui/tab_helpers.cc | 8 -- .../ui/webui/interstitials/interstitial_ui.cc | 13 +-- - chrome/common/safe_browsing/BUILD.gn | 15 --- + chrome/common/safe_browsing/BUILD.gn | 15 ---- .../chrome_content_renderer_client.cc | 1 - - .../password_manager/core/browser/BUILD.gn | 2 +- components/safe_browsing/features.cc | 2 +- .../unified_consent_service.cc | 2 +- - .../native_file_system_file_writer_impl.cc | 48 +--------- - .../native_file_system_file_writer_impl.h | 15 +-- + .../native_file_system_file_writer_impl.cc | 48 +---------- + .../native_file_system_file_writer_impl.h | 15 +--- .../native_file_system_permission_context.h | 7 -- - 51 files changed, 128 insertions(+), 651 deletions(-) + 50 files changed, 127 insertions(+), 637 deletions(-) diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni @@ -149,7 +148,7 @@ diff --git a/chrome/android/java/res/xml/sync_and_services_preferences.xml b/chr diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java -@@ -17,7 +17,6 @@ import android.view.MenuItem; +@@ -16,7 +16,6 @@ import android.view.MenuItem; import org.chromium.base.BuildInfo; import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeFeatureList; @@ -157,7 +156,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import org.chromium.chrome.browser.help.HelpAndFeedback; import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; import org.chromium.chrome.browser.preferences.ManagedPreferenceDelegate; -@@ -36,21 +35,15 @@ import org.chromium.ui.text.SpanApplier; +@@ -35,11 +34,7 @@ import org.chromium.ui.text.SpanApplier; */ public class PrivacyPreferences extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener { @@ -169,9 +168,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment"; private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search"; private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; - private static final String PREF_DO_NOT_TRACK = "do_not_track"; -- private static final String PREF_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports"; - private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; +@@ -48,7 +43,6 @@ public class PrivacyPreferences private static final String PREF_SYNC_AND_SERVICES_LINK_DIVIDER = "sync_and_services_link_divider"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; @@ -179,22 +176,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri private ManagedPreferenceDelegate mManagedPreferenceDelegate; -@@ -78,12 +71,8 @@ public class PrivacyPreferences - - if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) { - // Remove preferences that were migrated to SyncAndServicesPreferences. -- preferenceScreen.removePreference(findPreference(PREF_NAVIGATION_ERROR)); - preferenceScreen.removePreference(findPreference(PREF_SEARCH_SUGGESTIONS)); -- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING)); -- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING)); - preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); -- preferenceScreen.removePreference(findPreference(PREF_USAGE_AND_CRASH_REPORTING)); - - // TODO(https://crbug.com/846376): Update strings in XML after UNIFIED_CONSENT launch. - networkPredictionPref.setTitle(R.string.preload_pages_title); -@@ -112,32 +101,11 @@ public class PrivacyPreferences - preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); - preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); +@@ -74,32 +68,11 @@ public class PrivacyPreferences + getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); + getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); - ChromeBaseCheckBoxPreference navigationErrorPref = - (ChromeBaseCheckBoxPreference) findPreference(PREF_NAVIGATION_ERROR); @@ -207,7 +191,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri searchSuggestionsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); - if (!ContextualSearchFieldTrial.isEnabled()) { -- preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); +- getPreferenceScreen().removePreference(findPreference(PREF_CONTEXTUAL_SEARCH)); - } - - // Listen to changes to the Extended Reporting pref. @@ -225,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri updateSummaries(); } -@@ -146,15 +114,8 @@ public class PrivacyPreferences +@@ -108,15 +81,8 @@ public class PrivacyPreferences String key = preference.getKey(); if (PREF_SEARCH_SUGGESTIONS.equals(key)) { PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue); @@ -241,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri } else if (PREF_CONTEXTUAL_SEARCH.equals(key)) { PrefServiceBridge.getInstance().setContextualSearchPreference(((boolean) newValue) ? "true" : "false"); } else if (PREF_CAN_MAKE_PAYMENT.equals(key)) { -@@ -181,32 +142,12 @@ public class PrivacyPreferences +@@ -142,32 +108,12 @@ public class PrivacyPreferences CharSequence textOn = getActivity().getResources().getText(R.string.text_on); CharSequence textOff = getActivity().getResources().getText(R.string.text_off); @@ -274,18 +258,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri CheckBoxPreference canMakePaymentPref = (CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT); if (canMakePaymentPref != null) { -@@ -225,50 +166,15 @@ public class PrivacyPreferences - boolean isContextualSearchEnabled = !prefServiceBridge.isContextualSearchDisabled(); +@@ -187,42 +133,15 @@ public class PrivacyPreferences contextualPref.setSummary(isContextualSearchEnabled ? textOn : textOff); } -- -- Preference usageAndCrashPref = findPreference(PREF_USAGE_AND_CRASH_REPORTING); -- if (usageAndCrashPref != null) { -- usageAndCrashPref.setSummary( -- privacyPrefManager.isUsageAndCrashReportingPermittedByUser() ? textOn -- : textOff); -- } -- + - Preference usageStatsPref = findPreference(PREF_USAGE_STATS); - if (usageStatsPref != null) { - if (BuildInfo.isAtLeastQ() && prefServiceBridge.getBoolean(Pref.USAGE_STATS_ENABLED)) { diff --git a/build/patches/Log-DoH-timeout.patch b/build/patches/Log-DoH-timeout.patch new file mode 100644 index 00000000..f6d2ffa0 --- /dev/null +++ b/build/patches/Log-DoH-timeout.patch @@ -0,0 +1,27 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Sun, 15 Dec 2019 17:59:04 +0100 +Subject: Log DoH timeout + +--- + net/dns/dns_session.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/net/dns/dns_session.cc b/net/dns/dns_session.cc +--- a/net/dns/dns_session.cc ++++ b/net/dns/dns_session.cc +@@ -325,9 +325,11 @@ base::TimeDelta DnsSession::NextTimeout(unsigned server_index, int attempt) { + } + + base::TimeDelta DnsSession::NextDohTimeout(unsigned doh_server_index) { +- return NextTimeoutHelper( ++ base::TimeDelta delta = NextTimeoutHelper( + GetServerStats(doh_server_index, true /* is _doh_server */), + 0 /* num_backoffs */); ++ LOG(INFO) << "DoH: using timeout: " << delta; ++ return delta; + } + + base::TimeDelta DnsSession::NextTimeoutHelper(ServerStats* server_stats, +-- +2.17.1 + diff --git a/build/patches/Remove-signin-and-data-saver-integrations.patch b/build/patches/Remove-signin-and-data-saver-integrations.patch index 1d1f7684..e8448840 100644 --- a/build/patches/Remove-signin-and-data-saver-integrations.patch +++ b/build/patches/Remove-signin-and-data-saver-integrations.patch @@ -22,9 +22,8 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions() .../chrome/browser/ChromeActivity.java | 34 ------- .../browser/preferences/MainPreferences.java | 86 +----------------- .../DataReductionPreferenceFragment.java | 24 ++--- - .../privacy/PrivacyPreferences.java | 15 ---- + .../privacy/PrivacyPreferences.java | 7 -- .../sync/SyncAndServicesPreferences.java | 8 -- - .../preferences/sync/SyncPreferenceUtils.java | 3 - .../chrome/browser/signin/SigninManager.java | 71 ++------------- .../java/strings/android_chrome_strings.grd | 18 ---- .../android/signin/signin_manager_android.cc | 1 - @@ -34,7 +33,7 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions() .../components/sync/AndroidSyncSettings.java | 24 +---- .../net/HttpNegotiateAuthenticator.java | 88 +------------------ .../chromoting/base/OAuthTokenFetcher.java | 2 - - 18 files changed, 26 insertions(+), 458 deletions(-) + 17 files changed, 26 insertions(+), 447 deletions(-) diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn @@ -460,7 +459,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/dat diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java -@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.preferences.Pref; +@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.PrefServiceBridge; import org.chromium.chrome.browser.preferences.PreferenceUtils; import org.chromium.chrome.browser.preferences.PreferencesLauncher; @@ -468,7 +467,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog; import org.chromium.ui.text.NoUnderlineClickableSpan; -@@ -41,9 +40,6 @@ public class PrivacyPreferences +@@ -40,9 +39,6 @@ public class PrivacyPreferences private static final String PREF_NETWORK_PREDICTIONS = "preload_pages"; private static final String PREF_DO_NOT_TRACK = "do_not_track"; private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; @@ -478,27 +477,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri private ManagedPreferenceDelegate mManagedPreferenceDelegate; -@@ -86,20 +82,9 @@ public class PrivacyPreferences - networkPredictionPref.setOrder(canMakePaymentPref.getOrder()); - preferenceScreen.addPreference(networkPredictionPref); +@@ -65,9 +61,6 @@ public class PrivacyPreferences + networkPredictionPref.setOnPreferenceChangeListener(this); + networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate); -- Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK); -- NoUnderlineClickableSpan linkSpan = new NoUnderlineClickableSpan(getResources(), view -> { -- PreferencesLauncher.launchSettingsPage(getActivity(), SyncAndServicesPreferences.class, -- SyncAndServicesPreferences.createArguments(false)); -- }); -- syncAndServicesLink.setSummary( -- SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link), -- new SpanApplier.SpanInfo("", "", linkSpan))); +- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); +- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); - - updateSummaries(); - return; - } -- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER)); -- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK)); - ChromeBaseCheckBoxPreference searchSuggestionsPref = (ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS); + searchSuggestionsPref.setOnPreferenceChangeListener(this); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java --- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java @@ -518,19 +506,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/syn PreferenceUtils.addPreferencesFromResource(this, R.xml.sync_and_services_preferences); -diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java ---- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java -+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java -@@ -118,9 +118,6 @@ public class SyncPreferenceUtils { - if (profileSyncService.isPassphraseRequiredForPreferredDataTypes()) { - return res.getString(R.string.sync_need_passphrase); - } -- if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) { -- return context.getString(R.string.sync_and_services_summary_sync_on); -- } - return context.getString(R.string.account_management_sync_summary, accountName); - } - return context.getString(R.string.sync_is_disabled); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java diff --git a/build/patches/User-Agent-anonymize.patch b/build/patches/User-Agent-anonymize.patch index 14825331..641bb8e6 100644 --- a/build/patches/User-Agent-anonymize.patch +++ b/build/patches/User-Agent-anonymize.patch @@ -18,7 +18,7 @@ diff --git a/components/version_info/version_info.cc b/components/version_info/v std::string GetProductNameAndVersionForUserAgent() { - return "Chrome/" + GetVersionNumber(); + // latest stable version -+ return "Chrome/79.0.3945.79"; ++ return "Chrome/79.0.3945.93"; } std::string GetProductName() {