mOverviewModeSupplierCallback;
+ private @Nullable OverviewModeBehavior mOverviewModeBehavior;
-@@ -27,6 +28,9 @@ import java.util.ArrayList;
- * AppMenuObservers about these actions.
- */
- public class AppMenuHandler {
-+
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+
- private AppMenu mAppMenu;
- private AppMenuDragHelper mAppMenuDragHelper;
- private Menu mMenu;
-@@ -184,6 +188,14 @@ public class AppMenuHandler {
+ /**
+ * The resource id of the menu item to highlight when the menu next opens. A value of
+ * {@code null} means no item will be highlighted. This value will be cleared after the menu is
+@@ -237,6 +240,14 @@ class AppMenuHandlerImpl implements AppMenuHandler, StartStopWithNativeObserver,
if (mDelegate.shouldShowHeader(appRect.height())) {
headerResourceId = mDelegate.getHeaderResourceId();
}
@@ -181,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
-@@ -14,6 +14,7 @@ import android.webkit.MimeTypeMap;
+@@ -15,6 +15,7 @@ import android.webkit.URLUtil;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.metrics.RecordHistogram;
@@ -189,7 +188,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabPanel;
-@@ -44,6 +45,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
+@@ -45,6 +46,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
private static final String TAG = "CCMenuPopulator";
private final ContextMenuItemDelegate mDelegate;
private final @ContextMenuMode int mMode;
@@ -197,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
/**
* Defines the Groups of each Context Menu Item
-@@ -252,7 +254,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
+@@ -266,7 +268,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && mMode == ContextMenuMode.NORMAL
&& !isEmptyUrl(params.getUrl())
&& UrlUtilities.isAcceptedScheme(params.getUrl())) {
@@ -299,7 +298,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -736,6 +736,12 @@ CHAR-LIMIT guidelines:
+@@ -722,6 +722,12 @@ CHAR-LIMIT guidelines:
To detect dangerous apps and sites, Chrome sends URLs of some pages you visit, limited system information, and some page content to Google
diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch
index 03219252..18ff21fa 100644
--- a/build/patches/Add-bookmark-import-export-actions.patch
+++ b/build/patches/Add-bookmark-import-export-actions.patch
@@ -273,8 +273,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkModelObserver;
+import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.favicon.LargeIconBridge;
+ import org.chromium.chrome.browser.gesturenav.HistoryNavigationDelegate;
import org.chromium.chrome.browser.native_page.BasicNativePage;
- import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksReader;
@@ -32,6 +33,7 @@ import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
import org.chromium.chrome.browser.widget.selection.SelectableListToolbar.SearchDelegate;
import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
@@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
activity, false, ((SnackbarManageable) activity).getSnackbarManager());
mManager.setBasicNativePage(this);
+ mManager.setWindow(activity.getWindowAndroid());
- mManager.setTab(host.getActiveTab());
+ mManager.setHistoryNavigationDelegate(host.createHistoryNavigationDelegate());
mTitle = activity.getString(R.string.bookmarks);
}
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
@@ -352,7 +352,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -165,6 +165,10 @@ jumbo_split_static_library("browser") {
+@@ -174,6 +174,10 @@ jumbo_split_static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
@@ -362,9 +362,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
+ "bookmarks/bookmark_html_writer.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
- "bookmarks/bookmark_stats.cc",
-@@ -2798,8 +2802,6 @@ jumbo_split_static_library("browser") {
- "banners/app_banner_infobar_delegate_desktop.h",
+ "bookmarks/chrome_bookmark_client.cc",
+@@ -2857,8 +2861,6 @@ jumbo_split_static_library("browser") {
+ "badging/badge_service_impl.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc",
@@ -372,7 +372,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"certificate_viewer.h",
"chrome_browser_field_trials_desktop.cc",
"chrome_browser_field_trials_desktop.h",
-@@ -2889,8 +2891,6 @@ jumbo_split_static_library("browser") {
+@@ -2958,8 +2960,6 @@ jumbo_split_static_library("browser") {
"importer/importer_uma.h",
"importer/in_process_importer_bridge.cc",
"importer/in_process_importer_bridge.h",
@@ -776,7 +776,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
-@@ -446,6 +446,9 @@ static_library("common") {
+@@ -438,6 +438,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -789,7 +789,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
-@@ -60,8 +60,6 @@ static_library("utility") {
+@@ -66,8 +66,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@@ -798,7 +798,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/edge_database_reader_win.cc",
-@@ -170,6 +168,11 @@ static_library("utility") {
+@@ -165,6 +163,11 @@ static_library("utility") {
}
}
@@ -965,7 +965,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
&& requestPermissions[i].equals(storagePermission)) {
onFileNotSelected();
return;
-@@ -331,6 +338,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
+@@ -333,6 +340,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@@ -973,7 +973,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
-@@ -603,6 +611,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
+@@ -605,6 +613,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(specificType) > 0;
}
diff --git a/build/patches/Add-custom-tab-intents-privacy-option.patch b/build/patches/Add-custom-tab-intents-privacy-option.patch
index 0a6ee118..c3d785c9 100644
--- a/build/patches/Add-custom-tab-intents-privacy-option.patch
+++ b/build/patches/Add-custom-tab-intents-privacy-option.patch
@@ -41,15 +41,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
-@@ -42,6 +42,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
+@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferences;
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
- import org.chromium.chrome.browser.tabmodel.DocumentModeAssassin;
-@@ -286,6 +287,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
+ import org.chromium.chrome.browser.util.FeatureUtilities;
+@@ -270,6 +271,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -94,10 +94,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -4073,6 +4073,13 @@ To change this setting, <resetlink>reset sync
+ Close other incognito tabs
-
+
+ Allow custom tab intents
+
@@ -105,9 +105,9 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
+ Allow applications to open custom tab intents, similar to webview.
+
+
-
-
- Updating Chrome...
+
+
+
--
2.11.0
diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch
index 1e3c5c70..a3d33f7c 100644
--- a/build/patches/Add-exit-menu-item.patch
+++ b/build/patches/Add-exit-menu-item.patch
@@ -25,15 +25,15 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
-@@ -2149,6 +2149,8 @@ public abstract class ChromeActivity
- } else if (id == R.id.show_menu) {
- if (FeatureUtilities.isNoTouchModeEnabled()) return false;
- showAppMenuForKeyboardEvent();
+@@ -2151,6 +2151,8 @@ public abstract class ChromeActivity
+ new AddToHomescreenManager(this, currentTab);
+ addToHomescreenManager.start();
+ RecordUserAction.record("MobileMenuAddToHomescreen");
+ } else if (id == R.id.exit_id) {
+ ApplicationLifetime.terminate(false);
- } else if (id == R.id.find_in_page_id) {
- if (mFindToolbarManager == null) return false;
-
+ } else if (id == R.id.open_webapk_id) {
+ Context context = ContextUtils.getApplicationContext();
+ String packageName =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
@@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -3148,6 +3148,9 @@ To change this setting, <resetlink>reset sync<resetlink>reset sync
Settings
diff --git a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
index 4e655b97..3d449242 100644
--- a/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
+++ b/build/patches/Add-flag-to-configure-maximum-connections-per-host.patch
@@ -18,7 +18,7 @@ with limited CPU/memory resources and it is disabled by default.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -652,6 +652,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
+@@ -581,6 +581,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// Ensure that all effective connection types returned by Network Quality
// Estimator (NQE) are also exposed via flags.
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
-@@ -2230,6 +2235,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2183,6 +2188,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kPassiveDocumentEventListenersName,
flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -1273,6 +1273,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
+@@ -1163,6 +1163,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -779,6 +779,9 @@ extern const char kMarkHttpAsWarning[];
+@@ -714,6 +714,9 @@ extern const char kMarkHttpAsWarning[];
extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
@@ -111,9 +111,9 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
-@@ -21,6 +21,10 @@
- #include "net/socket/ssl_connect_job.h"
- #include "net/socket/transport_connect_job.h"
+@@ -19,6 +19,10 @@
+ #include "net/socket/client_socket_pool.h"
+ #include "net/socket/connect_job.h"
#include "net/ssl/ssl_config.h"
+#include "components/network_session_configurator/common/network_switches.h"
+
@@ -122,7 +122,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
namespace net {
-@@ -262,6 +266,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
+@@ -184,6 +188,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
int ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
diff --git a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
index 9ae9b034..bf9d6387 100644
--- a/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
+++ b/build/patches/Add-flag-to-control-video-playback-resume-feature.patch
@@ -12,7 +12,7 @@ Disable it by default on Android as it is everywhere else
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -860,6 +860,11 @@ const char kMemlogStackModeNative[] = "Native";
+@@ -803,6 +803,11 @@ const char kMemlogStackModeNative[] = "Native";
const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
const char kMemlogStackModePseudo[] = "Trace events";
@@ -27,7 +27,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -517,6 +517,9 @@ extern const char kEnablePortalsDescription[];
+@@ -480,6 +480,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
-@@ -207,11 +207,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
+@@ -208,11 +208,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
diff --git a/build/patches/Add-flag-to-disable-IPv6-probes.patch b/build/patches/Add-flag-to-disable-IPv6-probes.patch
index 79a39d83..b2908101 100644
--- a/build/patches/Add-flag-to-disable-IPv6-probes.patch
+++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch
@@ -7,14 +7,14 @@ Subject: Add flag to disable IPv6 probes
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
net/dns/host_resolver_manager.cc | 10 ++++++++--
- services/network/public/cpp/features.cc | 3 +++
+ services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
- 6 files changed, 25 insertions(+), 2 deletions(-)
+ 6 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -3044,6 +3044,11 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2867,6 +2867,11 @@ const FeatureEntry kFeatureEntries[] = {
kMarkHttpAsFeatureVariations,
"HTTPReallyBadFinal")},
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2423,6 +2423,10 @@ const char kForegroundNotificationManagerDescription[] =
+@@ -2265,6 +2265,10 @@ const char kForegroundNotificationManagerDescription[] =
const char kHomePageButtonName[] = "Force Enable Home Page Button";
const char kHomePageButtonDescription[] = "Displays a home button if enabled.";
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -520,6 +520,9 @@ extern const char kEnableNewDownloadBackendDescription[];
+@@ -483,6 +483,9 @@ extern const char kEnableNewDownloadBackendDescription[];
extern const char kEnablePortalsName[];
extern const char kEnablePortalsDescription[];
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
-@@ -84,6 +84,7 @@
+@@ -87,6 +87,7 @@
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
#include "net/url_request/url_request_context.h"
@@ -64,7 +64,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "url/url_canon_ip.h"
#if BUILDFLAG(ENABLE_MDNS)
-@@ -2896,8 +2897,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
+@@ -2952,8 +2953,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
bool cached = true;
if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@@ -83,16 +83,17 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
-@@ -16,6 +16,9 @@ const base::Feature kExpectCTReporting{"ExpectCTReporting",
+@@ -37,6 +37,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
+ const base::Feature kThrottleDelayable{"ThrottleDelayable",
+ base::FEATURE_ENABLED_BY_DEFAULT};
- const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
- base::FEATURE_ENABLED_BY_DEFAULT};
-+
++// Enable IPv6 ping probes to RIPE DNS.
+const base::Feature kIPv6Probing{"IPv6Probing",
+ base::FEATURE_DISABLED_BY_DEFAULT};
- // Enables the network service.
- const base::Feature kNetworkService {
- "NetworkService",
++
+ // When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
+ // requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
+ // ResourceScheduler just as HTTP/1.1 resources are. However, requests from such
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
diff --git a/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch b/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
index 665888e0..cc5d07bb 100644
--- a/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
+++ b/build/patches/Add-flags-to-disable-device-motion-and-orientation-APIs.patch
@@ -20,7 +20,7 @@ legacy acceleration events.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -2295,6 +2295,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2251,6 +2251,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-generic-sensor", flag_descriptions::kEnableGenericSensorName,
flag_descriptions::kEnableGenericSensorDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kGenericSensor)},
@@ -36,7 +36,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -631,6 +631,14 @@ const char kEnableGenericSensorDescription[] =
+@@ -574,6 +574,14 @@ const char kEnableGenericSensorDescription[] =
"Accelerometer, LinearAccelerationSensor, Gyroscope, "
"AbsoluteOrientationSensor and RelativeOrientationSensor interfaces.";
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -398,6 +398,12 @@ extern const char kEnforceTLS13DowngradeDescription[];
+@@ -361,6 +361,12 @@ extern const char kEnableTLS13EarlyDataDescription[];
extern const char kEnableGenericSensorName[];
extern const char kEnableGenericSensorDescription[];
@@ -70,7 +70,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
-@@ -90,6 +90,9 @@ void SetIndividualRuntimeFeatures(
+@@ -95,6 +95,9 @@ void SetIndividualRuntimeFeatures(
base::FeatureList::IsEnabled(features::kSharedArrayBuffer) ||
base::FeatureList::IsEnabled(features::kWebAssemblyThreads));
@@ -83,7 +83,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
-@@ -614,6 +614,16 @@ const base::Feature kExperimentalProductivityFeatures{
+@@ -632,6 +632,16 @@ const base::Feature kExperimentalProductivityFeatures{
// TODO(rouslan): Remove this.
const base::Feature kWebPayments{"WebPayments",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -103,31 +103,31 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
-@@ -156,6 +156,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
- CONTENT_EXPORT extern const base::Feature kWebNfc;
- #endif // defined(OS_ANDROID)
-
+@@ -156,6 +156,8 @@ CONTENT_EXPORT extern const base::Feature
+ kBackgroundMediaRendererHasModerateBinding;
+ CONTENT_EXPORT extern const base::Feature kForce60HzRefreshRate;
+ CONTENT_EXPORT extern const base::Feature kHideIncorrectlySizedFullscreenFrames;
+CONTENT_EXPORT extern const base::Feature kDeviceMotion, kDeviceOrientation;
+
- #if !defined(OS_ANDROID)
- CONTENT_EXPORT extern const base::Feature kWebUIPolymer2;
- #endif // !defined(OS_ANDROID)
+ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
+ CONTENT_EXPORT extern const base::Feature kWebNfc;
+ #endif // defined(OS_ANDROID)
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -95,6 +95,8 @@ class WebRuntimeFeatures {
+ BLINK_PLATFORM_EXPORT static void EnableCanvas2dImageChromium(bool);
+ BLINK_PLATFORM_EXPORT static void EnableCSSHexAlphaColor(bool);
BLINK_PLATFORM_EXPORT static void EnableScrollTopLeftInterop(bool);
- BLINK_PLATFORM_EXPORT static void EnableKeyboardFocusableScrollers(bool);
- BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
+ BLINK_PLATFORM_EXPORT static void EnableDeviceMotion(bool);
+ BLINK_PLATFORM_EXPORT static void EnableDeviceOrientation(bool);
- BLINK_PLATFORM_EXPORT static void EnableDecodeToYUV(bool);
- BLINK_PLATFORM_EXPORT static void EnableDisplayCutoutAPI(bool);
- BLINK_PLATFORM_EXPORT static void EnableFallbackCursorMode(bool);
+ BLINK_PLATFORM_EXPORT static void EnableKeyboardFocusableScrollers(bool);
+ BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
+ BLINK_PLATFORM_EXPORT static void EnableDecodeLossyWebPImagesToYUV(bool);
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
--- a/third_party/blink/renderer/modules/modules_initializer.cc
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
-@@ -249,9 +249,12 @@ void ModulesInitializer::InitInspectorAgentSession(
+@@ -244,9 +244,12 @@ void ModulesInitializer::InitInspectorAgentSession(
void ModulesInitializer::OnClearWindowObjectInMainWorld(
Document& document,
const Settings& settings) const {
@@ -146,8 +146,8 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
-@@ -160,6 +160,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
- RuntimeEnabledFeatures::SetDatabaseEnabled(enable);
+@@ -160,6 +160,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
+ RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
+void WebRuntimeFeatures::EnableDeviceMotion(bool enable) {
@@ -158,14 +158,14 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
+ RuntimeEnabledFeatures::SetDeviceOrientationEnabled(enable);
+}
+
- void WebRuntimeFeatures::EnableDecodeToYUV(bool enable) {
- RuntimeEnabledFeatures::SetDecodeToYUVEnabled(enable);
+ void WebRuntimeFeatures::EnableKeyboardFocusableScrollers(bool enable) {
+ RuntimeEnabledFeatures::SetKeyboardFocusableScrollersEnabled(enable);
}
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -425,6 +425,14 @@
- status: "stable",
+@@ -1009,6 +1009,14 @@
+ status: "experimental",
},
{
+ name: "DeviceMotion",
@@ -176,9 +176,9 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ status: "stable",
+ },
+ {
- name: "DecodeToYUV",
- status: "experimental",
- },
+ name: "OnDeviceChange",
+ // Android does not yet support SystemMonitor.
+ status: {"Android": "", "default": "stable"},
--
2.11.0
diff --git a/build/patches/Add-menu-option-to-toggle-global-Javascript-preference.patch b/build/patches/Add-menu-option-to-toggle-global-Javascript-preference.patch
index a7d2b372..a8aa37ab 100644
--- a/build/patches/Add-menu-option-to-toggle-global-Javascript-preference.patch
+++ b/build/patches/Add-menu-option-to-toggle-global-Javascript-preference.patch
@@ -3,13 +3,13 @@ Date: Wed, 18 Oct 2017 21:26:53 +0200
Subject: Add menu option to toggle global Javascript preference
---
- chrome/android/java/res/menu/custom_tabs_menu.xml | 13 ++++++++
+ chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +++++++
chrome/android/java/res/menu/main_menu.xml | 13 ++++++++
.../chromium/chrome/browser/ChromeActivity.java | 8 +++++
.../chrome/browser/ChromeTabbedActivity.java | 8 +++++
- .../browser/appmenu/AppMenuPropertiesDelegate.java | 38 ++++++++++++++++++++++
+ .../appmenu/AppMenuPropertiesDelegateImpl.java | 39 ++++++++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
- .../java/strings/android_chrome_strings.grd | 11 +++++++
+ .../java/strings/android_chrome_strings.grd | 11 ++++++
7 files changed, 92 insertions(+)
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -23,10 +23,10 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
-
-@@ -61,6 +62,18 @@
-
-
-
+@@ -63,6 +64,17 @@
+
+ -
@@ -38,7 +38,6 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
+ android:checkable="true" />
+
+
-+
-
+@@ -2163,6 +2163,14 @@ public abstract class ChromeActivity
currentTab.getWebContents().getNavigationController().setUseDesktopUserAgent(
!usingDesktopUserAgent, reloadOnChange);
RecordUserAction.record("MobileMenuRequestDesktopSite");
@@ -93,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
-@@ -1821,6 +1821,14 @@ public class ChromeTabbedActivity
+@@ -1804,6 +1804,14 @@ public class ChromeTabbedActivity
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -108,18 +107,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.open_recently_closed_tab) {
TabModel currentModel = mTabModelSelectorImpl.getCurrentModel();
if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
-@@ -25,6 +25,7 @@ import org.chromium.chrome.R;
- import org.chromium.chrome.browser.ChromeActivity;
- import org.chromium.chrome.browser.ChromeFeatureList;
- import org.chromium.chrome.browser.ChromeSwitches;
-+import org.chromium.chrome.browser.ContentSettingsType;
- import org.chromium.chrome.browser.ShortcutHelper;
- import org.chromium.chrome.browser.UrlConstants;
- import org.chromium.chrome.browser.banners.AppBannerManager;
-@@ -196,6 +197,8 @@ public class AppMenuPropertiesDelegate {
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+@@ -241,6 +241,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
@@ -128,10 +119,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
// Only display reader mode settings menu option if the current page is in reader mode.
menu.findItem(R.id.reader_mode_prefs_id)
.setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.getUrl()));
-@@ -450,6 +453,41 @@ public class AppMenuPropertiesDelegate {
+@@ -438,6 +440,43 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+ }
}
- /**
++ /**
+ * Updates the enable JavaScript item's state.
+ *
+ * @param menu {@link Menu} for enable javascript
@@ -162,18 +154,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
+ // This title doesn't seem to be displayed by Android, but it is used to set up
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
+ enableMenuLabel.setTitleCondensed(jsEnabled
-+ ? mActivity.getString(R.string.menu_enable_javascript_on)
-+ : mActivity.getString(R.string.menu_enable_javascript_off));
++ ? mContext.getString(R.string.menu_enable_javascript_on)
++ : mContext.getString(R.string.menu_enable_javascript_off));
+ }
+
-+ /**
- * A notification that the header view has finished inflating.
- * @param view The view that was inflated.
- * @param appMenu The menu the view is inside of.
++
++
+ /**
+ * Updates the request desktop site item's state.
+ *
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
-@@ -182,6 +182,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
+@@ -202,6 +202,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
@@ -184,7 +177,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -3133,6 +3133,17 @@ To change this setting, <resetlink>reset sync
<resetlink>reset sync
Find in page
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 814bb0cc..0409b55b 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
@@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
-@@ -1115,8 +1115,10 @@ public class ChromeTabbedActivity
+@@ -1158,8 +1158,10 @@ public class ChromeTabbedActivity
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -3941,6 +3941,12 @@ To change this setting, <resetlink>reset sync
IMAGE
diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch
index 11ad775f..25907d2d 100644
--- a/build/patches/Add-option-to-use-home-page-as-NTP.patch
+++ b/build/patches/Add-option-to-use-home-page-as-NTP.patch
@@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCre
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -677,6 +677,9 @@ CHAR-LIMIT guidelines:
+@@ -663,6 +663,9 @@ CHAR-LIMIT guidelines:
Open this page
@@ -196,8 +196,8 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
-@@ -294,6 +294,7 @@ extern const char kParentAccessCodeConfig[];
- extern const char kDeviceWallpaperImageFilePath[];
+@@ -301,6 +301,7 @@ extern const char kAppReinstallRecommendationEnabled[];
+ extern const char kStartupBrowserWindowLaunchSuppressed[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
+extern const char kNewTabPageIsHomePage[];
diff --git a/build/patches/Add-site-settings-option-for-session-only-cookies.patch b/build/patches/Add-site-settings-option-for-session-only-cookies.patch
index a9397712..2af9bc67 100644
--- a/build/patches/Add-site-settings-option-for-session-only-cookies.patch
+++ b/build/patches/Add-site-settings-option-for-session-only-cookies.patch
@@ -44,7 +44,7 @@ diff --git a/chrome/android/java/res/xml/website_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
-@@ -240,6 +240,10 @@ public class PrefServiceBridge {
+@@ -242,6 +242,10 @@ public class PrefServiceBridge {
return nativeGetBlockThirdPartyCookiesEnabled();
}
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
/**
* @return Whether third-party cookie blocking is configured by policy
*/
-@@ -625,6 +629,10 @@ public class PrefServiceBridge {
+@@ -627,6 +631,10 @@ public class PrefServiceBridge {
nativeSetBlockThirdPartyCookiesEnabled(enabled);
}
@@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
public void setDoNotTrackEnabled(boolean enabled) {
nativeSetDoNotTrackEnabled(enabled);
}
-@@ -1073,6 +1081,7 @@ public class PrefServiceBridge {
+@@ -1075,6 +1083,7 @@ public class PrefServiceBridge {
private native boolean nativeGetAutoplayEnabled();
private native boolean nativeGetBackgroundSyncEnabled();
private native boolean nativeGetBlockThirdPartyCookiesEnabled();
@@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
private native boolean nativeGetBlockThirdPartyCookiesManaged();
private native boolean nativeGetRememberPasswordsEnabled();
private native boolean nativeGetPasswordManagerAutoSigninEnabled();
-@@ -1119,6 +1128,7 @@ public class PrefServiceBridge {
+@@ -1121,6 +1130,7 @@ public class PrefServiceBridge {
private native void nativeSetAutoplayEnabled(boolean enabled);
private native void nativeSetAllowCookiesEnabled(boolean enabled);
private native void nativeSetBackgroundSyncEnabled(boolean enabled);
@@ -165,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -927,6 +927,12 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -913,6 +913,12 @@ Your Google account may have other forms of browsing history like searches and a
Prevent third-party websites from saving and reading cookie data
diff --git a/build/patches/Allow-building-without-safebrowsing-for-Android.patch b/build/patches/Allow-building-without-safebrowsing-for-Android.patch
index 760b0939..1c7d06c8 100644
--- a/build/patches/Allow-building-without-safebrowsing-for-Android.patch
+++ b/build/patches/Allow-building-without-safebrowsing-for-Android.patch
@@ -4,8 +4,11 @@ Subject: Allow building without safebrowsing for Android
Fix build from scratch (issue found by nikolowry)
---
+ chrome/android/BUILD.gn | 1 -
+ chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/privacy_preferences.xml | 8 -----
.../preferences/privacy/PrivacyPreferences.java | 40 ----------------------
+ .../chrome/browser/webshare/ShareServiceImpl.java | 6 ----
.../chrome_browsing_data_remover_delegate.cc | 10 ------
chrome/browser/chrome_content_browser_client.cc | 20 +----------
.../file_type_policies_component_installer.cc | 2 ++
@@ -22,8 +25,32 @@ Fix build from scratch (issue found by nikolowry)
chrome/browser/download/download_ui_model.h | 4 +++
.../chrome_resource_dispatcher_host_delegate.cc | 2 ++
chrome/browser/net/chrome_network_delegate.cc | 35 ++-----------------
- 18 files changed, 87 insertions(+), 112 deletions(-)
+ chrome/browser/safe_browsing/BUILD.gn | 1 -
+ chrome/common/safe_browsing/BUILD.gn | 15 --------
+ 23 files changed, 87 insertions(+), 136 deletions(-)
+diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
+--- a/chrome/android/BUILD.gn
++++ b/chrome/android/BUILD.gn
+@@ -2634,7 +2634,6 @@ generate_jni("chrome_jni_headers") {
+ "java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
+ "java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
+ "java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
+- "java/src/org/chromium/chrome/browser/safe_browsing/FileTypePolicies.java",
+ "java/src/org/chromium/chrome/browser/search_engines/TemplateUrl.java",
+ "java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java",
+ "java/src/org/chromium/chrome/browser/send_tab_to_self/NotificationManager.java",
+diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
+--- a/chrome/android/chrome_java_sources.gni
++++ b/chrome/android/chrome_java_sources.gni
+@@ -1357,7 +1357,6 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
+ "java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
+ "java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
+- "java/src/org/chromium/chrome/browser/safe_browsing/FileTypePolicies.java",
+ "java/src/org/chromium/chrome/browser/search_engines/SearchEngineChoiceNotification.java",
+ "java/src/org/chromium/chrome/browser/search_engines/TemplateUrl.java",
+ "java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java",
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
@@ -127,10 +154,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
if (PREF_NETWORK_PREDICTIONS.equals(key)) {
return prefs.isNetworkPredictionManaged();
}
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
+@@ -18,7 +18,6 @@ import org.chromium.base.task.AsyncTask;
+ import org.chromium.base.task.PostTask;
+ import org.chromium.base.task.TaskRunner;
+ import org.chromium.base.task.TaskTraits;
+-import org.chromium.chrome.browser.safe_browsing.FileTypePolicies;
+ import org.chromium.chrome.browser.share.ShareHelper;
+ import org.chromium.chrome.browser.share.ShareParams;
+ import org.chromium.content_public.browser.WebContents;
+@@ -194,11 +193,6 @@ public class ShareServiceImpl implements ShareService {
+ }
+
+ for (SharedFile file : files) {
+- RecordHistogram.recordSparseHistogram(
+- "WebShare.Unverified", FileTypePolicies.umaValueForFile(file.name));
+- }
+-
+- for (SharedFile file : files) {
+ if (isDangerousFilename(file.name) || isDangerousMimeType(file.blob.contentType)) {
+ Log.i(TAG,
+ "Cannot share potentially dangerous \"" + file.blob.contentType
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -252,16 +252,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
+@@ -250,16 +250,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
return false;
}
@@ -151,14 +201,14 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -120,7 +120,6 @@
+ #include "chrome/browser/resource_coordinator/background_tab_navigation_throttle.h"
#include "chrome/browser/safe_browsing/certificate_reporting_service.h"
#include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h"
- #include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
-#include "chrome/browser/safe_browsing/safe_browsing_navigation_throttle.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/safe_browsing/ui_manager.h"
#include "chrome/browser/safe_browsing/url_checker_delegate_impl.h"
-@@ -4356,11 +4355,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
+@@ -4329,11 +4328,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
PreviewsLitePageDecider::MaybeCreateThrottleFor(handle);
if (previews_lite_page_throttle)
throttles.push_back(std::move(previews_lite_page_throttle));
@@ -170,7 +220,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if defined(OS_WIN) || defined(OS_MACOSX) || \
(defined(OS_LINUX) && !defined(OS_CHROMEOS))
-@@ -5313,19 +5307,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
+@@ -5290,19 +5284,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
content::ResourceContext* resource_context) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -207,7 +257,7 @@ diff --git a/chrome/browser/component_updater/file_type_policies_component_insta
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -39,8 +39,10 @@
+@@ -40,8 +40,10 @@
#include "chrome/browser/download/save_package_file_picker.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profile.h"
@@ -215,10 +265,10 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#endif
- #include "chrome/browser/ui/browser.h"
- #include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/chrome_pages.h"
-@@ -51,7 +53,9 @@
+ #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
+ #include "chrome/common/buildflags.h"
+@@ -50,7 +52,9 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pdf_util.h"
#include "chrome/common/pref_names.h"
@@ -226,9 +276,9 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "chrome/grit/generated_resources.h"
+ #include "components/download/public/common/download_features.h"
#include "components/download/public/common/download_interrupt_reasons.h"
- #include "components/download/public/common/download_item.h"
-@@ -107,8 +111,10 @@ using content::DownloadManager;
+@@ -110,8 +114,10 @@ using content::DownloadManager;
using download::DownloadItem;
using download::DownloadPathReservationTracker;
using download::PathValidationResult;
@@ -239,7 +289,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
namespace {
-@@ -761,19 +767,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
+@@ -762,19 +768,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
return std::string(chrome::kApplicationClientIDStringForAVScanning);
}
@@ -259,9 +309,9 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
+#endif
- void ChromeDownloadManagerDelegate::NotifyExtensions(
- DownloadItem* download,
-@@ -1216,13 +1222,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
+ void ChromeDownloadManagerDelegate::ShouldBlockDownload(
+ download::DownloadItem* download,
+@@ -1225,13 +1231,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
@@ -277,8 +327,8 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
+#endif
- callback.Run(target_info->target_path, target_info->target_disposition,
- target_info->danger_type, target_info->intermediate_path,
+ if (base::FeatureList::IsEnabled(
+ download::features::kPreventDownloadsWithSamePath)) {
diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome/browser/download/chrome_download_manager_delegate.h
--- a/chrome/browser/download/chrome_download_manager_delegate.h
+++ b/chrome/browser/download/chrome_download_manager_delegate.h
@@ -304,7 +354,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome
// Show file picker for |download|.
virtual void ShowFilePickerForDownload(
-@@ -201,9 +205,11 @@ class ChromeDownloadManagerDelegate
+@@ -205,9 +209,11 @@ class ChromeDownloadManagerDelegate
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
@@ -319,7 +369,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
--- a/chrome/browser/download/download_item_model.cc
+++ b/chrome/browser/download/download_item_model.cc
-@@ -22,9 +22,11 @@
+@@ -23,9 +23,11 @@
#include "chrome/browser/download/download_stats.h"
#include "chrome/browser/download/offline_item_utils.h"
#include "chrome/browser/profiles/profile.h"
@@ -331,7 +381,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_danger_type.h"
-@@ -37,7 +39,9 @@
+@@ -42,7 +44,9 @@
using base::TimeDelta;
using download::DownloadItem;
@@ -341,7 +391,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
namespace {
-@@ -67,9 +71,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
+@@ -72,9 +76,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
// for the file type.
bool should_prefer_opening_in_browser_;
@@ -353,7 +403,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
// Whether the download is currently being revived.
bool is_being_revived_;
-@@ -106,7 +112,9 @@ DownloadItemModelData::DownloadItemModelData()
+@@ -111,7 +117,9 @@ DownloadItemModelData::DownloadItemModelData()
: should_show_in_shelf_(true),
was_ui_notified_(false),
should_prefer_opening_in_browser_(false),
@@ -363,7 +413,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
is_being_revived_(false) {}
} // namespace
-@@ -368,6 +376,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
+@@ -373,6 +381,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
data->should_prefer_opening_in_browser_ = preference;
}
@@ -371,7 +421,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
DownloadFileType::DangerLevel DownloadItemModel::GetDangerLevel() const {
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
return data ? data->danger_level_ : DownloadFileType::NOT_DANGEROUS;
-@@ -378,6 +387,7 @@ void DownloadItemModel::SetDangerLevel(
+@@ -383,6 +392,7 @@ void DownloadItemModel::SetDangerLevel(
DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
data->danger_level_ = danger_level;
}
@@ -475,7 +525,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
virtual_path_(initial_virtual_path),
is_filetype_handled_safely_(false),
#if defined(OS_ANDROID)
-@@ -259,8 +267,12 @@ DownloadTargetDeterminer::Result
+@@ -262,8 +270,12 @@ DownloadTargetDeterminer::Result
// |suggested_filename| and Content-Disposition header have higher priority
// than the URL.
bool safe_file_ext =
@@ -488,7 +538,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
net::HttpContentDisposition content_disposition_header(
download_->GetContentDisposition(), referrer_charset);
bool should_replace_extension =
-@@ -749,6 +761,7 @@ DownloadTargetDeterminer::Result
+@@ -781,6 +793,7 @@ DownloadTargetDeterminer::Result
return CONTINUE;
}
@@ -496,7 +546,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
// First determine the danger level assuming that the user doesn't have any
// prior visits to the referrer recoreded in history. The resulting danger
// level would be ALLOW_ON_USER_GESTURE if the level depends on the visit
-@@ -785,6 +798,7 @@ DownloadTargetDeterminer::Result
+@@ -817,6 +830,7 @@ DownloadTargetDeterminer::Result
// invalid, then assume the referrer has not been visited before.
if (danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
@@ -504,7 +554,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
return CONTINUE;
}
-@@ -792,11 +806,13 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
+@@ -824,11 +838,13 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
bool visited_referrer_before) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_);
@@ -518,7 +568,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
DoLoop();
}
-@@ -901,7 +917,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
+@@ -933,7 +949,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
<< " Intermediate:" << intermediate_path_.AsUTF8Unsafe()
<< " Confirmation reason:" << static_cast(confirmation_reason_)
<< " Danger type:" << danger_type_
@@ -528,7 +578,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
<< " Result:" << static_cast(result);
std::unique_ptr target_info(new DownloadTargetInfo);
-@@ -913,7 +931,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
+@@ -945,7 +963,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
? DownloadItem::TARGET_DISPOSITION_PROMPT
: DownloadItem::TARGET_DISPOSITION_OVERWRITE);
target_info->danger_type = danger_type_;
@@ -538,7 +588,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
target_info->intermediate_path = intermediate_path_;
target_info->mime_type = mime_type_;
target_info->is_filetype_handled_safely = is_filetype_handled_safely_;
-@@ -999,6 +1019,7 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
+@@ -1031,6 +1051,7 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
DownloadItem::TARGET_DISPOSITION_PROMPT);
}
@@ -546,7 +596,7 @@ diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/brow
DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
PriorVisitsToReferrer visits) const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
-@@ -1030,6 +1051,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
+@@ -1062,6 +1083,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
return DownloadFileType::NOT_DANGEROUS;
}
@@ -567,7 +617,7 @@ diff --git a/chrome/browser/download/download_target_determiner.h b/chrome/brows
#include "components/download/public/common/download_danger_type.h"
#include "components/download/public/common/download_item.h"
#include "components/download/public/common/download_path_reservation_tracker.h"
-@@ -300,6 +302,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
+@@ -313,6 +315,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
// operation.
bool HasPromptedForPath() const;
@@ -575,7 +625,7 @@ diff --git a/chrome/browser/download/download_target_determiner.h b/chrome/brows
// Returns true if this download should show the "dangerous file" warning.
// Various factors are considered, such as the type of the file, whether a
// user action initiated the download, and whether the user has explicitly
-@@ -309,6 +312,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
+@@ -322,6 +325,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
// to true if the download requires explicit user consent.
safe_browsing::DownloadFileType::DangerLevel GetDangerLevel(
PriorVisitsToReferrer visits) const;
@@ -583,7 +633,7 @@ diff --git a/chrome/browser/download/download_target_determiner.h b/chrome/brows
// download::DownloadItem::Observer
void OnDownloadDestroyed(download::DownloadItem* download) override;
-@@ -321,7 +325,9 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
+@@ -334,7 +338,9 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
download::DownloadPathReservationTracker::FilenameConflictAction
conflict_action_;
download::DownloadDangerType danger_type_;
@@ -645,7 +695,7 @@ diff --git a/chrome/browser/download/download_target_info.h b/chrome/browser/dow
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
--- a/chrome/browser/download/download_ui_model.cc
+++ b/chrome/browser/download/download_ui_model.cc
-@@ -25,7 +25,9 @@
+@@ -29,7 +29,9 @@
using base::TimeDelta;
using download::DownloadItem;
@@ -655,7 +705,7 @@ diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/downl
using offline_items_collection::FailState;
namespace {
-@@ -389,12 +391,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
+@@ -383,12 +385,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
void DownloadUIModel::SetShouldPreferOpeningInBrowser(bool preference) {}
@@ -764,6 +814,49 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
}
int ChromeNetworkDelegate::OnBeforeStartTransaction(
+diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
+--- a/chrome/browser/safe_browsing/BUILD.gn
++++ b/chrome/browser/safe_browsing/BUILD.gn
+@@ -20,7 +20,6 @@ jumbo_static_library("safe_browsing") {
+ "//chrome/app:generated_resources",
+ "//chrome/common",
+ "//chrome/common:constants",
+- "//chrome/common/safe_browsing:file_type_policies",
+ "//components/browser_sync",
+ "//components/keyed_service/content",
+ "//components/language/core/browser",
+diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
+--- a/chrome/common/safe_browsing/BUILD.gn
++++ b/chrome/common/safe_browsing/BUILD.gn
+@@ -13,20 +13,6 @@ proto_library("proto") {
+ ]
+ }
+
+-source_set("file_type_policies") {
+- sources = [
+- "file_type_policies.cc",
+- "file_type_policies.h",
+- ]
+-
+- deps = [
+- ":proto",
+- "//base",
+- "//chrome/browser:resources",
+- "//ui/base",
+- ]
+-}
+-
+ if (safe_browsing_mode == 1) {
+ source_set("archive_analyzer_results") {
+ sources = [
+@@ -149,7 +135,6 @@ if (safe_browsing_mode == 1) {
+
+ source_set("safe_browsing") {
+ deps = [
+- ":file_type_policies",
+ ]
+
+ if (safe_browsing_mode == 1) {
--
2.11.0
diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch
index 7ab2ba4e..c93df57d 100644
--- a/build/patches/Allow-playing-audio-in-background.patch
+++ b/build/patches/Allow-playing-audio-in-background.patch
@@ -11,7 +11,7 @@ Subject: Allow playing audio in background
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1423,6 +1423,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1483,6 +1483,10 @@ const FeatureEntry kFeatureEntries[] = {
{"debug-packed-apps", flag_descriptions::kDebugPackedAppName,
flag_descriptions::kDebugPackedAppDescription, kOsDesktop,
SINGLE_VALUE_TYPE(switches::kDebugPackedApps)},
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
--- a/media/blink/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
-@@ -961,6 +961,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
+@@ -959,6 +959,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -38,7 +38,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const blink::WebVector& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
-@@ -3205,7 +3211,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
+@@ -3230,7 +3236,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
// Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
// to move the logic of checking video frames out of that function.
@@ -54,7 +54,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
--- a/media/blink/webmediaplayer_impl.h
+++ b/media/blink/webmediaplayer_impl.h
-@@ -142,6 +142,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
+@@ -141,6 +141,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
// True if the loaded media has a playable video/audio track.
bool HasVideo() const override;
bool HasAudio() const override;
diff --git a/build/patches/Always-respect-async-dns-flag-regardless-of-SDK-version.patch b/build/patches/Always-respect-async-dns-flag-regardless-of-SDK-version.patch
index 7fe516a0..cbd571b5 100644
--- a/build/patches/Always-respect-async-dns-flag-regardless-of-SDK-version.patch
+++ b/build/patches/Always-respect-async-dns-flag-regardless-of-SDK-version.patch
@@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
-@@ -228,7 +228,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
+@@ -229,7 +229,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
// Android this includes checking the Android version in the field trial.
bool ShouldEnableAsyncDns() {
bool feature_can_be_enabled = true;
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
-@@ -544,7 +544,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
+@@ -545,7 +545,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
effective_experimental_options->Remove(it.key(), nullptr);
continue;
}
diff --git a/build/patches/Always-show-home-page-settings.patch b/build/patches/Always-show-home-page-settings.patch
index bc5f1aa0..87d29974 100644
--- a/build/patches/Always-show-home-page-settings.patch
+++ b/build/patches/Always-show-home-page-settings.patch
@@ -19,7 +19,7 @@ This allows removing the home page button and restoring it from settings.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
-@@ -338,18 +338,6 @@ public class ProcessInitializationHandler {
+@@ -348,18 +348,6 @@ public class ProcessInitializationHandler {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
-@@ -147,13 +147,6 @@ public class ChromePreferenceManager {
+@@ -154,13 +154,6 @@ public class ChromePreferenceManager {
private static final String CHROME_MODERN_DESIGN_ENABLED_KEY = "chrome_modern_design_enabled";
/**
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
-@@ -208,15 +208,11 @@ public class MainPreferences extends PreferenceFragment
+@@ -198,15 +198,11 @@ public class MainPreferences extends PreferenceFragment
updateSyncAndServicesPreference();
updateSearchEnginePreference();
@@ -124,28 +124,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
+ setOnOffSummary(homepagePref, HomepageManager.getInstance().getPrefHomepageEnabled());
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)
- && FeatureUtilities.areContextualSuggestionsEnabled(getActivity())
+ if (NightModeUtils.isNightModeSupported() && FeatureUtilities.isNightModeAvailable()) {
+ addPreferenceIfAbsent(PREF_UI_THEME);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
-@@ -74,7 +74,6 @@ public class FeatureUtilities {
+@@ -71,7 +71,6 @@ public class FeatureUtilities {
+ private static Boolean sHasGoogleAccountAuthenticator;
private static Boolean sHasRecognitionIntentHandler;
- private static Boolean sIsSoleEnabled;
- private static Boolean sIsHomePageButtonForceEnabled;
private static Boolean sIsHomepageTileEnabled;
private static Boolean sIsNewTabPageButtonEnabled;
private static Boolean sIsBottomToolbarEnabled;
-@@ -197,7 +196,6 @@ public class FeatureUtilities {
- cacheSoleEnabled();
+@@ -173,7 +172,6 @@ public class FeatureUtilities {
+ public static void cacheNativeFlags() {
cacheCommandLineOnNonRootedEnabled();
FirstRunUtils.cacheFirstRunPrefs();
- cacheHomePageButtonForceEnabled();
cacheHomepageTileEnabled();
cacheNewTabPageButtonEnabled();
cacheBottomToolbarEnabled();
-@@ -234,38 +232,6 @@ public class FeatureUtilities {
+@@ -212,38 +210,6 @@ public class FeatureUtilities {
return Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
}
@@ -181,13 +181,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
- sIsHomePageButtonForceEnabled = null;
- }
-
- private static void cacheServiceManagerForBackgroundPrefetch() {
- boolean backgroundPrefetchInReducedMode = ChromeFeatureList.isEnabled(
- ChromeFeatureList.SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH);
+ private static void cacheAllowStartingServiceManagerOnly() {
+ boolean allowStartingServiceManagerOnly =
+ ChromeFeatureList.isEnabled(ChromeFeatureList.ALLOW_STARTING_SERVICE_MANAGER_ONLY);
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1602,9 +1602,6 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1642,9 +1642,6 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-chrome-duet-labels", flag_descriptions::kChromeDuetLabelsName,
flag_descriptions::kChromeDuetLabelsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kChromeDuetLabeled)},
@@ -200,17 +200,17 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
-@@ -141,7 +141,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
+@@ -136,7 +136,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
+ &kEphemeralTab,
&kExploreSites,
&kHandleMediaIntents,
- &kHideUserDataFromIncognitoNotifications,
- &kHomePageButtonForceEnabled,
&kHomepageTile,
&kHorizontalTabSwitcherAndroid,
- &kImmersiveUiMode,
-@@ -409,9 +408,6 @@ const base::Feature kHandleMediaIntents{"HandleMediaIntents",
- const base::Feature kHideUserDataFromIncognitoNotifications{
- "HideUserDataFromIncognitoNotifications", base::FEATURE_ENABLED_BY_DEFAULT};
+ &kIdentityDisc,
+@@ -412,9 +411,6 @@ const base::Feature kForegroundNotificationManager{
+ const base::Feature kHandleMediaIntents{"HandleMediaIntents",
+ base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kHomePageButtonForceEnabled{
- "HomePageButtonForceEnabled", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -221,14 +221,14 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
diff --git a/chrome/browser/android/chrome_feature_list.h b/chrome/browser/android/chrome_feature_list.h
--- a/chrome/browser/android/chrome_feature_list.h
+++ b/chrome/browser/android/chrome_feature_list.h
-@@ -71,7 +71,6 @@ extern const base::Feature kExploreSites;
+@@ -72,7 +72,6 @@ extern const base::Feature kEphemeralTab;
+ extern const base::Feature kExploreSites;
extern const base::Feature kForegroundNotificationManager;
extern const base::Feature kHandleMediaIntents;
- extern const base::Feature kHideUserDataFromIncognitoNotifications;
-extern const base::Feature kHomePageButtonForceEnabled;
extern const base::Feature kHomepageTile;
extern const base::Feature kHorizontalTabSwitcherAndroid;
- extern const base::Feature kImmersiveUiMode;
+ extern const base::Feature kIdentityDisc;
--
2.11.0
diff --git a/build/patches/AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch b/build/patches/AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
index c87b6127..6b887b68 100644
--- a/build/patches/AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
+++ b/build/patches/AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
@@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
-@@ -333,6 +333,7 @@ void AudioContext::StopRendering() {
+@@ -336,6 +336,7 @@ void AudioContext::StopRendering() {
double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
diff --git a/build/patches/Bromite-adblock-engine.patch b/build/patches/Bromite-adblock-engine.patch
index 55a5ce95..b5009f5a 100644
--- a/build/patches/Bromite-adblock-engine.patch
+++ b/build/patches/Bromite-adblock-engine.patch
@@ -18,15 +18,14 @@ Add support for Webview content blocking
chrome/android/java/res/menu/main_menu.xml | 11 +
.../chromium/chrome/browser/ChromeActivity.java | 8 +
.../chrome/browser/ChromeTabbedActivity.java | 8 +
- .../browser/appmenu/AppMenuPropertiesDelegate.java | 38 ++
+ .../appmenu/AppMenuPropertiesDelegateImpl.java | 42 ++-
.../CustomTabAppMenuPropertiesDelegate.java | 2 +
.../java/strings/android_chrome_strings.grd | 11 +
chrome/browser/net/chrome_network_delegate.cc | 86 +++++
- .../subresource_filter_content_settings_manager.cc | 1 +
net/BUILD.gn | 7 +
net/url_request/adblock_intercept.cc | 389 +++++++++++++++++++++
net/url_request/adblock_intercept.h | 35 ++
- 14 files changed, 682 insertions(+)
+ 13 files changed, 683 insertions(+), 2 deletions(-)
create mode 100644 net/url_request/adblock_intercept.cc
create mode 100644 net/url_request/adblock_intercept.h
@@ -137,10 +136,10 @@ diff --git a/android_webview/browser/net/aw_network_delegate.h b/android_webview
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
-@@ -74,6 +74,18 @@
+@@ -75,6 +75,18 @@
+ android:checkable="true" />
-
+ -
@@ -180,7 +179,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
-@@ -2262,6 +2262,14 @@ public abstract class ChromeActivity
+@@ -2173,6 +2173,14 @@ public abstract class ChromeActivity
RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.reader_mode_prefs_id) {
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
@@ -198,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
-@@ -1779,6 +1779,14 @@ public class ChromeTabbedActivity
+@@ -1762,6 +1762,14 @@ public class ChromeTabbedActivity
reportNewTabShortcutUsed(true);
getTabCreator(true).launchNTP();
}
@@ -213,22 +212,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.all_bookmarks_menu_id) {
if (currentTab != null) {
getCompositorViewHolder().hideKeyboard(() -> {
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
-@@ -195,6 +195,8 @@ public class AppMenuPropertiesDelegate {
- && !TextUtils.isEmpty(url);
- prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+@@ -27,6 +27,7 @@ import org.chromium.chrome.R;
+ import org.chromium.chrome.browser.ActivityTabProvider;
+ import org.chromium.chrome.browser.ChromeFeatureList;
+ import org.chromium.chrome.browser.ChromeSwitches;
++import org.chromium.chrome.browser.ContentSettingsType;
+ import org.chromium.chrome.browser.ShortcutHelper;
+ import org.chromium.chrome.browser.UrlConstants;
+ import org.chromium.chrome.browser.banners.AppBannerManager;
+@@ -224,6 +225,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+ // Prepare translate menu button.
+ prepareTranslateMenuItem(menu, currentTab);
+ updateEnableAdBlockMenuItem(menu, currentTab);
+
- updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
-
- updateEnableJavascriptMenuItem(menu, currentTab);
-@@ -488,6 +490,42 @@ public class AppMenuPropertiesDelegate {
+ // Hide 'Add to homescreen' for the following:
+ // * chrome:// pages - Android doesn't know how to direct those URLs.
+ // * incognito pages - To avoid problems where users create shortcuts in incognito
+@@ -296,6 +299,43 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+ PrefServiceBridge.getInstance().isIncognitoModeManaged());
}
- /**
++ /**
+ * Updates the enable AdBlock item's state.
+ *
+ * @param menu {@link Menu} for enable adblock
@@ -260,18 +268,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
+ // This title doesn't seem to be displayed by Android, but it is used to set up
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
+ enableMenuLabel.setTitleCondensed(adBlockEnabled
-+ ? mActivity.getString(R.string.menu_enable_adblock_on)
-+ : mActivity.getString(R.string.menu_enable_adblock_off));
++ ? mContext.getString(R.string.menu_enable_adblock_on)
++ : mContext.getString(R.string.menu_enable_adblock_off));
+ }
+
-+ /**
- * A notification that the header view has finished inflating.
- * @param view The view that was inflated.
- * @param appMenu The menu the view is inside of.
++
+ /**
+ * Sets the visibility and labels of the "Add to Home screen" and "Open WebAPK" menu items.
+ */
+@@ -475,8 +515,6 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
+ : mContext.getString(R.string.menu_enable_javascript_off));
+ }
+
+-
+-
+ /**
+ * Updates the request desktop site item's state.
+ *
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
-@@ -181,6 +181,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
+@@ -201,6 +201,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
}
@@ -283,7 +300,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -3153,6 +3153,17 @@ To change this setting, <resetlink>reset sync
<resetlink>reset sync
Turn on Request desktop site
@@ -415,21 +432,10 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
extensions_delegate_->ForwardStartRequestStatus(request);
return extensions_delegate_->NotifyBeforeURLRequest(
-diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
---- a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
-+++ b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
-@@ -19,6 +19,7 @@
- #include "components/history/core/browser/history_service.h"
- #include "components/keyed_service/core/service_access_type.h"
- #include "url/gurl.h"
-+#include "net/url_request/adblock_intercept.h"
-
- namespace {
-
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
-@@ -1797,6 +1797,13 @@ component("net") {
+@@ -1815,6 +1815,13 @@ component("net") {
"url_request/websocket_handshake_userdata_key.h",
]
diff --git a/build/patches/Canvas-fingerprinting-mitigations-for-image-data-and-webGL.patch b/build/patches/Canvas-fingerprinting-mitigations-for-image-data-and-webGL.patch
index c46588ad..442083e6 100644
--- a/build/patches/Canvas-fingerprinting-mitigations-for-image-data-and-webGL.patch
+++ b/build/patches/Canvas-fingerprinting-mitigations-for-image-data-and-webGL.patch
@@ -30,8 +30,8 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
-@@ -799,7 +797,7 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
- GetState().GetTextAlign(), text);
+@@ -811,7 +809,7 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
+ GetState().GetTextAlign(), text);
// scale text metrics by 3/1000000th
- auto shuffleFactor = 1 + (base::RandDouble() - 0.5) * 0.000003;
@@ -59,7 +59,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1435,7 +1435,9 @@ jumbo_component("platform") {
+@@ -1402,7 +1402,9 @@ jumbo_component("platform") {
"//third_party/blink/renderer:non_test_config",
]
diff --git a/build/patches/Disable-NTP-remote-suggestions-by-default.patch b/build/patches/Disable-NTP-remote-suggestions-by-default.patch
index 224e95b2..384ba8f8 100644
--- a/build/patches/Disable-NTP-remote-suggestions-by-default.patch
+++ b/build/patches/Disable-NTP-remote-suggestions-by-default.patch
@@ -9,7 +9,7 @@ Subject: Disable NTP remote suggestions by default
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
-@@ -41,7 +41,7 @@ const base::Feature* const kAllFeatures[] = {
+@@ -40,7 +40,7 @@ const base::Feature* const kAllFeatures[] = {
&kRemoteSuggestionsBackendFeature};
const base::Feature kArticleSuggestionsFeature{
@@ -18,15 +18,15 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
"RemoteSuggestionsEmulateM58FetchingSchedule",
-@@ -71,7 +71,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
+@@ -70,7 +70,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
const base::Feature kKeepPrefetchedContentSuggestions{
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kContentSuggestionsDebugLog{
- "ContentSuggestionsDebugLog", base::FEATURE_DISABLED_BY_DEFAULT};
+ std::vector GetAllFeatures() {
+ // Skip the last feature as it's a nullptr.
--
2.11.0
diff --git a/build/patches/Disable-Omaha-update-checks.patch b/build/patches/Disable-Omaha-update-checks.patch
index fece8b55..76fd93af 100644
--- a/build/patches/Disable-Omaha-update-checks.patch
+++ b/build/patches/Disable-Omaha-update-checks.patch
@@ -12,7 +12,7 @@ Do not consider Jelly Bean unsupported
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
-@@ -134,7 +134,7 @@ public class OmahaBase {
+@@ -135,7 +135,7 @@ public class OmahaBase {
/** See {@link #sIsDisabled}. */
static boolean isDisabled() {
@@ -36,15 +36,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNu
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
-@@ -432,7 +432,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
+@@ -438,7 +438,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kJellyBeanSupported{"JellyBeanSupported",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
- const base::Feature kLanguagesPreference{"LanguagesPreference",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ const base::Feature kSearchEnginePromoExistingDevice{
+ "SearchEnginePromo.ExistingDevice", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.11.0
diff --git a/build/patches/Disable-contextual-search-by-default.patch b/build/patches/Disable-contextual-search-by-default.patch
index 0462f9c8..547ce0d5 100644
--- a/build/patches/Disable-contextual-search-by-default.patch
+++ b/build/patches/Disable-contextual-search-by-default.patch
@@ -9,7 +9,7 @@ Subject: Disable contextual search by default
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
-@@ -153,7 +153,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -145,7 +145,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
#if defined(OS_ANDROID)
registry->RegisterStringPref(
prefs::kContextualSearchEnabled,
diff --git a/build/patches/Disable-data-saver.patch b/build/patches/Disable-data-saver.patch
index 35fbcf8e..64387807 100644
--- a/build/patches/Disable-data-saver.patch
+++ b/build/patches/Disable-data-saver.patch
@@ -9,10 +9,10 @@ Subject: Disable data saver
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
-@@ -50,10 +50,10 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
+@@ -48,10 +48,10 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
+
PreferenceUtils.addPreferencesFromResource(this, R.xml.data_reduction_preferences);
- getActivity().setTitle(DataReductionBrandingResourceProvider.getDataSaverBrandedString(
- R.string.data_reduction_title));
+ getActivity().setTitle(R.string.data_reduction_title_lite_mode);
- boolean isEnabled = DataReductionProxySettings.getInstance().isDataReductionProxyEnabled();
- mIsEnabled = !isEnabled;
- mWasEnabledAtCreation = isEnabled;
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/dat
setHasOptionsMenu(true);
-@@ -153,6 +153,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
+@@ -148,6 +148,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
}
private void createDataReductionSwitch(boolean isEnabled) {
@@ -32,7 +32,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/dat
final ChromeSwitchPreference dataReductionSwitch =
new ChromeSwitchPreference(getActivity(), null);
dataReductionSwitch.setKey(PREF_DATA_REDUCTION_SWITCH);
-@@ -180,5 +181,6 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
+@@ -175,5 +176,6 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
// (e.g. the switch will say "On" when data reduction is really turned off), so
// .setChecked() should be called after .addPreference()
dataReductionSwitch.setChecked(isEnabled);
diff --git a/build/patches/Disable-dynamic-module-loading.patch b/build/patches/Disable-dynamic-module-loading.patch
index 9d2d2c66..036c2c28 100644
--- a/build/patches/Disable-dynamic-module-loading.patch
+++ b/build/patches/Disable-dynamic-module-loading.patch
@@ -13,7 +13,7 @@ Subject: Disable dynamic module loading
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
-@@ -479,19 +479,6 @@ chrome_java_sources = [
+@@ -417,19 +417,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/customtabs/content/TabCreationMode.java",
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java",
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityModule.java",
@@ -30,21 +30,21 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleLoader.java",
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleMetrics.java",
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ObjectWrapper.java",
+ "java/src/org/chromium/chrome/browser/customtabs/features/CustomTabNavigationBarController.java",
"java/src/org/chromium/chrome/browser/database/SQLiteCursor.java",
- "java/src/org/chromium/chrome/browser/datareduction/DataReductionBrandingResourceProvider.java",
"java/src/org/chromium/chrome/browser/datareduction/DataReductionMainMenuItem.java",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
-@@ -62,7 +62,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvid
+@@ -64,7 +64,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvid
import org.chromium.chrome.browser.customtabs.content.TabCreationMode;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityComponent;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityModule;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
+ import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
- import org.chromium.chrome.browser.gsa.GSAState;
-@@ -133,9 +132,6 @@ public class CustomTabActivity extends ChromeActivityGetValue()->GetAsBoolean(&allowed);
+ return allowed;
- #else // !(defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS))
+ #else // !(defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS))
return false;
#endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
-@@ -218,7 +218,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -210,7 +210,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kMediaRouterFirstRunFlowAcknowledged,
false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
-@@ -443,7 +443,7 @@ void ProfileImpl::RegisterProfilePrefs(
+@@ -434,7 +434,7 @@ void ProfileImpl::RegisterProfilePrefs(
registry->RegisterStringPref(
prefs::kPrintPreviewDefaultDestinationSelectionRules, std::string());
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
diff --git a/build/patches/Disable-metrics-collection-for-NTP-tiles.patch b/build/patches/Disable-metrics-collection-for-NTP-tiles.patch
index 54783321..23387b45 100644
--- a/build/patches/Disable-metrics-collection-for-NTP-tiles.patch
+++ b/build/patches/Disable-metrics-collection-for-NTP-tiles.patch
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace {
-@@ -240,7 +238,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
+@@ -236,7 +234,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env,
const JavaParamRef& obj,
jint jtiles_count) {
@@ -34,7 +34,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordTileImpression(
-@@ -253,18 +250,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
+@@ -249,18 +246,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jsource,
jlong jdata_generation_time_ms,
const JavaParamRef& jurl) {
@@ -53,7 +53,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
-@@ -275,12 +260,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
+@@ -271,12 +256,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint title_source,
jint source,
jlong jdata_generation_time_ms) {
@@ -78,7 +78,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites.cc",
"most_visited_sites.h",
"ntp_tile.cc",
-@@ -94,7 +92,6 @@ source_set("unit_tests") {
+@@ -77,7 +75,6 @@ source_set("unit_tests") {
"custom_links_manager_impl_unittest.cc",
"custom_links_store_unittest.cc",
"icon_cacher_impl_unittest.cc",
diff --git a/build/patches/Disable-metrics-on-all-I-O-threads.patch b/build/patches/Disable-metrics-on-all-I-O-threads.patch
index 694768bd..b880e4ff 100644
--- a/build/patches/Disable-metrics-on-all-I-O-threads.patch
+++ b/build/patches/Disable-metrics-on-all-I-O-threads.patch
@@ -10,7 +10,7 @@ Subject: Disable metrics on all I/O threads
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
-@@ -963,7 +963,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
+@@ -952,7 +952,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // defined(OS_CHROMEOS)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@@ -22,7 +22,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
-@@ -54,8 +54,6 @@
+@@ -53,8 +53,6 @@
#include "components/cookie_config/cookie_store_util.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h"
#include "components/dom_distiller/core/url_constants.h"
diff --git a/build/patches/Disable-network-service-by-default.patch b/build/patches/Disable-network-service-by-default.patch
new file mode 100644
index 00000000..8e5a02f1
--- /dev/null
+++ b/build/patches/Disable-network-service-by-default.patch
@@ -0,0 +1,23 @@
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Sat, 27 Jul 2019 10:07:24 +0200
+Subject: Disable network service by default
+
+---
+ services/network/public/cpp/features.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
+--- a/services/network/public/cpp/features.cc
++++ b/services/network/public/cpp/features.cc
+@@ -18,7 +18,7 @@ const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+ // Enables the network service.
+ const base::Feature kNetworkService{"NetworkService",
+- base::FEATURE_ENABLED_BY_DEFAULT};
++ base::FEATURE_DISABLED_BY_DEFAULT};
+
+ // Out of Blink CORS
+ const base::Feature kOutOfBlinkCors{"OutOfBlinkCors",
+--
+2.11.0
+
diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch
index efe02cfd..cd42e13e 100644
--- a/build/patches/Disable-plugins-enumeration.patch
+++ b/build/patches/Disable-plugins-enumeration.patch
@@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
-@@ -1255,10 +1255,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
+@@ -1232,10 +1232,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
diff --git a/build/patches/Disable-promos-displayed-in-bookmarks-manager.patch b/build/patches/Disable-promos-displayed-in-bookmarks-manager.patch
index 7b9fe50e..4427d123 100644
--- a/build/patches/Disable-promos-displayed-in-bookmarks-manager.patch
+++ b/build/patches/Disable-promos-displayed-in-bookmarks-manager.patch
@@ -5,11 +5,11 @@ Subject: Disable promos displayed in bookmarks manager
Remove personalized signin promo view from
bookmarks, never reach signin thresholds.
---
- .../personalized_signin_promo_view_bookmarks.xml | 30 -------------
+ .../personalized_signin_promo_view_bookmarks.xml | 30 ------------
.../browser/bookmarks/BookmarkItemsAdapter.java | 23 +---------
- .../browser/bookmarks/BookmarkPromoHeader.java | 52 +---------------------
+ .../browser/bookmarks/BookmarkPromoHeader.java | 53 +---------------------
.../browser/signin/SigninPromoController.java | 19 +-------
- 4 files changed, 5 insertions(+), 119 deletions(-)
+ 4 files changed, 5 insertions(+), 120 deletions(-)
delete mode 100644 chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
diff --git a/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml b/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
@@ -197,16 +197,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private @PromoState int calculatePromoState() {
if (sPromoStateForTests != null) {
return sPromoStateForTests;
-@@ -202,7 +153,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+@@ -201,8 +152,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+ if (!ChromeSigninController.get().isSignedIn()) {
boolean impressionLimitReached = !SigninPromoController.hasNotReachedImpressionLimit(
SigninAccessPoint.BOOKMARK_MANAGER);
- if (!mSignInManager.isSignInAllowed() || !SigninPromoController.isSignInPromoAllowed()
-- || impressionLimitReached || wasPersonalizedSigninPromoDeclined()) {
-+ || impressionLimitReached) {
+- if (!mSignInManager.isSignInAllowed() || impressionLimitReached
+- || wasPersonalizedSigninPromoDeclined()) {
++ if (!mSignInManager.isSignInAllowed() || impressionLimitReached) {
return PromoState.PROMO_NONE;
}
return PromoState.PROMO_SIGNIN_PERSONALIZED;
-@@ -250,7 +201,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+@@ -250,7 +200,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
}
private void triggerPromoUpdate() {
diff --git a/build/patches/Disable-seed-based-field-trials.patch b/build/patches/Disable-seed-based-field-trials.patch
index 02d7bb6e..e57e42f9 100644
--- a/build/patches/Disable-seed-based-field-trials.patch
+++ b/build/patches/Disable-seed-based-field-trials.patch
@@ -9,7 +9,7 @@ Subject: Disable seed-based field trials
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
-@@ -536,8 +536,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
+@@ -541,8 +541,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
bool used_seed = false;
if (!used_testing_config) {
diff --git a/build/patches/Disable-signin-and-data-saver-preferences.patch b/build/patches/Disable-signin-and-data-saver-preferences.patch
index d180af13..2a251c74 100644
--- a/build/patches/Disable-signin-and-data-saver-preferences.patch
+++ b/build/patches/Disable-signin-and-data-saver-preferences.patch
@@ -36,18 +36,18 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
android:key="basics_section"
android:order="3"
android:title="@string/prefs_section_basics"/>
-@@ -95,11 +80,6 @@
- android:key="languages"
- android:order="17"
+@@ -91,11 +76,6 @@
+ android:order="16"
android:title="@string/prefs_languages"/>
--
-
+- mAllPreferences = new HashMap<>();
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
public MainPreferences() {
setHasOptionsMenu(true);
-@@ -77,33 +68,16 @@ public class MainPreferences extends PreferenceFragment
+@@ -75,33 +66,16 @@ public class MainPreferences extends PreferenceFragment
@Override
public void onDestroy() {
super.onDestroy();
@@ -139,7 +139,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
@Override
-@@ -116,17 +90,9 @@ public class MainPreferences extends PreferenceFragment
+@@ -114,17 +88,9 @@ public class MainPreferences extends PreferenceFragment
PreferenceUtils.addPreferencesFromResource(this, R.xml.main_preferences);
cachePreferences();
@@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// If we are on Android O+ the Notifications preference should lead to the Android
-@@ -190,7 +156,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -180,7 +146,6 @@ public class MainPreferences extends PreferenceFragment
Preference preference = getPreferenceScreen().getPreference(index);
mAllPreferences.put(preference.getKey(), preference);
}
@@ -165,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private void setManagedPreferenceDelegateForPreference(String key) {
-@@ -199,13 +164,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -189,13 +154,6 @@ public class MainPreferences extends PreferenceFragment
}
private void updatePreferences() {
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
updateSearchEnginePreference();
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
-@@ -235,10 +193,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -215,10 +173,6 @@ public class MainPreferences extends PreferenceFragment
} else {
removePreferenceIfPresent(PREF_DEVELOPER);
}
@@ -190,7 +190,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private Preference addPreferenceIfAbsent(String key) {
-@@ -252,15 +206,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -232,15 +186,6 @@ public class MainPreferences extends PreferenceFragment
if (preference != null) getPreferenceScreen().removePreference(preference);
}
@@ -206,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
private void updateSearchEnginePreference() {
if (!TemplateUrlService.getInstance().isLoaded()) {
ChromeBasePreference searchEnginePref =
-@@ -292,28 +237,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -272,28 +217,6 @@ public class MainPreferences extends PreferenceFragment
pref.setSummary(getResources().getString(isOn ? R.string.text_on : R.string.text_off));
}
@@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
// TemplateUrlService.LoadListener implementation.
@Override
public void onTemplateUrlServiceLoaded() {
-@@ -321,11 +244,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -301,11 +224,6 @@ public class MainPreferences extends PreferenceFragment
updateSearchEnginePreference();
}
@@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
@VisibleForTesting
ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
return mManagedPreferenceDelegate;
-@@ -335,9 +253,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -315,9 +233,6 @@ public class MainPreferences extends PreferenceFragment
return new ManagedPreferenceDelegate() {
@Override
public boolean isPreferenceControlledByPolicy(Preference preference) {
@@ -257,7 +257,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
return TemplateUrlService.getInstance().isDefaultSearchManaged();
}
-@@ -346,11 +261,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -326,11 +241,6 @@ public class MainPreferences extends PreferenceFragment
@Override
public boolean isPreferenceClickDisabledByPolicy(Preference preference) {
@@ -316,7 +316,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
-@@ -324,9 +324,6 @@ CHAR-LIMIT guidelines:
+@@ -327,9 +327,6 @@ CHAR-LIMIT guidelines:
@@ -326,7 +326,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
Sign in to Chrome
-@@ -409,9 +406,6 @@ CHAR-LIMIT guidelines:
+@@ -415,9 +412,6 @@ CHAR-LIMIT guidelines:
Sends URLs of pages you visit to Google
diff --git a/build/patches/Disable-signin-data-reduction-promos.patch b/build/patches/Disable-signin-data-reduction-promos.patch
index 8f882aff..829f85bd 100644
--- a/build/patches/Disable-signin-data-reduction-promos.patch
+++ b/build/patches/Disable-signin-data-reduction-promos.patch
@@ -3,15 +3,15 @@ Date: Tue, 12 Jun 2018 15:09:26 +0200
Subject: Disable signin/data reduction promos
---
- .../chrome/browser/ChromeTabbedActivity.java | 28 ++--------------------
- 1 file changed, 2 insertions(+), 26 deletions(-)
+ .../chrome/browser/ChromeTabbedActivity.java | 30 +---------------------
+ 1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
-@@ -705,34 +705,10 @@ public class ChromeTabbedActivity
- }
-
+@@ -791,35 +791,7 @@ public class ChromeTabbedActivity
+ try (TraceEvent e = TraceEvent.scoped(
+ "ChromeTabbedActivity.createToolbarButtonInProductHelpController")) {
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance();
- // Promos can only be shown when we start with ACTION_MAIN intent and
- // after FRE is complete. Native initialization can finish before the FRE flow is
@@ -23,29 +23,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
- // might not have completed at this point and we could show multiple
- // promos.
- boolean isShowingPromo = mLocaleManager.hasShownSearchEnginePromoThisSession();
-- // Promo dialogs in multiwindow mode are broken on some devices: http://crbug.com/354696
+- // Promo dialogs in multiwindow mode are broken on some devices:
+- // http://crbug.com/354696
- boolean isLegacyMultiWindow = MultiWindowUtils.getInstance().isLegacyMultiWindow(this);
- if (!isShowingPromo && !mIntentWithEffect && FirstRunStatus.getFirstRunFlowComplete()
- && preferenceManager.readBoolean(
-- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, false)
+- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, false)
- && !VrModuleProvider.getDelegate().isInVr()
-- // VrModuleProvider.getDelegate().isInVr may not return true at this point even
-- // though Chrome is about to enter VR, so we need to also check whether we're
-- // launching into VR.
+- // VrModuleProvider.getDelegate().isInVr may not return true at this point
+- // even though Chrome is about to enter VR, so we need to also check whether
+- // we're launching into VR.
- && !VrModuleProvider.getIntentDelegate().isLaunchingIntoVr(this, getIntent())
- && !isLegacyMultiWindow) {
- isShowingPromo = maybeShowPromo();
- } else {
- preferenceManager.writeBoolean(
-+ preferenceManager.writeBoolean(
- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, true);
+- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, true);
- }
-
+-
- ToolbarButtonInProductHelpController.create(this, isShowingPromo);
+ ToolbarButtonInProductHelpController.create(this, false);
+ }
+ }
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS)) {
- // We call getFeedAppLifecycle() here to ensure the app lifecycle is created so that
--
2.11.0
diff --git a/build/patches/Disable-unused-permissions.patch b/build/patches/Disable-unused-permissions.patch
index f9ed16e9..52056040 100644
--- a/build/patches/Disable-unused-permissions.patch
+++ b/build/patches/Disable-unused-permissions.patch
@@ -28,7 +28,7 @@ Fixup more permission removal
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -1060,8 +1060,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
+@@ -1092,8 +1092,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
resources = [
"java/res_template/xml/file_paths.xml",
"java/res_template/xml/launchershortcuts.xml",
@@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
]
res_dir = "java/res_template"
variables = [ "manifest_package=$manifest_package" ]
-@@ -1072,7 +1071,6 @@ jinja_template_resources("chrome_test_apk_template_resources") {
+@@ -1104,7 +1103,6 @@ jinja_template_resources("chrome_test_apk_template_resources") {
"java/res_template/xml/file_paths.xml",
"java/res_template/xml/launchershortcuts.xml",
"java/res_template/xml/searchable.xml",
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
{% endblock %}
-@@ -1001,16 +993,6 @@ by a child template that "extends" this file.
+@@ -980,16 +972,6 @@ by a child template that "extends" this file.
android:resource="@xml/file_paths" />
@@ -98,7 +98,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -1116,15 +1098,6 @@ by a child template that "extends" this file.
+@@ -1095,15 +1077,6 @@ by a child template that "extends" this file.
@@ -117,16 +117,16 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
-@@ -131,8 +131,6 @@ import org.chromium.chrome.browser.share.ShareMenuActionHandler;
+@@ -127,8 +127,6 @@ import org.chromium.chrome.browser.share.ShareMenuActionHandler;
import org.chromium.chrome.browser.snackbar.BottomContainer;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
-import org.chromium.chrome.browser.sync.ProfileSyncService;
-import org.chromium.chrome.browser.sync.SyncController;
import org.chromium.chrome.browser.tab.Tab;
- import org.chromium.chrome.browser.tab.TabFullscreenHandler;
+ import org.chromium.chrome.browser.tab.TabBrowserControlsState;
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
-@@ -283,9 +281,6 @@ public abstract class ChromeActivity
+@@ -265,9 +263,6 @@ public abstract class ChromeActivity
@SuppressLint("NewApi")
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
@@ -136,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
@Nullable
private ChromeFullscreenManager mFullscreenManager;
-@@ -964,28 +959,6 @@ public abstract class ChromeActivity
+@@ -903,28 +898,6 @@ public abstract class ChromeActivity
private void createContextReporterIfNeeded() {
if (!mStarted) return; // Sync state reporting should work only in started state.
if (mContextReporter != null || getActivityTab() == null) return;
@@ -165,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
}
@Override
-@@ -1054,13 +1027,6 @@ public abstract class ChromeActivity
+@@ -992,13 +965,6 @@ public abstract class ChromeActivity
if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
GSAAccountChangeListener.getInstance().disconnect();
}
@@ -428,7 +428,7 @@ diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.ja
}
}
-@@ -299,22 +222,7 @@ public class HttpNegotiateAuthenticator {
+@@ -300,22 +223,7 @@ public class HttpNegotiateAuthenticator {
*/
private void requestTokenWithoutActivity(
Context ctx, RequestData requestData, String[] features) {
@@ -452,7 +452,7 @@ diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.ja
}
/**
-@@ -333,29 +241,7 @@ public class HttpNegotiateAuthenticator {
+@@ -334,29 +242,7 @@ public class HttpNegotiateAuthenticator {
*/
private void requestTokenWithActivity(
Context ctx, Activity activity, RequestData requestData, String[] features) {
@@ -486,7 +486,7 @@ diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.ja
diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
--- a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
+++ b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
-@@ -93,7 +93,6 @@ public class OAuthTokenFetcher {
+@@ -92,7 +92,6 @@ public class OAuthTokenFetcher {
/** Begins fetching a token. Should be called on the main thread. */
public void fetch() {
@@ -494,7 +494,7 @@ diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFe
}
/**
-@@ -102,7 +101,6 @@ public class OAuthTokenFetcher {
+@@ -101,7 +100,6 @@ public class OAuthTokenFetcher {
* @param expiredToken A previously-fetched token which has expired.
*/
public void clearAndFetch(String expiredToken) {
diff --git a/build/patches/Do-not-grant-notifications-to-default-search-engine.patch b/build/patches/Do-not-grant-notifications-to-default-search-engine.patch
index 505f8aa3..53fa4d61 100644
--- a/build/patches/Do-not-grant-notifications-to-default-search-engine.patch
+++ b/build/patches/Do-not-grant-notifications-to-default-search-engine.patch
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
-@@ -247,7 +247,7 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
+@@ -249,7 +249,7 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@@ -71,7 +71,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
+ base::FEATURE_DISABLED_BY_DEFAULT};
#endif
- // Show the number of open incognito windows besides incognito icon on the
+ // If enabled, Drive will use FCM for its invalidations.
--
2.11.0
diff --git a/build/patches/Do-not-record-UMA-for-network-errors.patch b/build/patches/Do-not-record-UMA-for-network-errors.patch
new file mode 100644
index 00000000..a87b27fb
--- /dev/null
+++ b/build/patches/Do-not-record-UMA-for-network-errors.patch
@@ -0,0 +1,38 @@
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Sat, 27 Jul 2019 11:19:53 +0200
+Subject: Do not record UMA for network errors
+
+---
+ services/network/network_context.cc | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/services/network/network_context.cc b/services/network/network_context.cc
+--- a/services/network/network_context.cc
++++ b/services/network/network_context.cc
+@@ -384,23 +384,6 @@ class NetworkContext::ContextNetworkDelegate
+ started);
+ }
+
+- // Record network errors that HTTP requests complete with, including OK and
+- // ABORTED.
+- // TODO(mmenke): Seems like this really should be looking at HTTPS requests,
+- // too.
+- // TODO(mmenke): We should remove the main frame case from here, and move it
+- // into the consumer - the network service shouldn't know what a main frame
+- // is.
+- if (request->url().SchemeIs("http")) {
+- base::UmaHistogramSparse("Net.HttpRequestCompletionErrorCodes",
+- -net_error);
+-
+- if (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED) {
+- base::UmaHistogramSparse(
+- "Net.HttpRequestCompletionErrorCodes.MainFrame", -net_error);
+- }
+- }
+-
+ ForwardProxyErrors(net_error);
+ }
+
+--
+2.11.0
+
diff --git a/build/patches/Do-not-store-passwords-by-default.patch b/build/patches/Do-not-store-passwords-by-default.patch
index 3644b43c..8cb25e8e 100644
--- a/build/patches/Do-not-store-passwords-by-default.patch
+++ b/build/patches/Do-not-store-passwords-by-default.patch
@@ -9,9 +9,9 @@ Subject: Do not store passwords by default
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
-@@ -354,10 +354,10 @@ bool IsOnlyNewParserEnabled() {
- void PasswordManager::RegisterProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
+@@ -357,10 +357,10 @@ void PasswordManager::RegisterProfilePrefs(
+ registry->RegisterBooleanPref(prefs::kBlacklistedCredentialsNormalized,
+ false);
registry->RegisterBooleanPref(
- prefs::kCredentialsEnableService, true,
+ prefs::kCredentialsEnableService, false,
diff --git a/build/patches/Enable-changing-default-downloads-storage-location-by-default.patch b/build/patches/Enable-changing-default-downloads-storage-location-by-default.patch
index ff8dc408..a152606a 100644
--- a/build/patches/Enable-changing-default-downloads-storage-location-by-default.patch
+++ b/build/patches/Enable-changing-default-downloads-storage-location-by-default.patch
@@ -9,7 +9,7 @@ Subject: Enable changing default downloads storage location by default
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
-@@ -247,7 +247,7 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
+@@ -249,7 +249,7 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@@ -17,7 +17,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
+ base::FEATURE_ENABLED_BY_DEFAULT};
#endif
- // Show the number of open incognito windows besides incognito icon on the
+ // If enabled, Drive will use FCM for its invalidations.
--
2.11.0
diff --git a/build/patches/Enable-download-rename-option-by-default.patch b/build/patches/Enable-download-rename-option-by-default.patch
index 3d679da1..0ada4bd4 100644
--- a/build/patches/Enable-download-rename-option-by-default.patch
+++ b/build/patches/Enable-download-rename-option-by-default.patch
@@ -9,7 +9,7 @@ Subject: Enable download rename option by default
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
-@@ -388,7 +388,7 @@ const base::Feature kDownloadHomeShowStorageInfo{
+@@ -394,7 +394,7 @@ const base::Feature kDownloadHomeShowStorageInfo{
"DownloadHomeShowStorageInfo", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadRename{"DownloadRename",
diff --git a/build/patches/Enable-history-requirement-of-user-gesture.patch b/build/patches/Enable-history-requirement-of-user-gesture.patch
deleted file mode 100644
index 3ce1a329..00000000
--- a/build/patches/Enable-history-requirement-of-user-gesture.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: csagan5 <32685696+csagan5@users.noreply.github.com>
-Date: Fri, 2 Nov 2018 14:06:17 +0100
-Subject: Enable history requirement of user gesture
-
-Set #enable-history-entry-requires-user-gesture to enabled by default
----
- chrome/browser/about_flags.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
---- a/chrome/browser/about_flags.cc
-+++ b/chrome/browser/about_flags.cc
-@@ -1156,7 +1156,7 @@ const FeatureEntry kFeatureEntries[] = {
- {"enable-history-entry-requires-user-gesture",
- flag_descriptions::kHistoryRequiresUserGestureName,
- flag_descriptions::kHistoryRequiresUserGestureDescription, kOsAll,
-- SINGLE_VALUE_TYPE(switches::kHistoryEntryRequiresUserGesture)},
-+ SINGLE_DISABLE_VALUE_TYPE(switches::kHistoryEntryRequiresUserGesture)},
- {"enable-history-manipulation-intervention",
- flag_descriptions::kHistoryManipulationIntervention,
- flag_descriptions::kHistoryManipulationInterventionDescription, kOsAll,
---
-2.11.0
-
diff --git a/build/patches/Enable-night-mode-menu-entry-by-default.patch b/build/patches/Enable-night-mode-menu-entry-by-default.patch
index 299f4465..d3c19ae1 100644
--- a/build/patches/Enable-night-mode-menu-entry-by-default.patch
+++ b/build/patches/Enable-night-mode-menu-entry-by-default.patch
@@ -9,7 +9,7 @@ Subject: Enable night mode menu entry by default
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
-@@ -231,7 +231,7 @@ const base::Feature kAdjustWebApkInstallationSpace = {
+@@ -234,7 +234,7 @@ const base::Feature kAdjustWebApkInstallationSpace = {
"AdjustWebApkInstallationSpace", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAndroidNightMode{"AndroidNightMode",
diff --git a/build/patches/Enable-secure-DNS-mode-by-default-in-DnsTransaction.patch b/build/patches/Enable-secure-DNS-mode-by-default-in-DnsTransaction.patch
index 9658ae06..ba3e4c82 100644
--- a/build/patches/Enable-secure-DNS-mode-by-default-in-DnsTransaction.patch
+++ b/build/patches/Enable-secure-DNS-mode-by-default-in-DnsTransaction.patch
@@ -9,12 +9,12 @@ Subject: Enable secure DNS mode by default in DnsTransaction
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
-@@ -1001,7 +1001,7 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr {
- std::unique_ptr CreateTransaction(
- DnsQueryType dns_query_type) {
+@@ -1065,7 +1065,7 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr {
+ DCHECK(client_);
DCHECK_NE(DnsQueryType::UNSPECIFIED, dns_query_type);
-- SecureDnsMode secure_dns_mode = SecureDnsMode::AUTOMATIC;
-+ SecureDnsMode secure_dns_mode = SecureDnsMode::SECURE;
+ DnsConfig::SecureDnsMode secure_dns_mode =
+- DnsConfig::SecureDnsMode::AUTOMATIC;
++ DnsConfig::SecureDnsMode::SECURE;
// Downgrade to OFF mode if the query name for this attempt matches one of
// the DoH server names. This is needed to prevent infinite recursion.
DCHECK(client_->GetConfig());
diff --git a/build/patches/Enable-site-per-process-isolation-for-devices-with-enough-memory.patch b/build/patches/Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
index cfa554f4..7f187650 100644
--- a/build/patches/Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
+++ b/build/patches/Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
@@ -9,7 +9,7 @@ Subject: Enable site per process isolation for devices with enough memory
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
-@@ -563,11 +563,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
+@@ -553,11 +553,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"site-per-process",
@@ -21,7 +21,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
};
// Controls a mode for dynamically process-isolating sites where the user has
-@@ -589,7 +585,7 @@ const base::Feature kSiteIsolationForPasswordSites{
+@@ -579,7 +575,7 @@ const base::Feature kSiteIsolationForPasswordSites{
// base::SysInfo::AmountOfPhysicalMemoryMB().
const base::Feature kSitePerProcessOnlyForHighMemoryClients{
"site-per-process-only-for-high-memory-clients",
diff --git a/build/patches/Expose-flag-to-toggle-network-service.patch b/build/patches/Expose-flag-to-toggle-network-service.patch
new file mode 100644
index 00000000..a93893b3
--- /dev/null
+++ b/build/patches/Expose-flag-to-toggle-network-service.patch
@@ -0,0 +1,56 @@
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Sat, 27 Jul 2019 10:06:57 +0200
+Subject: Expose flag to toggle network service
+
+---
+ chrome/browser/about_flags.cc | 5 +++++
+ chrome/browser/flag_descriptions.cc | 5 +++++
+ chrome/browser/flag_descriptions.h | 3 +++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+--- a/chrome/browser/about_flags.cc
++++ b/chrome/browser/about_flags.cc
+@@ -2651,6 +2651,11 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(features::kHandwritingGesture)},
+ #endif // OS_CHROMEOS
+
++ {"network-service",
++ flag_descriptions::kEnableNetworkServiceName,
++ flag_descriptions::kEnableNetworkServiceDescription, kOsAll,
++ FEATURE_VALUE_TYPE(network::features::kNetworkService)},
++
+ {"network-service-in-process",
+ flag_descriptions::kEnableNetworkServiceInProcessName,
+ flag_descriptions::kEnableNetworkServiceInProcessDescription, kOsAll,
+diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
+--- a/chrome/browser/flag_descriptions.cc
++++ b/chrome/browser/flag_descriptions.cc
+@@ -699,6 +699,11 @@ const char kEnableNetworkLoggingToFileDescription[] =
+ "Enables network logging to a file named netlog.json in the user data "
+ "directory. The file can be imported into chrome://net-internals.";
+
++const char kEnableNetworkServiceName[] =
++ "Enables network service";
++const char kEnableNetworkServiceDescription[] =
++ "Enables the network service.";
++
+ const char kEnableNetworkServiceInProcessName[] =
+ "Runs network service in-process";
+ const char kEnableNetworkServiceInProcessDescription[] =
+diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
+--- a/chrome/browser/flag_descriptions.h
++++ b/chrome/browser/flag_descriptions.h
+@@ -427,6 +427,9 @@ extern const char kEnableNavigationTracingDescription[];
+ extern const char kEnableNetworkLoggingToFileName[];
+ extern const char kEnableNetworkLoggingToFileDescription[];
+
++extern const char kEnableNetworkServiceName[];
++extern const char kEnableNetworkServiceDescription[];
++
+ extern const char kEnableNetworkServiceInProcessName[];
+ extern const char kEnableNetworkServiceInProcessDescription[];
+
+--
+2.11.0
+
diff --git a/build/patches/Fix-crash-when-accessing-page-info-site-settings.patch b/build/patches/Fix-crash-when-accessing-page-info-site-settings.patch
index 5a427f8a..8a5c1fc3 100644
--- a/build/patches/Fix-crash-when-accessing-page-info-site-settings.patch
+++ b/build/patches/Fix-crash-when-accessing-page-info-site-settings.patch
@@ -9,7 +9,7 @@ Subject: Fix crash when accessing page info / site settings
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
--- a/chrome/browser/permissions/permission_manager.cc
+++ b/chrome/browser/permissions/permission_manager.cc
-@@ -695,6 +695,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
+@@ -702,6 +702,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
if (status != CONTENT_SETTING_DEFAULT)
return PermissionResult(status, PermissionStatusSource::UNSPECIFIED);
PermissionContextBase* context = GetPermissionContext(permission);
diff --git a/build/patches/Hide-passwords-manager-link.patch b/build/patches/Hide-passwords-manager-link.patch
index 595c8989..f3dc2074 100644
--- a/build/patches/Hide-passwords-manager-link.patch
+++ b/build/patches/Hide-passwords-manager-link.patch
@@ -9,7 +9,7 @@ Subject: Hide passwords manager link
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
-@@ -251,7 +251,7 @@ public class SavePasswordsPreferences
+@@ -249,7 +249,7 @@ public class SavePasswordsPreferences
return;
}
@@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pas
PreferenceGroup passwordParent;
if (mSearchQuery == null) {
-@@ -326,7 +326,7 @@ public class SavePasswordsPreferences
+@@ -324,7 +324,7 @@ public class SavePasswordsPreferences
return;
}
diff --git a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch
index 32ee2abe..1974a395 100644
--- a/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch
+++ b/build/patches/Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch
@@ -32,7 +32,7 @@ diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/re
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -241,6 +241,7 @@
+@@ -246,6 +246,7 @@
#include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
@@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/spatial_navigation_controller.h"
-@@ -305,6 +306,8 @@
+@@ -310,6 +311,8 @@
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
#include "third_party/blink/renderer/platform/wtf/time.h"
@@ -49,7 +49,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#ifndef NDEBUG
using WeakDocumentSet = blink::HeapHashSet>;
static WeakDocumentSet& liveDocumentSet();
-@@ -6106,8 +6109,35 @@ void Document::FinishedParsing() {
+@@ -6132,8 +6135,35 @@ void Document::FinishedParsing() {
// Parser should have picked up all preloads by now
fetcher_->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
@@ -70,7 +70,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ size_t pos1 = host.Find("www.google."), pos2 = host.Find("news.google.");
+ if ((pos1 == 0) || (pos2 == 0)) {
+ LOG(INFO) << "injecting anti-AMP-cure Javascript payload, URL: " << url_.GetString();
-+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
++ HTMLScriptElement* e = MakeGarbageCollected(*this, CreateElementFlags());
+ e->setTextDirect(ANTI_AMP_CURE_JS);
+ bodyElement->AppendChild(e);
+ }
@@ -78,7 +78,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ // check for eligibility of the video bg fix
+ if ((WTF::kNotFound != host.Find("youtube.com")) || (WTF::kNotFound != host.Find("vimeo.com"))) {
+ LOG(INFO) << "injecting video-bg-play Javascript payload, URL: " << url_.GetString();
-+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
++ HTMLScriptElement* e = MakeGarbageCollected(*this, CreateElementFlags());
+ e->setTextDirect(VIDEO_BG_PLAY_JS);
+ bodyElement->AppendChild(e);
+ }
@@ -111,7 +111,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
--- a/third_party/blink/renderer/core/html/html_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
-@@ -154,6 +154,11 @@ void HTMLScriptElement::setTextContent(
+@@ -149,6 +149,11 @@ void HTMLScriptElement::setTextContent(
}
}
@@ -126,7 +126,7 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_party/blink/renderer/core/html/html_script_element.h
--- a/third_party/blink/renderer/core/html/html_script_element.h
+++ b/third_party/blink/renderer/core/html/html_script_element.h
-@@ -53,6 +53,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
+@@ -51,6 +51,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
void setText(const StringOrTrustedScript&, ExceptionState&);
void setInnerText(const StringOrTrustedScript&, ExceptionState&) override;
void setTextContent(const StringOrTrustedScript&, ExceptionState&) override;
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index 39e9d411..d5ef6d98 100644
--- a/build/patches/Modify-default-preferences.patch
+++ b/build/patches/Modify-default-preferences.patch
@@ -9,7 +9,6 @@ Subject: Modify default preferences
chrome/browser/net/prediction_options.h | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
.../settings/reset_page/reset_profile_dialog.html | 2 +-
- chrome/browser/signin/signin_promo.cc | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
chrome/browser/ui/navigation_correction_tab_observer.cc | 2 +-
.../browser/ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
@@ -19,12 +18,12 @@ Subject: Modify default preferences
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
components/safe_browsing/common/safe_browsing_prefs.cc | 4 ++--
extensions/common/extension.cc | 8 --------
- 16 files changed, 22 insertions(+), 40 deletions(-)
+ 15 files changed, 21 insertions(+), 39 deletions(-)
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
--- a/chrome/browser/background/background_mode_manager.cc
+++ b/chrome/browser/background/background_mode_manager.cc
-@@ -352,7 +352,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
+@@ -303,7 +303,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
#endif
@@ -36,7 +35,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -1149,7 +1149,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1199,7 +1199,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -72,7 +71,7 @@ diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/predic
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
-@@ -148,7 +148,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
+@@ -140,7 +140,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@@ -93,18 +92,6 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
$i18nRaw{resetPageFeedback}
-diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
---- a/chrome/browser/signin/signin_promo.cc
-+++ b/chrome/browser/signin/signin_promo.cc
-@@ -172,7 +172,7 @@ bool IsAutoCloseEnabledInEmbeddedURL(const GURL& url) {
-
- void RegisterProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
-- registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, true);
-+ registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, false);
- registry->RegisterBooleanPref(prefs::kSignInPromoShowNTPBubble, false);
- registry->RegisterIntegerPref(prefs::kDiceSigninUserMenuPromoCount, 0);
- }
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -137,7 +124,7 @@ diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/br
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
--- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
+++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
-@@ -127,10 +127,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
+@@ -107,10 +107,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kLocalDiscoveryNotificationsEnabled,
@@ -163,7 +150,7 @@ diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/c
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
-@@ -360,10 +360,7 @@ bool AutofillManager::ShouldParseForms(const std::vector& forms,
+@@ -406,10 +406,7 @@ bool AutofillManager::ShouldParseForms(const std::vector& forms,
bool enabled = IsAutofillEnabled();
sync_state_ = personal_data_ ? personal_data_->GetSyncSigninState()
: AutofillSyncSigninState::kNumSyncStates;
@@ -175,7 +162,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
return enabled;
}
-@@ -626,10 +623,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
+@@ -685,10 +682,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
// suggestions available.
// TODO(mathp): Differentiate between number of suggestions available
// (current metric) and number shown to the user.
@@ -187,7 +174,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
}
}
-@@ -1234,8 +1228,8 @@ void AutofillManager::Reset() {
+@@ -1279,8 +1273,8 @@ void AutofillManager::Reset() {
#if defined(OS_ANDROID) || defined(OS_IOS)
autofill_assistant_.Reset();
#endif
@@ -259,7 +246,7 @@ diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
-@@ -382,14 +382,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
+@@ -365,14 +365,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
if (is_theme())
return false;
diff --git a/build/patches/Never-fetch-popular-sites.patch b/build/patches/Never-fetch-popular-sites.patch
index c9c0ce66..5de569c2 100644
--- a/build/patches/Never-fetch-popular-sites.patch
+++ b/build/patches/Never-fetch-popular-sites.patch
@@ -9,7 +9,7 @@ Subject: Never fetch popular sites
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
--- a/components/ntp_tiles/popular_sites_impl.cc
+++ b/components/ntp_tiles/popular_sites_impl.cc
-@@ -287,6 +287,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
+@@ -281,6 +281,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
DCHECK(!callback_);
callback_ = callback;
diff --git a/build/patches/Never-send-any-crash-upload-data.patch b/build/patches/Never-send-any-crash-upload-data.patch
index 99df4ad8..4e6fa949 100644
--- a/build/patches/Never-send-any-crash-upload-data.patch
+++ b/build/patches/Never-send-any-crash-upload-data.patch
@@ -9,7 +9,7 @@ Subject: Never send any crash upload data
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
-@@ -127,6 +127,9 @@ void TraceCrashServiceUploader::DoUpload(
+@@ -126,6 +126,9 @@ void TraceCrashServiceUploader::DoUpload(
std::unique_ptr metadata,
const UploadProgressCallback& progress_callback,
UploadDoneCallback done_callback) {
diff --git a/build/patches/Open-YouTube-links-in-Bromite.patch b/build/patches/Open-YouTube-links-in-Bromite.patch
index 5b05070b..0146187b 100644
--- a/build/patches/Open-YouTube-links-in-Bromite.patch
+++ b/build/patches/Open-YouTube-links-in-Bromite.patch
@@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
-@@ -400,6 +400,13 @@ public class ExternalNavigationHandler {
+@@ -402,6 +402,13 @@ public class ExternalNavigationHandler {
}
// TODO(changwan): check if we need to handle URL even when external intent is off.
diff --git a/build/patches/Punt-the-Widevine-version-string.patch b/build/patches/Punt-the-Widevine-version-string.patch
index 472ab8b0..0fd5220e 100644
--- a/build/patches/Punt-the-Widevine-version-string.patch
+++ b/build/patches/Punt-the-Widevine-version-string.patch
@@ -10,7 +10,7 @@ Originally from http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromi
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
--- a/chrome/common/chrome_content_client.cc
+++ b/chrome/common/chrome_content_client.cc
-@@ -520,7 +520,7 @@ void ChromeContentClient::AddContentDecryptionModules(
+@@ -522,7 +522,7 @@ void ChromeContentClient::AddContentDecryptionModules(
base::FilePath cdm_path;
content::CdmCapability capability;
if (IsWidevineAvailable(&cdm_path, &capability)) {
diff --git a/build/patches/Remove-background-sync-and-translate-menu-options.patch b/build/patches/Remove-background-sync-and-translate-menu-options.patch
index 454c88f5..04233eb4 100644
--- a/build/patches/Remove-background-sync-and-translate-menu-options.patch
+++ b/build/patches/Remove-background-sync-and-translate-menu-options.patch
@@ -3,14 +3,14 @@ Date: Wed, 22 Mar 2017 19:10:30 -0400
Subject: Remove background sync and translate menu options
---
- .../java/res/drawable-hdpi/settings_translate.png | Bin 399 -> 0 bytes
- .../java/res/drawable-mdpi/settings_translate.png | Bin 284 -> 0 bytes
- .../java/res/drawable-xhdpi/settings_translate.png | Bin 547 -> 0 bytes
- .../res/drawable-xxhdpi/settings_translate.png | Bin 793 -> 0 bytes
- .../res/drawable-xxxhdpi/settings_translate.png | Bin 1038 -> 0 bytes
- .../java/res/xml/site_settings_preferences.xml | 8 ++++----
- .../website/SiteSettingsPreferences.java | 22 ++-------------------
- 7 files changed, 6 insertions(+), 24 deletions(-)
+ .../java/res/drawable-hdpi/settings_translate.png | Bin 399 -> 0 bytes
+ .../java/res/drawable-mdpi/settings_translate.png | Bin 284 -> 0 bytes
+ .../java/res/drawable-xhdpi/settings_translate.png | Bin 547 -> 0 bytes
+ .../java/res/drawable-xxhdpi/settings_translate.png | Bin 793 -> 0 bytes
+ .../java/res/drawable-xxxhdpi/settings_translate.png | Bin 1038 -> 0 bytes
+ .../java/res/xml/site_settings_preferences.xml | 8 ++++----
+ .../preferences/website/SiteSettingsPreferences.java | 18 ++----------------
+ 7 files changed, 6 insertions(+), 20 deletions(-)
delete mode 100644 chrome/android/java/res/drawable-hdpi/settings_translate.png
delete mode 100644 chrome/android/java/res/drawable-mdpi/settings_translate.png
delete mode 100644 chrome/android/java/res/drawable-xhdpi/settings_translate.png
@@ -156,15 +156,15 @@ diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
-@@ -39,7 +39,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
+@@ -37,7 +37,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
// are defined in the SiteSettingsCategory, additional keys
// are listed here.
static final String MEDIA_KEY = "media";
- static final String TRANSLATE_KEY = "translate";
- // Whether the Protected Content menu is available for display.
- boolean mProtectedContentMenuAvailable;
-@@ -83,11 +82,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
+ // Whether this class is handling showing the Media sub-menu (and not the main menu).
+ boolean mMediaSubMenu;
+@@ -76,11 +75,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
// The Media sub-menu only contains Protected Content and Autoplay, so remove all other
// menus.
for (@Type int i = 0; i < Type.NUM_ENTRIES; i++) {
@@ -175,21 +175,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
getPreferenceScreen().removePreference(findPreference(MEDIA_KEY));
- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
} else {
- // If both Autoplay and Protected Content menus are available, they'll be tucked under
- // the Media key. Otherwise, we can remove the Media menu entry.
-@@ -103,11 +101,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
+ // These will be tucked under the Media subkey, so don't show them on the main menu.
+ getPreferenceScreen().removePreference(findPreference(Type.AUTOPLAY));
+@@ -91,7 +89,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
if (!SiteSettingsCategory.adsCategoryEnabled()) {
getPreferenceScreen().removePreference(findPreference(Type.ADS));
}
-- // The new Languages Preference *feature* is an advanced version of this translate
-- // preference. Once Languages Preference is enabled, remove this setting.
-- if (ChromeFeatureList.isEnabled(ChromeFeatureList.LANGUAGES_PREFERENCE)) {
-- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
-- }
+- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SENSOR_CONTENT_SETTING)) {
getPreferenceScreen().removePreference(findPreference(Type.SENSORS));
}
-@@ -121,10 +114,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
+@@ -105,10 +102,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
private void updatePreferenceStates() {
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
@@ -200,16 +196,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
// Preferences that navigate to Website Settings.
List websitePrefs = new ArrayList();
if (mMediaSubMenu) {
-@@ -141,7 +130,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
- if (!mProtectedContentMenuAvailable) {
- websitePrefs.add(Type.AUTOPLAY);
+@@ -119,7 +112,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
+ websitePrefs.add(Type.ADS);
}
+ websitePrefs.add(Type.AUTOMATIC_DOWNLOADS);
- websitePrefs.add(Type.BACKGROUND_SYNC);
+// websitePrefs.add(Type.BACKGROUND_SYNC);
websitePrefs.add(Type.CAMERA);
if (!FeatureUtilities.isNoTouchModeEnabled()) {
websitePrefs.add(Type.CLIPBOARD);
-@@ -239,11 +228,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
+@@ -217,11 +210,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
preference.getTitle().toString());
return false;
}
diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch
index 660d1e4e..5330089a 100644
--- a/build/patches/Remove-help-menu-item.patch
+++ b/build/patches/Remove-help-menu-item.patch
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
-@@ -2176,15 +2176,6 @@ public abstract class ChromeActivity
+@@ -2085,15 +2085,6 @@ public abstract class ChromeActivity
final Tab currentTab = getActivityTab();
@@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
-@@ -752,7 +752,7 @@ public class CustomTabActivity extends ChromeActivity
* See chrome/browser/signin/signin_manager_android.h for more details.
*/
@@ -30,32 +30,34 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
private static final String TAG = "SigninManager";
/**
-@@ -183,8 +179,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
-
+@@ -182,8 +178,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
private final long mNativeSigninManagerAndroid;
private final Context mContext;
+ private final SigninManagerDelegate mDelegate;
- private final AccountTrackerService mAccountTrackerService;
- private final AndroidSyncSettings mAndroidSyncSettings;
private final ObserverList mSignInStateObservers = new ObserverList<>();
private final ObserverList mSignInAllowedObservers =
new ObserverList<>();
-@@ -228,26 +222,18 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -228,28 +222,20 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
- private SigninManager() {
-- this(ContextUtils.getApplicationContext(),
+ private SigninManager(SigninManagerDelegate delegate) {
+- this(ContextUtils.getApplicationContext(), delegate,
- IdentityServicesProvider.getAccountTrackerService(), AndroidSyncSettings.get());
-+ this(ContextUtils.getApplicationContext());
++ this(ContextUtils.getApplicationContext(), delegate);
}
@VisibleForTesting
-- SigninManager(Context context, AccountTrackerService accountTrackerService,
-- AndroidSyncSettings androidSyncSettings) {
-+ SigninManager(Context context) {
+- SigninManager(Context context, SigninManagerDelegate delegate,
+- AccountTrackerService accountTrackerService, AndroidSyncSettings androidSyncSettings) {
++ SigninManager(Context context, SigninManagerDelegate delegate) {
ThreadUtils.assertOnUiThread();
assert context != null;
+ assert delegate != null;
- assert accountTrackerService != null;
- assert androidSyncSettings != null;
+ mDelegate = delegate;
mContext = context;
- mAccountTrackerService = accountTrackerService;
- mAndroidSyncSettings = androidSyncSettings;
@@ -68,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -283,8 +269,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -285,8 +271,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* Returns true if signin can be started now.
*/
public boolean isSignInAllowed() {
@@ -78,12 +80,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -299,16 +284,14 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -301,16 +286,14 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* Google Play Services installed.
*/
public boolean isSigninSupported() {
- return !ApiCompatibilityUtils.isDemoUser(mContext)
-- && !ExternalAuthUtils.getInstance().isGooglePlayServicesMissing(mContext)
+- && mDelegate.isGooglePlayServicesPresent(mContext)
- && !ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY);
+ return false;
}
@@ -97,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -342,27 +325,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -344,27 +327,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
/**
@@ -125,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
* Starts the sign-in flow, and executes the callback when finished.
*
* If an activity is provided, it is considered an "interactive" sign-in and the user can be
-@@ -417,19 +379,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -419,16 +381,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
private void progressSignInFlowSeedSystemAccounts() {
@@ -135,10 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
- mSignInState.mBlockedOnAccountSeeding = true;
- } else {
- Activity activity = mSignInState.mActivity;
-- UserRecoverableErrorHandler errorHandler = activity != null
-- ? new UserRecoverableErrorHandler.ModalDialog(activity, !isForceSigninEnabled())
-- : new UserRecoverableErrorHandler.SystemNotification();
-- ExternalAuthUtils.getInstance().canUseGooglePlayServices(errorHandler);
+- mDelegate.handleGooglePlayServicesUnavailability(activity, !isForceSigninEnabled());
- Log.w(TAG, "Cancelling the sign-in process as Google Play services is unavailable");
- abortSignIn();
- }
@@ -146,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -495,12 +445,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -494,12 +447,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
SigninManagerJni.get().onSignInCompleted(
this, mNativeSigninManagerAndroid, mSignInState.mAccount.name);
@@ -159,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
if (mSignInState.mCallback != null) {
mSignInState.mCallback.onSignInComplete();
}
-@@ -676,16 +620,11 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -675,16 +622,11 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
// Should be set at beginning of sign-out flow.
assert mSignOutState != null;
diff --git a/build/patches/Restore-classic-new-tab-page.patch b/build/patches/Restore-classic-new-tab-page.patch
index 51b6a02d..04aa34a2 100644
--- a/build/patches/Restore-classic-new-tab-page.patch
+++ b/build/patches/Restore-classic-new-tab-page.patch
@@ -3,30 +3,27 @@ Date: Sun, 26 Nov 2017 11:40:05 +0100
Subject: Restore classic new tab page
---
- chrome/browser/search/search.cc | 13 +------------
- 1 file changed, 1 insertion(+), 12 deletions(-)
+ chrome/browser/search/search.cc | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
--- a/chrome/browser/search/search.cc
+++ b/chrome/browser/search/search.cc
-@@ -160,16 +160,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
+@@ -156,13 +156,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
return true;
}
-bool ShouldShowLocalNewTab(Profile* profile) {
-#if !defined(OS_ANDROID)
-- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
-- return command_line->HasSwitch(switches::kForceLocalNtp) ||
-- (base::FeatureList::IsEnabled(features::kUseGoogleLocalNtp) &&
-- profile && DefaultSearchProviderIsGoogle(profile));
+- return DefaultSearchProviderIsGoogle(profile);
-#endif
- return false;
-}
-
- bool ShouldDelayRemoteNTP(const GURL& search_provider_url, Profile* profile) {
- #if defined(OS_CHROMEOS)
- // On Chrome OS, if the session hasn't merged yet, we need to avoid loading
-@@ -196,8 +186,7 @@ struct NewTabURLDetails {
+ // Used to look up the URL to use for the New Tab page. Also tracks how we
+ // arrived at that URL so it can be logged with UMA.
+ struct NewTabURLDetails {
+@@ -176,8 +169,7 @@ struct NewTabURLDetails {
const GURL local_url(chrome::kChromeSearchLocalNtpUrl);
diff --git a/build/patches/Use-4-tile-rows-never-show-logo.patch b/build/patches/Use-4-tile-rows-never-show-logo.patch
index bb797055..291a8541 100644
--- a/build/patches/Use-4-tile-rows-never-show-logo.patch
+++ b/build/patches/Use-4-tile-rows-never-show-logo.patch
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mInitialized;
-@@ -542,7 +542,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
+@@ -546,7 +546,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
&& mInitialized) {
return;
}
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSearchProviderIsGoogle = isGoogle;
updateTileGridPadding();
-@@ -834,7 +834,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
+@@ -838,7 +838,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
}
private static int getMaxTileRows() {
@@ -55,8 +55,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Mos
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
-@@ -110,7 +110,7 @@ public class SiteSection extends OptionalLeaf implements TileGroup.Observer {
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.EXPLORE_SITES)) {
+@@ -113,7 +113,7 @@ public class SiteSection extends OptionalLeaf implements TileGroup.Observer {
+ ExploreSitesBridge.getVariation())) {
return 1;
}
- return 2;
@@ -79,7 +79,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
diff --git a/components/history/core/browser/top_sites_impl.h b/components/history/core/browser/top_sites_impl.h
--- a/components/history/core/browser/top_sites_impl.h
+++ b/components/history/core/browser/top_sites_impl.h
-@@ -55,7 +55,7 @@ class TopSitesImpl : public TopSites, public HistoryServiceObserver {
+@@ -54,7 +54,7 @@ class TopSitesImpl : public TopSites, public HistoryServiceObserver {
using CanAddURLToHistoryFn = base::Callback;
// How many top sites to store in the cache.
diff --git a/build/patches/Use-64-bit-WebView-processes.patch b/build/patches/Use-64-bit-WebView-processes.patch
index 8f1077d6..27ba02dc 100644
--- a/build/patches/Use-64-bit-WebView-processes.patch
+++ b/build/patches/Use-64-bit-WebView-processes.patch
@@ -27,7 +27,7 @@ diff --git a/android_webview/apk/java/AndroidManifest.xml b/android_webview/apk/
+++ b/android_webview/apk/java/AndroidManifest.xml
@@ -28,7 +28,6 @@
android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview"
- android:name="{{ application_name|default('com.android.webview.chromium.WebViewApplication') }}"
+ android:name="{{ application_name|default('com.android.webview.chromium.WebViewApkApplication') }}"
android:multiArch="true"
- android:use32bitAbi="true"
android:extractNativeLibs="{{ trichrome_library is not defined }}">
diff --git a/build/patches/User-Agent-anonymize.patch b/build/patches/User-Agent-anonymize.patch
index baa29978..5b795e08 100644
--- a/build/patches/User-Agent-anonymize.patch
+++ b/build/patches/User-Agent-anonymize.patch
@@ -2,128 +2,58 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 21 Mar 2018 14:15:28 +0100
Subject: User Agent: anonymize
-Use a fixed device name and Chrome product version with the goal of not
+Use a fixed device name and product version with the goal of not
disclosing the specific build of Bromite.
---
- .../browser/ui/android/android_about_app_info.cc | 4 ++-
- components/version_info/version_info.cc | 13 +++++++-
- content/common/user_agent.cc | 37 +++++++++++++++++-----
- content/public/common/user_agent.h | 2 +-
- 4 files changed, 45 insertions(+), 11 deletions(-)
+ components/version_info/version_info.cc | 3 ++-
+ content/common/user_agent.cc | 15 ++++-----------
+ 2 files changed, 6 insertions(+), 12 deletions(-)
-diff --git a/chrome/browser/ui/android/android_about_app_info.cc b/chrome/browser/ui/android/android_about_app_info.cc
---- a/chrome/browser/ui/android/android_about_app_info.cc
-+++ b/chrome/browser/ui/android/android_about_app_info.cc
-@@ -20,6 +20,8 @@ std::string AndroidAboutAppInfo::GetGmsInfo() {
- }
-
- std::string AndroidAboutAppInfo::GetOsInfo() {
-+ int32_t major_version = 4, minor_version, bugfix_version;
-+ base::SysInfo::OperatingSystemVersionNumbers(&major_version, &minor_version, &bugfix_version);
- return base::SysInfo::OperatingSystemVersion() +
-- content::GetAndroidOSInfo(/*include_android_build_number=*/true);
-+ content::GetAndroidOSInfo(/*include_android_build_number=*/true, major_version);
- }
diff --git a/components/version_info/version_info.cc b/components/version_info/version_info.cc
--- a/components/version_info/version_info.cc
+++ b/components/version_info/version_info.cc
-@@ -8,13 +8,24 @@
- #include "base/no_destructor.h"
- #include "base/strings/string_number_conversions.h"
- #include "base/version.h"
-+#include "base/system/sys_info.h"
- #include "build/build_config.h"
- #include "components/version_info/version_info_values.h"
-
+@@ -14,7 +14,8 @@
namespace version_info {
std::string GetProductNameAndVersionForUserAgent() {
- return "Chrome/" + GetVersionNumber();
-+ int32_t major, minor, bugfix;
-+ base::SysInfo::OperatingSystemVersionNumbers(&major,
-+ &minor,
-+ &bugfix);
-+ switch (major) {
-+ case 4:
-+ return "Chrome/69.0.3497.100";
-+ }
-+
-+ // version 5 and above
-+ return "Chrome/71.0.3578.99";
++ // a common version for Android 8.0.0
++ return "Chrome/74.0.3729.157";
}
std::string GetProductName() {
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
-@@ -85,7 +85,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) {
+@@ -84,7 +84,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) {
+ architecture_token = "; Win64; IA64";
}
#elif defined(OS_ANDROID)
- std::string android_version_str = base::SysInfo::OperatingSystemVersion();
-- std::string android_info_str = GetAndroidOSInfo(include_android_build_number);
-+ std::string android_info_str = GetAndroidOSInfo(include_android_build_number, os_major_version);
+- std::string android_version_str = base::SysInfo::OperatingSystemVersion();
++ std::string android_version_str = "8.0.0";
+ std::string android_info_str = GetAndroidOSInfo(include_android_build_number);
#elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA)
// Should work on any Posix system.
- struct utsname unixinfo;
-@@ -153,18 +153,39 @@ std::string BuildUserAgentFromProductAndExtraOSInfo(
- return BuildUserAgentFromOSAndProduct(os_info, product);
+@@ -162,16 +162,9 @@ std::string BuildUserAgentFromProductAndExtraOSInfo(
}
--std::string GetAndroidOSInfo(bool include_android_build_number) {
-+std::string GetAndroidOSInfo(bool include_android_build_number, int32_t os_major_version) {
- std::string android_info_str;
-
+ std::string GetAndroidOSInfo(bool include_android_build_number) {
+- std::string android_info_str;
+-
- // Send information about the device.
-+ // Send spoofed information about the device.
- bool semicolon_inserted = false;
+- bool semicolon_inserted = false;
- std::string android_build_codename = base::SysInfo::GetAndroidBuildCodename();
- std::string android_device_name = base::SysInfo::HardwareModelName();
- if (!android_device_name.empty() && "REL" == android_build_codename) {
- android_info_str += "; " + android_device_name;
- semicolon_inserted = true;
-+ std::string android_device_name;
-+
-+ // Send information about the device and build ID.
-+ // Use a common device/build ID based on Android major version.
-+ switch (os_major_version) {
-+ default: // version 9 and above
-+ android_device_name = "ONEPLUS A6000";
-+ break;
-+ case 8:
-+ android_device_name = "FIG-LX3";
-+ break;
-+ case 7:
-+ android_device_name = "SM-G610M";
-+ break;
-+ case 6:
-+ android_device_name = "SM-J700M";
-+ break;
-+ case 5:
-+ android_device_name = "XT1033";
-+ break;
-+ case 4:
-+ android_device_name = "ZTE Blade C370";
-+ break;
- }
+- }
++ // Send spoofed information about the device.
++ std::string android_info_str = "; SM-G960F";
++ bool semicolon_inserted = true;
-+ android_info_str += "; " + android_device_name;
-+ semicolon_inserted = true;
-+
// Append the build ID.
if (base::FeatureList::IsEnabled(kAndroidUserAgentStringContainsBuildId) ||
- include_android_build_number) {
-diff --git a/content/public/common/user_agent.h b/content/public/common/user_agent.h
---- a/content/public/common/user_agent.h
-+++ b/content/public/common/user_agent.h
-@@ -37,7 +37,7 @@ CONTENT_EXPORT std::string BuildUserAgentFromProductAndExtraOSInfo(
- bool include_android_build_number);
-
- // Helper function to generate just the OS info.
--CONTENT_EXPORT std::string GetAndroidOSInfo(bool include_android_build_number);
-+CONTENT_EXPORT std::string GetAndroidOSInfo(bool include_android_build_number, int32_t os_major_version);
- #endif
-
- // Builds a full user agent string given a string describing the OS and a
--
2.11.0
diff --git a/build/patches/autofill-disable-autofill-download-manager.patch b/build/patches/autofill-disable-autofill-download-manager.patch
index 6bfb1dcd..d9651f00 100644
--- a/build/patches/autofill-disable-autofill-download-manager.patch
+++ b/build/patches/autofill-disable-autofill-download-manager.patch
@@ -11,7 +11,7 @@ Disables the autofill download manager (trk:158).
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
--- a/components/autofill/core/browser/autofill_download_manager.cc
+++ b/components/autofill/core/browser/autofill_download_manager.cc
-@@ -60,7 +60,6 @@ constexpr std::pair kAutofillExperimentRanges[] = {
+@@ -59,7 +59,6 @@ constexpr std::pair kAutofillExperimentRanges[] = {
{3314445, 3314448}, {3314854, 3314883},
};
@@ -19,7 +19,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
const size_t kAutofillDownloadManagerMaxFormCacheSize = 16;
const size_t kMaxFieldsPerQueryRequest = 100;
-@@ -448,6 +447,7 @@ bool GetUploadPayloadForApi(const AutofillUploadContents& upload,
+@@ -447,6 +446,7 @@ bool GetUploadPayloadForApi(const AutofillUploadContents& upload,
return upload_request.SerializeToString(payload);
}
@@ -27,7 +27,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
// Gets an API method URL given its type (query or upload) and an optional
// resource ID.
// Example usage:
-@@ -470,6 +470,7 @@ std::string GetAPIMethodUrl(AutofillDownloadManager::RequestType type,
+@@ -469,6 +469,7 @@ std::string GetAPIMethodUrl(AutofillDownloadManager::RequestType type,
}
return base::StrCat({api_method_url, "/", resource_id});
}
@@ -35,7 +35,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
} // namespace
-@@ -643,6 +644,7 @@ void AutofillDownloadManager::ClearUploadHistory(PrefService* pref_service) {
+@@ -642,6 +643,7 @@ void AutofillDownloadManager::ClearUploadHistory(PrefService* pref_service) {
std::tuple AutofillDownloadManager::GetRequestURLAndMethod(
const FormRequestData& request_data) const {
@@ -43,7 +43,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
std::string method("POST");
std::string query_str;
-@@ -665,12 +667,17 @@ std::tuple AutofillDownloadManager::GetRequestURLAndMethod(
+@@ -664,12 +666,17 @@ std::tuple AutofillDownloadManager::GetRequestURLAndMethod(
GURL url = autofill_server_url_
.Resolve(RequestTypeToString(request_data.request_type))
.ReplaceComponents(replacements);
@@ -61,7 +61,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
// ID of the resource to add to the API request URL. Nothing will be added if
// |resource_id| is empty.
std::string resource_id;
-@@ -699,6 +706,10 @@ AutofillDownloadManager::GetRequestURLAndMethodForApi(
+@@ -698,6 +705,10 @@ AutofillDownloadManager::GetRequestURLAndMethodForApi(
(request_data.request_type == AutofillDownloadManager::REQUEST_QUERY)
? "GET"
: "POST";
@@ -75,7 +75,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
-@@ -176,19 +176,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
+@@ -178,19 +178,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
}
}
@@ -92,10 +92,10 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
- return google_apis::GetNonStableAPIKey();
-}
-
- } // namespace
-
- AutofillManager::FillingContext::FillingContext() = default;
-@@ -1277,11 +1264,6 @@ AutofillManager::AutofillManager(
+ ValuePatternsMetric GetValuePattern(const base::string16& value) {
+ if (IsUPIVirtualPaymentAddress(value))
+ return ValuePatternsMetric::kUpiVpa;
+@@ -1327,11 +1314,6 @@ AutofillManager::AutofillManager(
weak_ptr_factory_(this) {
DCHECK(driver);
DCHECK(client_);
@@ -105,8 +105,8 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
- new AutofillDownloadManager(driver, this, GetAPIKeyForUrl(channel)));
- }
CountryNames::SetLocaleString(app_locale_);
- // Since we want Downstream to still work in incognito, only overwrite the
- // PDM's sync service if this is not an incognito AutofillManager. However, if
+ }
+
--
2.11.0
diff --git a/build/patches/build-remove-calling-untrusted-hooks.patch b/build/patches/build-remove-calling-untrusted-hooks.patch
index 9177dddb..bfe6ca78 100644
--- a/build/patches/build-remove-calling-untrusted-hooks.patch
+++ b/build/patches/build-remove-calling-untrusted-hooks.patch
@@ -5,8 +5,8 @@ Subject: build: remove calling untrusted hooks
Avoid downloading untrusted executables and wasting time with a
sysroot.
---
- DEPS | 109 ++-----------------------------------------------------------------
- 1 file changed, 3 insertions(+), 106 deletions(-)
+ DEPS | 121 ++-----------------------------------------------------------------
+ 1 file changed, 3 insertions(+), 118 deletions(-)
diff --git a/DEPS b/DEPS
--- a/DEPS
@@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS
# By default, do not check out WebKit for iOS, as it is not needed unless
# running against ToT WebKit rather than system WebKit. This can be overridden
-@@ -2313,49 +2313,6 @@ hooks = [
+@@ -2309,49 +2309,6 @@ hooks = [
],
},
{
@@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
'pattern': '.',
-@@ -2382,31 +2339,6 @@ hooks = [
+@@ -2378,43 +2335,6 @@ hooks = [
'condition': 'checkout_ios or checkout_mac',
'action': ['python', 'src/build/mac_toolchain.py'],
},
@@ -98,10 +98,22 @@ diff --git a/DEPS b/DEPS
- ],
- },
- {
+- # Update the prebuilt clang toolchain.
- # Note: On Win, this should run after win_toolchain, as it may use it.
- 'name': 'clang',
- 'pattern': '.',
-- 'action': ['python', 'src/tools/clang/scripts/update.py', '--with-android={checkout_android}'],
+- 'condition': 'not llvm_force_head_revision',
+- 'action': ['python', 'src/tools/clang/scripts/update.py'],
+- },
+- {
+- # Build the clang toolchain from tip-of-tree.
+- # Note: On Win, this should run after win_toolchain, as it may use it.
+- 'name': 'clang_tot',
+- 'pattern': '.',
+- 'condition': 'llvm_force_head_revision',
+- 'action': ['python', 'src/tools/clang/scripts/build.py',
+- '--llvm-force-head-revision',
+- '--with-android={checkout_android}'],
- },
- {
- # This is supposed to support the same set of platforms as 'clang' above.
@@ -113,7 +125,7 @@ diff --git a/DEPS b/DEPS
{
# Mac doesn't use lld so it's not included in the default clang bundle
# there. lld is however needed in win and Fuchsia cross builds, so
-@@ -2466,18 +2398,6 @@ hooks = [
+@@ -2474,18 +2394,6 @@ hooks = [
'-s', 'src/buildtools/mac/clang-format.sha1',
],
},
@@ -132,7 +144,7 @@ diff --git a/DEPS b/DEPS
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
-@@ -2503,29 +2423,6 @@ hooks = [
+@@ -2511,29 +2419,6 @@ hooks = [
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
],
},
diff --git a/build/patches/disable-background-sync-by-default.patch b/build/patches/disable-background-sync-by-default.patch
index 6542a252..945baecf 100644
--- a/build/patches/disable-background-sync-by-default.patch
+++ b/build/patches/disable-background-sync-by-default.patch
@@ -9,7 +9,7 @@ Subject: disable background sync by default
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -309,7 +309,7 @@ void ContentSettingsRegistry::Init() {
+@@ -308,7 +308,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC, "background-sync",
diff --git a/build/patches/disable-sensors-access-site-setting-by-default.patch b/build/patches/disable-sensors-access-site-setting-by-default.patch
index d420ab3f..5f5c8709 100644
--- a/build/patches/disable-sensors-access-site-setting-by-default.patch
+++ b/build/patches/disable-sensors-access-site-setting-by-default.patch
@@ -9,7 +9,7 @@ Subject: disable sensors access site setting by default
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -398,7 +398,7 @@ void ContentSettingsRegistry::Init() {
+@@ -397,7 +397,7 @@ void ContentSettingsRegistry::Init() {
// TODO(crbug.com/904439): Update this to "SECURE_ONLY" once
// DeviceOrientationEvents and DeviceMotionEvents are only fired in secure
// contexts.
diff --git a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch
index 7e4c51a3..ce969d73 100644
--- a/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch
+++ b/build/patches/dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch
@@ -13,7 +13,7 @@ Increase probe period from 1s to 15s
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
-@@ -118,12 +118,12 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
+@@ -121,12 +121,12 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
// Time between IPv6 probes, i.e. for how long results of each IPv6 probe are
// cached.
diff --git a/build/patches/extensions-always-show-component-extensions-in-the-ext-list.patch b/build/patches/extensions-always-show-component-extensions-in-the-ext-list.patch
index a85b504a..42a35a94 100644
--- a/build/patches/extensions-always-show-component-extensions-in-the-ext-list.patch
+++ b/build/patches/extensions-always-show-component-extensions-in-the-ext-list.patch
@@ -18,7 +18,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/28
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
-@@ -394,9 +394,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
+@@ -377,9 +377,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
}
bool Extension::ShouldExposeViaManagementAPI() const {
diff --git a/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch b/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
index 313cc9c0..0f3f0ea2 100644
--- a/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
+++ b/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
@@ -25,7 +25,7 @@ See also: http://www.gsd.inesc-id.pt/~mpc/pubs/fingerprinting-trustcom2016.pdf
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
-@@ -34,6 +34,7 @@
+@@ -35,6 +35,7 @@
#include "base/auto_reset.h"
#include "base/macros.h"
#include "base/optional.h"
@@ -33,7 +33,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "cc/input/overscroll_behavior.h"
#include "cc/input/scroll_snap_data.h"
#include "services/metrics/public/cpp/mojo_ukm_recorder.h"
-@@ -738,6 +739,10 @@ Document::Document(const DocumentInit& initializer,
+@@ -734,6 +735,10 @@ Document::Document(const DocumentInit& initializer,
// also depend on the url NOT getting immediately set in opened windows.
// See fast/dom/early-frame-url.html
// and fast/dom/location-new-window-no-crash.html, respectively.
@@ -44,8 +44,8 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
// FIXME: Can/should we unify this behavior?
if (initializer.ShouldSetURL()) {
SetURL(initializer.Url());
-@@ -797,6 +802,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
- Position::BeforeNode(*shadow_host));
+@@ -798,6 +803,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
+ Position::BeforeNode(*shadow_host));
}
+double Document::GetShuffleFactorX() {
@@ -62,7 +62,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
-@@ -392,6 +392,9 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -395,6 +395,9 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
String visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
-@@ -1814,6 +1817,8 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -1866,6 +1869,8 @@ class CORE_EXPORT Document : public ContainerNode,
Vector ax_contexts_;
Member ax_object_cache_;
Member markers_;
@@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -1321,6 +1321,15 @@ DOMRectList* Element::getClientRects() {
+@@ -1346,6 +1346,15 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@@ -100,7 +100,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return DOMRectList::Create(quads);
}
-@@ -1338,6 +1347,13 @@ DOMRect* Element::getBoundingClientRect() {
+@@ -1363,6 +1372,13 @@ DOMRect* Element::getBoundingClientRect() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@@ -117,7 +117,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
--- a/third_party/blink/renderer/core/dom/range.cc
+++ b/third_party/blink/renderer/core/dom/range.cc
-@@ -1643,11 +1643,27 @@ DOMRectList* Range::getClientRects() const {
+@@ -1632,11 +1632,27 @@ DOMRectList* Range::getClientRects() const {
Vector quads;
GetBorderAndTextQuads(quads);
@@ -149,9 +149,9 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
-@@ -45,6 +45,24 @@ void TextMetrics::Trace(Visitor* visitor) {
-
- TextMetrics::TextMetrics() : baselines_(Baselines::Create()) {}
+@@ -54,6 +54,24 @@ TextMetrics::TextMetrics(const Font& font,
+ Update(font, direction, baseline, align, text);
+ }
+void TextMetrics::Shuffle(const double factor) {
+ // x-direction
@@ -177,7 +177,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
-@@ -71,6 +71,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
+@@ -64,6 +64,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
void Trace(Visitor*) override;
@@ -198,13 +198,14 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
-@@ -793,8 +795,14 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
+@@ -804,9 +806,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
else
direction = ToTextDirection(GetState().GetDirection(), canvas());
-- return TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
-+ TextMetrics* textMetrics = TextMetrics::Create(font, direction, GetState().GetTextBaseline(),
- GetState().GetTextAlign(), text);
+- return MakeGarbageCollected(font, direction,
++ auto *textMetrics = MakeGarbageCollected(font, direction,
+ GetState().GetTextBaseline(),
+ GetState().GetTextAlign(), text);
+
+ // scale text metrics by 3/1000000th
+ auto shuffleFactor = 1 + (base::RandDouble() - 0.5) * 0.000003;
diff --git a/build/patches/google-cloud-messaging-disable-experiment-status-check.patch b/build/patches/google-cloud-messaging-disable-experiment-status-check.patch
index 360ad125..a1e348af 100644
--- a/build/patches/google-cloud-messaging-disable-experiment-status-check.patch
+++ b/build/patches/google-cloud-messaging-disable-experiment-status-check.patch
@@ -10,7 +10,7 @@ This avoids trk:263 from triggering.
diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gcm_driver/gcm_channel_status_request.cc
--- a/components/gcm_driver/gcm_channel_status_request.cc
+++ b/components/gcm_driver/gcm_channel_status_request.cc
-@@ -24,8 +24,10 @@ namespace gcm {
+@@ -23,8 +23,10 @@ namespace gcm {
namespace {
@@ -21,7 +21,7 @@ diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gc
const int kDefaultPollIntervalSeconds = 60 * 60; // 60 minutes.
const int kMinPollIntervalSeconds = 30 * 60; // 30 minutes.
-@@ -58,6 +60,7 @@ int GCMChannelStatusRequest::min_poll_interval_seconds() {
+@@ -57,6 +59,7 @@ int GCMChannelStatusRequest::min_poll_interval_seconds() {
void GCMChannelStatusRequest::Start() {
// url_loader_factory_ can be null for tests.
@@ -29,16 +29,16 @@ diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gc
if (!url_loader_factory_)
return;
-@@ -113,6 +116,9 @@ void GCMChannelStatusRequest::Start() {
- net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
+@@ -111,6 +114,9 @@ void GCMChannelStatusRequest::Start() {
+ resource_request->allow_credentials = false;
resource_request->method = "POST";
resource_request->headers.SetHeader(net::HttpRequestHeaders::kUserAgent,
+#endif
+ // Simulate an empty response and disable GCM.
+ callback_.Run(false, false, 0);
user_agent_);
- // TODO(https://crbug.com/808498): Re-add data use measurement once
- // SimpleURLLoader supports it.
+ simple_url_loader_ = network::SimpleURLLoader::Create(
+ std::move(resource_request), traffic_annotation);
--
2.11.0
diff --git a/build/patches/kill-GCM.patch b/build/patches/kill-GCM.patch
index 6c37b9aa..53fc7175 100644
--- a/build/patches/kill-GCM.patch
+++ b/build/patches/kill-GCM.patch
@@ -19,14 +19,14 @@ Subject: kill GCM
.../gcm_driver/instance_id/InstanceIDBridge.java | 40 +-----
components/sync/android/BUILD.gn | 1 -
third_party/cacheinvalidation/BUILD.gn | 6 -
- .../client/contrib/MultiplexingGcmListener.java | 92 +------------
- .../android2/channel/AndroidNetworkChannel.java | 18 +--
- 18 files changed, 15 insertions(+), 526 deletions(-)
+ .../client/contrib/MultiplexingGcmListener.java | 91 +------------
+ .../android2/channel/AndroidNetworkChannel.java | 6 +-
+ 18 files changed, 9 insertions(+), 519 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -343,7 +343,6 @@ android_library("chrome_java") {
+@@ -361,7 +361,6 @@ android_library("chrome_java") {
"//third_party/android_deps:com_google_protobuf_protobuf_lite_java",
"//third_party/android_deps:javax_inject_javax_inject_java",
"//third_party/android_media:android_media_java",
@@ -45,7 +45,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
-@@ -1428,10 +1427,6 @@ chrome_java_sources = [
+@@ -1381,10 +1380,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
"java/src/org/chromium/chrome/browser/services/AndroidEduOwnerCheckCallback.java",
"java/src/org/chromium/chrome/browser/services/GoogleServicesManager.java",
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
-@@ -1060,47 +1055,8 @@ by a child template that "extends" this file.
+@@ -1039,47 +1034,8 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
android:hardwareAccelerated="false" />
@@ -130,7 +130,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
@@ -778,15 +778,15 @@ diff --git a/components/sync/android/BUILD.gn b/components/sync/android/BUILD.gn
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn
-@@ -141,7 +141,6 @@ if (is_android) {
- "$google_play_services_package:google_play_services_iid_java",
+@@ -142,7 +142,6 @@ if (is_android) {
"$google_play_services_package:google_play_services_tasks_java",
+ "//base:base_java",
"//third_party/android_protobuf:protobuf_nano_javalib",
- "//third_party/android_sdk:android_gcm_java",
]
java_files = [
-@@ -207,13 +206,8 @@ if (is_android) {
+@@ -208,13 +207,8 @@ if (is_android) {
"src/java/com/google/ipc/invalidation/ticl/android2/WakeLockManager.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidChannelConstants.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidChannelPreferences.java",
@@ -841,7 +841,7 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
* Convenience base class for client implementations. It provides base classes for a broadcast
* receiver and an intent service that work together to handle events from the
* {@code MultiplexingGcmListener} while holding a wake lock.
-@@ -260,85 +245,10 @@ public class MultiplexingGcmListener extends GCMBaseIntentService {
+@@ -260,80 +245,6 @@ public class MultiplexingGcmListener extends GCMBaseIntentService {
/** Logger. */
private static final Logger logger = AndroidLogger.forTag("MplexGcmListener");
@@ -909,24 +909,19 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
- * @throws IllegalStateException if the manifest is not correctly configured
- */
- public static String initializeGcm(Context context) {
-- AndroidChannelPreferences.setGcmChannelType(context, GcmChannelType.DEFAULT);
-- GCMRegistrar.checkDevice(context);
-- GCMRegistrar.checkManifest(context);
-- final String regId = GCMRegistrar.getRegistrationId(context);
-- if (regId.isEmpty()) {
-- GCMRegistrar.register(context, readSenderIdsFromManifestOrDie(context));
-- }
+- AndroidChannelPreferences.setGcmChannelType(GcmChannelType.DEFAULT);
+- GCMRegistrar.checkDevice(context);
+- GCMRegistrar.checkManifest(context);
+- final String regId = GCMRegistrar.getRegistrationId(context);
+- if (regId.isEmpty()) {
+- GCMRegistrar.register(context, readSenderIdsFromManifestOrDie(context));
+- }
- return regId;
- }
-
/**
* Returns the GCM sender ids from {@link #GCM_SENDER_IDS_METADATA_KEY} or throws a
* {@code RuntimeException} if they are not defined.
- */
--
- static String[] readSenderIdsFromManifestOrDie(Context context) {
- try {
- ServiceInfo serviceInfo = context.getPackageManager().getServiceInfo(
diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
--- a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
+++ b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
@@ -934,22 +929,16 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
Intent intent = ProtocolIntents.newOutboundMessageIntent(outgoingMessage);
// Select the sender service to use for upstream message.
-- if (AndroidChannelPreferences.getGcmChannelType(context) == GcmChannelType.GCM_UPSTREAM){
-- String upstreamServiceClass = new AndroidTiclManifest(context).getGcmUpstreamServiceClass();
-- if (upstreamServiceClass == null || upstreamServiceClass.isEmpty()) {
-- logger.warning("GcmUpstreamSenderService class not found.");
-- return;
-- }
-- intent.setClassName(context, upstreamServiceClass);
+- if (AndroidChannelPreferences.getGcmChannelType() == GcmChannelType.GCM_UPSTREAM) {
+ String upstreamServiceClass = new AndroidTiclManifest(context).getGcmUpstreamServiceClass();
+ if (upstreamServiceClass == null || upstreamServiceClass.isEmpty()) {
+ logger.warning("GcmUpstreamSenderService class not found.");
+ return;
+ }
+ intent.setClassName(context, upstreamServiceClass);
- } else {
-- intent.setClassName(context, AndroidMessageSenderService.class.getName());
+- intent.setClassName(context, AndroidMessageSenderService.class.getName());
- }
-+ String upstreamServiceClass = new AndroidTiclManifest(context).getGcmUpstreamServiceClass();
-+ if (upstreamServiceClass == null || upstreamServiceClass.isEmpty()) {
-+ logger.warning("GcmUpstreamSenderService class not found.");
-+ return;
-+ }
-+ intent.setClassName(context, upstreamServiceClass);
try {
context.startService(intent);
} catch (IllegalStateException exception) {
diff --git a/build/patches/kill-TOS-and-metrics-opt-out.patch b/build/patches/kill-TOS-and-metrics-opt-out.patch
index 3555d042..590230f8 100644
--- a/build/patches/kill-TOS-and-metrics-opt-out.patch
+++ b/build/patches/kill-TOS-and-metrics-opt-out.patch
@@ -23,7 +23,7 @@ diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/j
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
-@@ -191,7 +191,6 @@
+@@ -177,7 +177,6 @@
12dp
24dp
120dp
diff --git a/build/patches/prefs-disable-signinallowed-by-default.patch b/build/patches/prefs-disable-signinallowed-by-default.patch
index 47e6ea5a..cf68ac2f 100644
--- a/build/patches/prefs-disable-signinallowed-by-default.patch
+++ b/build/patches/prefs-disable-signinallowed-by-default.patch
@@ -9,7 +9,7 @@ Subject: prefs: disable signinallowed by default
diff --git a/components/signin/core/browser/signin_manager_base.cc b/components/signin/core/browser/signin_manager_base.cc
--- a/components/signin/core/browser/signin_manager_base.cc
+++ b/components/signin/core/browser/signin_manager_base.cc
-@@ -54,7 +54,7 @@ void SigninManagerBase::RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -59,7 +59,7 @@ void SigninManagerBase::RegisterProfilePrefs(PrefRegistrySimple* registry) {
std::string());
registry->RegisterBooleanPref(prefs::kAutologinEnabled, true);
registry->RegisterListPref(prefs::kReverseAutologinRejectedEmailList);
diff --git a/build/patches/promo-disable-Google-promotion-fetching.patch b/build/patches/promo-disable-Google-promotion-fetching.patch
index 702da4d0..16c7473d 100644
--- a/build/patches/promo-disable-Google-promotion-fetching.patch
+++ b/build/patches/promo-disable-Google-promotion-fetching.patch
@@ -22,7 +22,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/33
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
-@@ -86,6 +86,7 @@ GURL GetEmbeddedPromoURL(signin_metrics::AccessPoint access_point,
+@@ -57,6 +57,7 @@ GURL GetEmbeddedPromoURL(signin_metrics::AccessPoint access_point,
url = net::AppendQueryParameter(url, signin::kSignInPromoQueryKeyAutoClose,
"1");
}
diff --git a/build/patches/safe_browsing-disable-cookie-transmission.patch b/build/patches/safe_browsing-disable-cookie-transmission.patch
index bb945410..98eb91d9 100644
--- a/build/patches/safe_browsing-disable-cookie-transmission.patch
+++ b/build/patches/safe_browsing-disable-cookie-transmission.patch
@@ -17,7 +17,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/37
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc
--- a/chrome/browser/safe_browsing/client_side_detection_service.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
-@@ -359,7 +359,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
+@@ -358,7 +358,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
auto resource_request = std::make_unique();
resource_request->url = GetClientReportUrl(kClientReportPhishingUrl);
resource_request->method = "POST";
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
auto loader = network::SimpleURLLoader::Create(std::move(resource_request),
traffic_annotation);
loader->AttachStringForUpload(request_data, "application/octet-stream");
-@@ -441,7 +441,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
+@@ -440,7 +440,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
auto resource_request = std::make_unique();
resource_request->url = GetClientReportUrl(kClientReportMalwareUrl);
resource_request->method = "POST";
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-@@ -777,7 +777,7 @@ void CheckClientDownloadRequest::SendRequest() {
+@@ -751,7 +751,7 @@ void CheckClientDownloadRequest::SendRequest() {
auto resource_request = std::make_unique();
resource_request->url = PPAPIDownloadRequest::GetDownloadRequestUrl();
resource_request->method = "POST";
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/check_client_downl
diff --git a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
--- a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
+++ b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
-@@ -251,7 +251,7 @@ void PPAPIDownloadRequest::SendRequest() {
+@@ -252,7 +252,7 @@ void PPAPIDownloadRequest::SendRequest() {
auto resource_request = std::make_unique();
resource_request->url = GetDownloadRequestUrl();
resource_request->method = "POST";
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/ppapi_download_req
diff --git a/components/safe_browsing/browser/threat_details_cache.cc b/components/safe_browsing/browser/threat_details_cache.cc
--- a/components/safe_browsing/browser/threat_details_cache.cc
+++ b/components/safe_browsing/browser/threat_details_cache.cc
-@@ -115,6 +115,7 @@ void ThreatDetailsCacheCollector::OpenEntry() {
+@@ -114,6 +114,7 @@ void ThreatDetailsCacheCollector::OpenEntry() {
// Only from cache, and don't save cookies.
resource_request->load_flags = net::LOAD_ONLY_FROM_CACHE |
net::LOAD_SKIP_CACHE_VALIDATION |
@@ -73,7 +73,7 @@ diff --git a/components/safe_browsing/browser/threat_details_cache.cc b/componen
diff --git a/components/safe_browsing/db/v4_update_protocol_manager.cc b/components/safe_browsing/db/v4_update_protocol_manager.cc
--- a/components/safe_browsing/db/v4_update_protocol_manager.cc
+++ b/components/safe_browsing/db/v4_update_protocol_manager.cc
-@@ -373,8 +373,8 @@ void V4UpdateProtocolManager::IssueUpdateRequest() {
+@@ -372,8 +372,8 @@ void V4UpdateProtocolManager::IssueUpdateRequest() {
std::string req_base64 = GetBase64SerializedUpdateRequestProto();
GetUpdateUrlAndHeaders(req_base64, &resource_request->url,
&resource_request->headers);
diff --git a/build/patches/safe_browsing-disable-incident-reporting.patch b/build/patches/safe_browsing-disable-incident-reporting.patch
index 8ca76018..59256c4c 100644
--- a/build/patches/safe_browsing-disable-incident-reporting.patch
+++ b/build/patches/safe_browsing-disable-incident-reporting.patch
@@ -16,7 +16,7 @@ the URL so we get notified if this happens again in the future).
diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc b/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc
--- a/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/incident_report_uploader_impl.cc
-@@ -23,7 +23,7 @@ namespace safe_browsing {
+@@ -22,7 +22,7 @@ namespace safe_browsing {
namespace {
const char kSbIncidentReportUrl[] =
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrom
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
-@@ -359,8 +359,10 @@ SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() {
+@@ -322,8 +322,10 @@ SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() {
void SafeBrowsingService::RegisterAllDelayedAnalysis() {
#if defined(FULL_SAFE_BROWSING)
diff --git a/build/patches/safe_browsing-disable-reporting-of-safebrowsing-override.patch b/build/patches/safe_browsing-disable-reporting-of-safebrowsing-override.patch
index 5a07c720..ce36f6d6 100644
--- a/build/patches/safe_browsing-disable-reporting-of-safebrowsing-override.patch
+++ b/build/patches/safe_browsing-disable-reporting-of-safebrowsing-override.patch
@@ -12,7 +12,7 @@ This prevents trk:148 (phishing) and trk:149 (malware).
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc
--- a/chrome/browser/safe_browsing/client_side_detection_service.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
-@@ -64,11 +64,13 @@ enum MalwareReportTypes {
+@@ -63,11 +63,13 @@ enum MalwareReportTypes {
REPORT_RESULT_MAX
};
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
} // namespace
-@@ -290,6 +292,10 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
+@@ -289,6 +291,10 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
return;
}
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
// Fill in metadata about which model we used.
if (is_extended_reporting) {
request->set_model_filename(model_loader_extended_->name());
-@@ -372,6 +378,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
+@@ -371,6 +377,7 @@ void ClientSideDetectionService::StartClientReportPhishingRequest(
// Record that we made a request
phishing_report_times_.push(base::Time::Now());
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
}
void ClientSideDetectionService::StartClientReportMalwareRequest(
-@@ -386,6 +393,10 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
+@@ -385,6 +392,10 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
return;
}
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
std::string request_data;
if (!request->SerializeToString(&request_data)) {
UpdateEnumUMAHistogram(REPORT_FAILED_SERIALIZATION);
-@@ -455,6 +466,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
+@@ -454,6 +465,7 @@ void ClientSideDetectionService::StartClientReportMalwareRequest(
// Record that we made a malware request
malware_report_times_.push(base::Time::Now());
diff --git a/build/patches/ungoogled-chromium-Always-use-local-DevTools-files-instead-of-remote-files-from-Google.patch b/build/patches/ungoogled-chromium-Always-use-local-DevTools-files-instead-of-remote-files-from-Google.patch
index 3b7f696c..87f6ce68 100644
--- a/build/patches/ungoogled-chromium-Always-use-local-DevTools-files-instead-of-remote-files-from-Google.patch
+++ b/build/patches/ungoogled-chromium-Always-use-local-DevTools-files-instead-of-remote-files-from-Google.patch
@@ -17,7 +17,7 @@ Related comment: https://bugs.chromium.org/p/chromium/issues/detail?id=710701#c1
diff --git a/third_party/blink/renderer/devtools/BUILD.gn b/third_party/blink/renderer/devtools/BUILD.gn
--- a/third_party/blink/renderer/devtools/BUILD.gn
+++ b/third_party/blink/renderer/devtools/BUILD.gn
-@@ -1274,10 +1274,8 @@ action("generate_devtools_grd") {
+@@ -1286,10 +1286,8 @@ action("generate_devtools_grd") {
devtools_embedder_scripts +
[ "$resources_out_dir/devtools_extension_api.js" ]
diff --git a/build/patches/ungoogled-chromium-Disable-GCM.patch b/build/patches/ungoogled-chromium-Disable-GCM.patch
index 251a9898..5d951b42 100644
--- a/build/patches/ungoogled-chromium-Disable-GCM.patch
+++ b/build/patches/ungoogled-chromium-Disable-GCM.patch
@@ -10,7 +10,7 @@ Disable Google Cloud Messaging (GCM) client
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
-@@ -493,6 +493,7 @@ void GCMClientImpl::StartGCM() {
+@@ -492,6 +492,7 @@ void GCMClientImpl::StartGCM() {
device_checkin_info_.Reset();
StartCheckin();
}
@@ -18,7 +18,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
void GCMClientImpl::InitializeMCSClient() {
DCHECK(network_connection_tracker_);
-@@ -685,6 +686,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
+@@ -684,6 +685,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
}
void GCMClientImpl::StartCheckin() {
@@ -26,7 +26,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
// Make sure no checkin is in progress.
if (checkin_request_)
return;
-@@ -760,6 +762,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
+@@ -759,6 +761,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
}
void GCMClientImpl::SchedulePeriodicCheckin() {
diff --git a/build/patches/ungoogled-chromium-Disable-Gaia.patch b/build/patches/ungoogled-chromium-Disable-Gaia.patch
index 117459ad..d11a1918 100644
--- a/build/patches/ungoogled-chromium-Disable-Gaia.patch
+++ b/build/patches/ungoogled-chromium-Disable-Gaia.patch
@@ -7,18 +7,15 @@ Somehow it is still being activated even without being signed-in.
See also: https://github.com/Eloston/ungoogled-chromium/issues/104
---
- chrome/browser/browser_resources.grd | 2 --
- chrome/browser/extensions/component_extensions_whitelist/whitelist.cc | 1 -
- chrome/browser/extensions/signin/gaia_auth_extension_loader.cc | 3 ++-
- chrome/browser/resources/component_extension_resources.grd | 2 --
- chrome/browser/ui/webui/signin/inline_login_ui.cc | 1 -
- google_apis/gaia/gaia_auth_fetcher.cc | 4 +++-
- 6 files changed, 5 insertions(+), 8 deletions(-)
+ chrome/browser/browser_resources.grd | 1 -
+ chrome/browser/ui/webui/signin/inline_login_ui.cc | 1 -
+ google_apis/gaia/gaia_auth_fetcher.cc | 4 +++-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
-@@ -392,7 +392,6 @@
+@@ -363,7 +363,6 @@
@@ -26,57 +23,6 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
-@@ -492,7 +491,6 @@
-
-
-
--
-
-
-
-diff --git a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
---- a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
-+++ b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
-@@ -68,7 +68,6 @@ bool IsComponentExtensionWhitelisted(int manifest_resource_id) {
- #endif
- case IDR_CRYPTOTOKEN_MANIFEST:
- case IDR_FEEDBACK_MANIFEST:
-- case IDR_GAIA_AUTH_MANIFEST:
- #if BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
- case IDR_HANGOUT_SERVICES_MANIFEST:
- #endif
-diff --git a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
---- a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
-+++ b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
-@@ -43,7 +43,7 @@ ComponentLoader* GetComponentLoader(BrowserContext* context) {
-
- void LoadGaiaAuthExtension(BrowserContext* context) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
--
-+/*
- ComponentLoader* component_loader = GetComponentLoader(context);
- const base::CommandLine* command_line =
- base::CommandLine::ForCurrentProcess();
-@@ -56,6 +56,7 @@ void LoadGaiaAuthExtension(BrowserContext* context) {
-
- component_loader->Add(IDR_GAIA_AUTH_MANIFEST,
- base::FilePath(FILE_PATH_LITERAL("gaia_auth")));
-+*/
- }
-
- void UnloadGaiaAuthExtension(BrowserContext* context) {
-diff --git a/chrome/browser/resources/component_extension_resources.grd b/chrome/browser/resources/component_extension_resources.grd
---- a/chrome/browser/resources/component_extension_resources.grd
-+++ b/chrome/browser/resources/component_extension_resources.grd
-@@ -32,8 +32,6 @@
-
-
-
--
--
-
-
-
diff --git a/chrome/browser/ui/webui/signin/inline_login_ui.cc b/chrome/browser/ui/webui/signin/inline_login_ui.cc
--- a/chrome/browser/ui/webui/signin/inline_login_ui.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_ui.cc
@@ -98,8 +44,8 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_
-const size_t kMaxMessageSize = 1024 * 1024; // 1MB
+//const size_t kMaxMessageSize = 1024 * 1024; // 1MB
- std::unique_ptr
- ExtractOAuth2TokenPairResponse(const std::string& data) {
+ constexpr char kBadAuthenticationError[] = "BadAuthentication";
+ constexpr char kBadAuthenticationShortError[] = "badauth";
@@ -263,6 +263,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
const net::NetworkTrafficAnnotationTag& traffic_annotation) {
DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
@@ -108,7 +54,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_
auto resource_request = std::make_unique();
resource_request->url = gaia_gurl;
original_url_ = gaia_gurl;
-@@ -317,6 +318,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
+@@ -313,6 +314,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
base::BindOnce(&GaiaAuthFetcher::OnURLLoadComplete,
base::Unretained(this)),
kMaxMessageSize);
diff --git a/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch b/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch
index 5454a659..7f5af860 100644
--- a/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch
+++ b/build/patches/ungoogled-chromium-Disable-Google-host-detection.patch
@@ -8,8 +8,8 @@ Disables various detections of Google hosts and functionality specific to them
.../page_load_metrics/page_load_metrics_util.cc | 33 +---
components/google/core/common/google_util.cc | 196 ++-------------------
components/search_engines/template_url.cc | 6 +-
- net/base/url_util.cc | 22 ---
- 5 files changed, 14 insertions(+), 247 deletions(-)
+ net/base/url_util.cc | 21 ---
+ 5 files changed, 14 insertions(+), 246 deletions(-)
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_util.cc b/chrome/browser/page_load_metrics/page_load_metrics_util.cc
--- a/chrome/browser/page_load_metrics/page_load_metrics_util.cc
@@ -343,10 +343,10 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
diff --git a/net/base/url_util.cc b/net/base/url_util.cc
--- a/net/base/url_util.cc
+++ b/net/base/url_util.cc
-@@ -392,28 +392,6 @@ void GetIdentityFromURL(const GURL& url,
+@@ -411,27 +411,6 @@ bool HasGoogleHost(const GURL& url) {
}
- bool HasGoogleHost(const GURL& url) {
+ bool IsGoogleHost(base::StringPiece host) {
- static const char* kGoogleHostSuffixes[] = {
- ".google.com",
- ".youtube.com",
@@ -361,7 +361,6 @@ diff --git a/net/base/url_util.cc b/net/base/url_util.cc
- ".googleapis.com",
- ".ytimg.com",
- };
-- base::StringPiece host = url.host_piece();
- for (const char* suffix : kGoogleHostSuffixes) {
- // Here it's possible to get away with faster case-sensitive comparisons
- // because the list above is all lowercase, and a GURL's host name will
diff --git a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch
index e3bd3912..0a5dc1ff 100644
--- a/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch
+++ b/build/patches/ungoogled-chromium-Disable-Network-Time-Tracker.patch
@@ -13,7 +13,7 @@ Fixes https://github.com/Eloston/ungoogled-chromium/issues/302
diff --git a/components/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc
--- a/components/network_time/network_time_tracker.cc
+++ b/components/network_time/network_time_tracker.cc
-@@ -277,7 +277,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time,
+@@ -276,7 +276,7 @@ void NetworkTimeTracker::UpdateNetworkTime(base::Time network_time,
}
bool NetworkTimeTracker::AreTimeFetchesEnabled() const {
diff --git a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
index 5833de7c..124e0ed9 100644
--- a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
+++ b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
@@ -12,7 +12,7 @@ Subject: ungoogled-chromium: Disable domain reliability
diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliability/BUILD.gn
--- a/components/domain_reliability/BUILD.gn
+++ b/components/domain_reliability/BUILD.gn
-@@ -9,26 +9,6 @@ action("bake_in_configs") {
+@@ -10,26 +10,6 @@ action("bake_in_configs") {
script = "bake_in_configs.py"
inputs = [
@@ -39,7 +39,7 @@ diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliabil
]
output_file = "$target_gen_dir/baked_in_configs.cc"
-@@ -38,13 +18,21 @@ action("bake_in_configs") {
+@@ -39,13 +19,21 @@ action("bake_in_configs") {
# The JSON file list is too long for the command line on Windows, so put
# them in a response file.
diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch
index 676aa32a..1ce2c2ca 100644
--- a/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch
+++ b/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch
@@ -12,7 +12,7 @@ Added some Bromite-specific further improvements
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -1363,8 +1363,6 @@ jumbo_split_static_library("browser") {
+@@ -1380,8 +1380,6 @@ jumbo_split_static_library("browser") {
"profiles/profile_attributes_entry.h",
"profiles/profile_attributes_storage.cc",
"profiles/profile_attributes_storage.h",
@@ -24,7 +24,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc
--- a/chrome/browser/profiles/profile_attributes_entry.cc
+++ b/chrome/browser/profiles/profile_attributes_entry.cc
-@@ -94,20 +94,6 @@ base::string16 ProfileAttributesEntry::GetUserName() const {
+@@ -120,20 +120,6 @@ base::string16 ProfileAttributesEntry::GetUserName() const {
}
const gfx::Image& ProfileAttributesEntry::GetAvatarIcon() const {
diff --git a/build/patches/ungoogled-chromium-Disable-safe-browsing.patch b/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
index 8db941ad..4584b295 100644
--- a/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
+++ b/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
@@ -5,7 +5,7 @@ Subject: ungoogled-chromium: Disable safe browsing
---
chrome/browser/BUILD.gn | 2 -
chrome/browser/browser_process.h | 16 -----
- chrome/browser/browser_process_impl.cc | 29 ---------
+ chrome/browser/browser_process_impl.cc | 36 -----------
chrome/browser/browser_process_impl.h | 6 --
.../chrome_browsing_data_remover_delegate.cc | 30 ---------
chrome/browser/chrome_content_browser_client.cc | 32 +---------
@@ -23,7 +23,7 @@ Subject: ungoogled-chromium: Disable safe browsing
.../metrics/chrome_metrics_service_client.cc | 3 -
.../trial_comparison_cert_verifier_controller.cc | 3 -
.../chrome_browser_main_extra_parts_profiles.cc | 1 -
- chrome/browser/profiles/profile_impl.cc | 14 +----
+ chrome/browser/profiles/profile_impl.cc | 11 ----
chrome/browser/safe_browsing/BUILD.gn | 2 +
chrome/browser/ssl/captive_portal_blocking_page.cc | 7 +--
chrome/browser/ssl/cert_report_helper.cc | 2 -
@@ -35,12 +35,12 @@ Subject: ungoogled-chromium: Disable safe browsing
chrome/renderer/chrome_content_renderer_client.cc | 1 -
components/safe_browsing/features.cc | 2 +-
.../core/browser/subresource_filter_features.cc | 2 +-
- 32 files changed, 32 insertions(+), 445 deletions(-)
+ 32 files changed, 31 insertions(+), 450 deletions(-)
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -2829,8 +2829,6 @@ jumbo_split_static_library("browser") {
+@@ -2888,8 +2888,6 @@ jumbo_split_static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
-@@ -44,10 +44,6 @@ class NetworkQualityTracker;
+@@ -45,10 +45,6 @@ class NetworkQualityTracker;
class SharedURLLoaderFactory;
}
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace subresource_filter {
class RulesetService;
}
-@@ -117,10 +113,6 @@ class ResourceCoordinatorParts;
+@@ -118,10 +114,6 @@ class ResourceCoordinatorParts;
class TabManager;
}
@@ -74,7 +74,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
// NOT THREAD SAFE, call only from the main thread.
// These functions shouldn't return NULL unless otherwise noted.
class BrowserProcess {
-@@ -235,14 +227,6 @@ class BrowserProcess {
+@@ -236,14 +228,6 @@ class BrowserProcess {
// on this platform (or this is a unit test).
virtual StatusTray* status_tray() = 0;
@@ -92,15 +92,15 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
-@@ -73,7 +73,6 @@
+@@ -72,7 +72,6 @@
#include "chrome/browser/printing/print_preview_dialog_controller.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/resource_coordinator/resource_coordinator_parts.h"
-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/shell_integration.h"
#include "chrome/browser/site_isolation/prefs_observer.h"
- #include "chrome/browser/startup_data.h"
-@@ -386,8 +385,6 @@ void BrowserProcessImpl::StartTearDown() {
+ #include "chrome/browser/ssl/secure_origin_prefs_observer.h"
+@@ -377,8 +376,6 @@ void BrowserProcessImpl::StartTearDown() {
// that URLFetcher operation before going away.)
metrics_services_manager_.reset();
intranet_redirect_detector_.reset();
@@ -109,7 +109,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
network_time_tracker_.reset();
#if BUILDFLAG(ENABLE_PLUGINS)
plugins_resource_service_.reset();
-@@ -1008,22 +1005,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
+@@ -997,22 +994,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
return status_tray_.get();
}
@@ -132,27 +132,34 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
subresource_filter::RulesetService*
BrowserProcessImpl::subresource_filter_ruleset_service() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1311,16 +1292,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
- #endif
+@@ -1303,23 +1284,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
}
--void BrowserProcessImpl::CreateSafeBrowsingService() {
+ void BrowserProcessImpl::CreateSafeBrowsingService() {
- DCHECK(!safe_browsing_service_);
- // Set this flag to true so that we don't retry indefinitely to
- // create the service class if there was an error.
- created_safe_browsing_service_ = true;
-- safe_browsing_service_ =
-- safe_browsing::SafeBrowsingService::CreateSafeBrowsingService();
-- safe_browsing_service_->Initialize();
--}
-
+- // The factory can be overridden in tests.
+- if (!safe_browsing::SafeBrowsingServiceInterface::HasFactory()) {
+- safe_browsing::SafeBrowsingServiceInterface::RegisterFactory(
+- safe_browsing::GetSafeBrowsingServiceFactory());
+- }
+-
+- // TODO(crbug/925153): Port consumers of the |safe_browsing_service_| to use
+- // the interface in components/safe_browsing, and remove this cast.
+- safe_browsing_service_ = static_cast(
+- safe_browsing::SafeBrowsingServiceInterface::CreateSafeBrowsingService());
+- if (safe_browsing_service_)
+- safe_browsing_service_->Initialize();
+ }
+
void BrowserProcessImpl::CreateSubresourceFilterRulesetService() {
- DCHECK(!subresource_filter_ruleset_service_);
- created_subresource_filter_ruleset_service_ = true;
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
-@@ -173,9 +173,6 @@ class BrowserProcessImpl : public BrowserProcess,
+@@ -174,9 +174,6 @@ class BrowserProcessImpl : public BrowserProcess,
void set_background_mode_manager_for_test(
std::unique_ptr manager) override;
StatusTray* status_tray() override;
@@ -162,7 +169,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
subresource_filter::RulesetService* subresource_filter_ruleset_service()
override;
optimization_guide::OptimizationGuideService* optimization_guide_service()
-@@ -321,9 +318,6 @@ class BrowserProcessImpl : public BrowserProcess,
+@@ -323,9 +320,6 @@ class BrowserProcessImpl : public BrowserProcess,
std::unique_ptr background_mode_manager_;
#endif
@@ -175,7 +182,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
-@@ -639,36 +639,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
+@@ -636,36 +636,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CONTENT_SETTINGS_TYPE_CLIENT_HINTS, base::Time(), base::Time::Max(),
website_settings_filter);
@@ -194,7 +201,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
- network::mojom::CookieManager* manager_ptr = cookie_manager.get();
-
- network::mojom::CookieDeletionFilterPtr deletion_filter =
-- filter_builder.BuildCookieDeletionFilter();
+- filter_builder->BuildCookieDeletionFilter();
- if (!delete_begin_.is_null())
- deletion_filter->created_after_time = delete_begin_;
- if (!delete_end_.is_null())
@@ -215,7 +222,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
-@@ -889,30 +889,6 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
+@@ -915,30 +915,6 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
GetIOThreadApplicationLocale() = locale;
}
@@ -246,7 +253,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if defined(OS_ANDROID)
float GetDeviceScaleAdjustment() {
static const float kMinFSM = 1.05f;
-@@ -2130,7 +2106,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
+@@ -2188,7 +2164,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
// Disable client-side phishing detection in the renderer if it is
// disabled in the Profile preferences or the browser process.
if (!prefs->GetBoolean(prefs::kSafeBrowsingEnabled) ||
@@ -255,7 +262,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
command_line->AppendSwitch(
switches::kDisableClientSidePhishingDetection);
}
-@@ -2789,7 +2765,7 @@ void ChromeContentBrowserClient::AllowCertificateError(
+@@ -2831,7 +2807,7 @@ void ChromeContentBrowserClient::AllowCertificateError(
SSLErrorHandler::HandleSSLError(
web_contents, cert_error, ssl_info, request_url,
expired_previous_decision,
@@ -264,7 +271,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
callback, SSLErrorHandler::BlockingPageReadyCallback());
}
-@@ -3076,8 +3052,6 @@ bool ChromeContentBrowserClient::CanCreateWindow(
+@@ -3118,8 +3094,6 @@ bool ChromeContentBrowserClient::CanCreateWindow(
void ChromeContentBrowserClient::ResourceDispatcherHostCreated() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -273,7 +280,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
for (size_t i = 0; i < extra_parts_.size(); ++i)
extra_parts_[i]->ResourceDispatcherHostCreated();
-@@ -4350,7 +4324,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
+@@ -4323,7 +4297,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
throttles.push_back(std::make_unique(
handle,
@@ -309,7 +316,7 @@ diff --git a/chrome/browser/component_updater/file_type_policies_component_insta
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -320,13 +320,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
+@@ -323,13 +323,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
download_manager_ = dm;
@@ -323,7 +330,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
#if defined(OS_ANDROID)
-@@ -637,16 +630,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
+@@ -636,16 +629,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
base::FilePath* filename) {
@@ -343,7 +350,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
--- a/chrome/browser/download/download_item_model.cc
+++ b/chrome/browser/download/download_item_model.cc
-@@ -526,9 +526,6 @@ bool DownloadItemModel::IsCommandEnabled(
+@@ -531,9 +531,6 @@ bool DownloadItemModel::IsCommandEnabled(
// filename. Don't base an "Always open" decision based on it. Also
// exclude extensions.
return download_->CanOpenDownload() &&
@@ -386,7 +393,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc
--- a/chrome/browser/download/download_target_determiner.cc
+++ b/chrome/browser/download/download_target_determiner.cc
-@@ -1028,29 +1028,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
+@@ -1060,29 +1060,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
download_->HasUserGesture())
return DownloadFileType::NOT_DANGEROUS;
@@ -428,7 +435,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b
#include "chrome/browser/download/download_file_icon_extractor.h"
#include "chrome/browser/download/download_open_prompt.h"
#include "chrome/browser/download/download_prefs.h"
-@@ -1304,9 +1303,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
+@@ -1308,9 +1307,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
@@ -438,7 +445,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b
bool DownloadsAcceptDangerFunction::RunAsync() {
std::unique_ptr params(
downloads::AcceptDanger::Params::Create(*args_));
-@@ -1344,40 +1340,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
+@@ -1348,40 +1344,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
return;
}
RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -676,7 +683,7 @@ diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -695,9 +695,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
+@@ -699,9 +699,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
metrics_service_->RegisterMetricsProvider(
std::make_unique());
@@ -702,7 +709,7 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -238,7 +238,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -239,7 +239,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
CaptivePortalServiceFactory::GetInstance();
#endif
@@ -713,13 +720,20 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
-@@ -562,18 +562,6 @@ ProfileImpl::ProfileImpl(
- create_mode == CREATE_MODE_SYNCHRONOUS);
- #endif
+@@ -83,7 +83,6 @@
+ #include "chrome/browser/profiles/profile_metrics.h"
+ #include "chrome/browser/push_messaging/push_messaging_service_factory.h"
+ #include "chrome/browser/push_messaging/push_messaging_service_impl.h"
+-#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+ #include "chrome/browser/signin/identity_manager_factory.h"
+ #include "chrome/browser/signin/signin_ui_util.h"
+ #include "chrome/browser/site_isolation/site_isolation_policy.h"
+@@ -607,16 +606,6 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
+ pref_registry_.get());
+ prefs::mojom::TrackedPreferenceValidationDelegatePtr pref_validation_delegate;
- scoped_refptr safe_browsing_service(
- g_browser_process->safe_browsing_service());
-- prefs::mojom::TrackedPreferenceValidationDelegatePtr pref_validation_delegate;
- if (safe_browsing_service.get()) {
- auto pref_validation_delegate_impl =
- safe_browsing_service->CreatePreferenceValidationDelegate(this);
@@ -728,19 +742,9 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
- mojo::MakeRequest(&pref_validation_delegate));
- }
- }
--
- content::BrowserContext::Initialize(this, path_);
- {
-@@ -582,7 +570,7 @@ ProfileImpl::ProfileImpl(
- ->CreateDelegate();
- delegate->InitPrefRegistry(pref_registry_.get());
- prefs_ = chrome_prefs::CreateProfilePrefs(
-- path_, std::move(pref_validation_delegate),
-+ path_, nullptr,
- profile_policy_connector_->policy_service(), supervised_user_settings,
- CreateExtensionPrefStore(this, false), pref_registry_, async_prefs,
- GetIOTaskRunner(), std::move(delegate));
+ prefs_ =
+ CreatePrefService(pref_registry_, CreateExtensionPrefStore(this, false),
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -752,9 +756,9 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
sources = [
"safe_browsing_controller_client.cc",
"safe_browsing_controller_client.h",
-@@ -100,6 +101,7 @@ jumbo_static_library("safe_browsing") {
- } else {
- sources += [ "chrome_cleaner/chrome_cleaner_extension_util_win_noop.cc" ]
+@@ -60,6 +61,7 @@ jumbo_static_library("safe_browsing") {
+ ]
+ deps += [ "//extensions/browser" ]
}
+ }
@@ -799,7 +803,7 @@ diff --git a/chrome/browser/ssl/cert_report_helper.cc b/chrome/browser/ssl/cert_
diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc
--- a/chrome/browser/ssl/security_state_tab_helper.cc
+++ b/chrome/browser/ssl/security_state_tab_helper.cc
-@@ -195,77 +195,6 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
+@@ -175,77 +175,6 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
security_state::MaliciousContentStatus
SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -904,7 +908,7 @@ diff --git a/chrome/browser/subresource_filter/chrome_subresource_filter_client.
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
-@@ -2514,7 +2514,6 @@ jumbo_split_static_library("ui") {
+@@ -2570,7 +2570,6 @@ jumbo_split_static_library("ui") {
"views/desktop_capture/desktop_media_tab_list.h",
"views/device_chooser_content_view.cc",
"views/device_chooser_content_view.h",
@@ -934,8 +938,8 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
+//#include "chrome/browser/safe_browsing/safe_browsing_tab_observer.h"
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
#include "chrome/browser/ui/hung_plugin_tab_helper.h"
- #include "chrome/browser/ui/sad_tab_helper.h"
-@@ -198,10 +198,10 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+ #include "chrome/browser/ui/intent_picker_tab_helper.h"
+@@ -199,10 +199,10 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
web_contents,
autofill::ChromeAutofillClient::FromWebContents(web_contents));
@@ -950,7 +954,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
ChromeTranslateClient::CreateForWebContents(web_contents);
ClientHintsObserver::CreateForWebContents(web_contents);
ConnectionHelpTabHelper::CreateForWebContents(web_contents);
-@@ -242,10 +242,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -243,10 +243,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PreviewsUITabHelper::CreateForWebContents(web_contents);
RecentlyAudibleHelper::CreateForWebContents(web_contents);
ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
@@ -963,7 +967,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
SearchEngineTabHelper::CreateForWebContents(web_contents);
SecurityStateTabHelper::CreateForWebContents(web_contents);
if (SiteEngagementService::IsEnabled())
-@@ -295,7 +293,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -298,7 +296,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents, std::make_unique());
PluginObserver::CreateForWebContents(web_contents);
SadTabHelper::CreateForWebContents(web_contents);
@@ -1036,15 +1040,15 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
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
-@@ -43,7 +43,7 @@ const base::Feature kPasswordProtectionForSignedInUsers{
+@@ -44,7 +44,7 @@ const base::Feature kPasswordProtectionForSignedInUsers{
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSuspiciousSiteTriggerQuotaFeature{
- "SafeBrowsingSuspiciousSiteTriggerQuota", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SafeBrowsingSuspiciousSiteTriggerQuota", base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kTelemetryForApkDownloads{
- "SafeBrowsingTelemetryForApkDownloads", base::FEATURE_ENABLED_BY_DEFAULT};
+ const base::Feature kThreatDomDetailsTagAndAttributeFeature{
+ "ThreatDomDetailsTagAttributes", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
diff --git a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch
index 7e233c28..2949ce44 100644
--- a/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch
+++ b/build/patches/ungoogled-chromium-Disable-untraceable-URLs.patch
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/plugins/plugins_resource_service.cc b/chrome/browser
diff --git a/chrome/browser/safe_browsing/client_side_model_loader.cc b/chrome/browser/safe_browsing/client_side_model_loader.cc
--- a/chrome/browser/safe_browsing/client_side_model_loader.cc
+++ b/chrome/browser/safe_browsing/client_side_model_loader.cc
-@@ -35,8 +35,6 @@ namespace safe_browsing {
+@@ -34,8 +34,6 @@ namespace safe_browsing {
// Model Loader strings
const size_t ModelLoader::kMaxModelSizeBytes = 150 * 1024;
const int ModelLoader::kClientModelFetchIntervalMs = 3600 * 1000;
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_model_loader.cc b/chrome/b
const char ModelLoader::kClientModelNamePattern[] =
"client_model_v5%s_variation_%d.pb";
const char ModelLoader::kClientModelFinchExperiment[] =
-@@ -90,7 +88,7 @@ ModelLoader::ModelLoader(
+@@ -89,7 +87,7 @@ ModelLoader::ModelLoader(
scoped_refptr url_loader_factory,
bool is_extended_reporting)
: name_(FillInModelName(is_extended_reporting, GetModelNumber())),
@@ -68,7 +68,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_model_loader.cc b/chrome/b
update_renderers_callback_(update_renderers_callback),
url_loader_factory_(url_loader_factory),
weak_factory_(this) {
-@@ -103,7 +101,7 @@ ModelLoader::ModelLoader(
+@@ -102,7 +100,7 @@ ModelLoader::ModelLoader(
scoped_refptr url_loader_factory,
const std::string& model_name)
: name_(model_name),
diff --git a/build/patches_list.txt b/build/patches_list.txt
index 583b3e62..6eee3282 100644
--- a/build/patches_list.txt
+++ b/build/patches_list.txt
@@ -100,7 +100,6 @@ kill-Auth.patch
kill-GCM.patch
Allow-website-sign-in-without-account-sign-in.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
-Enable-history-requirement-of-user-gesture.patch
Do-not-grant-notifications-to-default-search-engine.patch
Add-flag-to-disable-IPv6-probes.patch
Add-a-proxy-configuration-page.patch
@@ -122,3 +121,6 @@ disable-payment-support-by-default.patch
disable-background-sync-by-default.patch
disable-sensors-access-site-setting-by-default.patch
Disable-media-router-and-remoting-by-default.patch
+Disable-network-service-by-default.patch
+Expose-flag-to-toggle-network-service.patch
+Do-not-record-UMA-for-network-errors.patch