missingPermissions = new ArrayList<>();
+ String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
+ boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
+- if (shouldUsePhotoPicker) {
++ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
+ if (!window.hasPermission(storagePermission)) missingPermissions.add(storagePermission);
+ } else {
+ if (((mSupportsImageCapture && shouldShowImageTypes())
+@@ -183,7 +190,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
+ return;
+ }
- /**
-@@ -356,6 +361,7 @@ public class SelectFileDialog
+- if (shouldUsePhotoPicker
++ if ((shouldUsePhotoPicker || shouldShowHtmlTypes())
+ && requestPermissions[i].equals(storagePermission)) {
+ onFileNotSelected();
+ return;
+@@ -331,6 +338,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@@ -975,7 +973,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
-@@ -646,6 +652,10 @@ public class SelectFileDialog
+@@ -603,6 +611,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 94bde9ab..cf813720 100644
--- a/build/patches/Add-custom-tab-intents-privacy-option.patch
+++ b/build/patches/Add-custom-tab-intents-privacy-option.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/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
-@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
+@@ -42,6 +42,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;
@@ -49,14 +49,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.DocumentModeAssassin;
-@@ -271,6 +272,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
+@@ -272,6 +273,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(PrivacyPreferences.PREF_ALLOW_CUSTOM_TAB_INTENTS, false)) return false;
- if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
- || !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
- return false;
+ // CCT is disabled in noTouch mode except for some Chrome-internal exceptions.
+ if (FeatureUtilities.isNoTouchModeEnabled()
+ && !IntentHandler.wasIntentSenderChrome(intent)) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
@@ -94,7 +94,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
-@@ -3998,6 +3998,13 @@ To change this setting, <resetlink>reset sync<resetlink>reset sync
diff --git a/build/patches/Add-exit-menu-item.patch b/build/patches/Add-exit-menu-item.patch
index 7e3c807a..7cd7f614 100644
--- a/build/patches/Add-exit-menu-item.patch
+++ b/build/patches/Add-exit-menu-item.patch
@@ -25,9 +25,9 @@ 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
-@@ -2116,6 +2116,8 @@ public abstract class ChromeActivity
- RecordUserAction.record("MobileMenuSettings");
+@@ -2150,6 +2150,8 @@ public abstract class ChromeActivity
} else if (id == R.id.show_menu) {
+ if (FeatureUtilities.isNoTouchModeEnabled()) return false;
showAppMenuForKeyboardEvent();
+ } else if (id == R.id.exit_id) {
+ ApplicationLifetime.terminate(false);
@@ -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
-@@ -3075,6 +3075,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 ec0c437d..0241d19e 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
-@@ -740,6 +740,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
+@@ -652,6 +652,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
@@ -30,20 +30,20 @@ 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 ==
-@@ -2292,6 +2297,9 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kWebrtcH264WithOpenh264FfmpegDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(content::kWebRtcH264WithOpenH264FFmpeg)},
- #endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
+@@ -2204,6 +2209,9 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kPassiveDocumentEventListenersName,
+ flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
+ {"max-connections-per-host", flag_descriptions::kMaxConnectionsPerHostName,
+ flag_descriptions::kMaxConnectionsPerHostDescription, kOsAll,
+ MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
- #if defined(OS_ANDROID)
- {"offlining-recent-pages", flag_descriptions::kOffliningRecentPagesName,
- flag_descriptions::kOffliningRecentPagesDescription, kOsAndroid,
+ {"document-passive-wheel-event-listeners",
+ flag_descriptions::kPassiveDocumentWheelEventListenersName,
+ flag_descriptions::kPassiveDocumentWheelEventListenersDescription, 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
-@@ -1245,6 +1245,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
+@@ -1273,6 +1273,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
-@@ -748,6 +748,9 @@ extern const char kMarkHttpAsWarning[];
+@@ -779,6 +779,9 @@ extern const char kMarkHttpAsWarning[];
extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
@@ -111,8 +111,8 @@ 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
-@@ -22,6 +22,10 @@
- #include "net/socket/transport_client_socket_pool.h"
+@@ -21,6 +21,10 @@
+ #include "net/socket/ssl_connect_job.h"
#include "net/socket/transport_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 {
-@@ -285,6 +289,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
+@@ -262,6 +266,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 6ae9b707..9ae9b034 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
@@ -4,32 +4,17 @@ Subject: Add flag to control video playback resume feature
Disable it by default on Android as it is everywhere else
---
- chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
media/base/media_switches.cc | 6 +-----
- 4 files changed, 13 insertions(+), 5 deletions(-)
+ 3 files changed, 9 insertions(+), 5 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
-@@ -1407,6 +1407,10 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kVideoPlayerChromecastSupportDescription, kOsCrOS,
- SINGLE_VALUE_TYPE(
- chromeos::switches::kEnableVideoPlayerChromecastSupport)},
-+ {"resume-background-video",
-+ flag_descriptions::kResumeBackgroundVideoName,
-+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
-+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
- {"list-all-display-modes", flag_descriptions::kListAllDisplayModesName,
- flag_descriptions::kListAllDisplayModesDescription, kOsCrOS,
- FEATURE_VALUE_TYPE(display::features::kListAllDisplayModes)},
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
-@@ -840,6 +840,11 @@ const char kEnablePictureInPictureDescription[] =
- "controls. The #enable-surfaces-for-videos flag must be enabled as well "
- "to use it.";
+@@ -860,6 +860,11 @@ const char kMemlogStackModeNative[] = "Native";
+ const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
+ const char kMemlogStackModePseudo[] = "Trace events";
+const char kResumeBackgroundVideoName[] = "Resume background video.";
+const char kResumeBackgroundVideoDescription[] =
@@ -42,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
-@@ -495,6 +495,9 @@ extern const char kEnableNewDownloadBackendDescription[];
+@@ -517,6 +517,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
@@ -55,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
-@@ -205,11 +205,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
+@@ -207,11 +207,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 a5776b28..a4362b7f 100644
--- a/build/patches/Add-flag-to-disable-IPv6-probes.patch
+++ b/build/patches/Add-flag-to-disable-IPv6-probes.patch
@@ -6,7 +6,7 @@ Subject: Add flag to disable IPv6 probes
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
- net/dns/host_resolver_impl.cc | 10 ++++++++--
+ net/dns/host_resolver_manager.cc | 10 ++++++++--
services/network/public/cpp/features.cc | 3 +++
services/network/public/cpp/features.h | 2 ++
6 files changed, 25 insertions(+), 2 deletions(-)
@@ -14,9 +14,9 @@ Subject: Add flag to disable IPv6 probes
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
-@@ -2975,6 +2975,11 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(features::kHandwritingGesture)},
- #endif // OS_CHROMEOS
+@@ -3006,6 +3006,11 @@ const FeatureEntry kFeatureEntries[] = {
+ kMarkHttpAsFeatureVariations,
+ "HTTPReallyBadFinal")},
+ {"ipv6-probing",
+ flag_descriptions::kIPv6ProbingName,
@@ -24,28 +24,28 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
+
#if !defined(OS_ANDROID)
- {"enable-picture-in-picture",
- flag_descriptions::kEnablePictureInPictureName,
+ {"enable-web-authentication-testing-api",
+ flag_descriptions::kEnableWebAuthenticationTestingAPIName,
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
-@@ -842,6 +842,10 @@ const char kOOPHPStackModeNative[] = "Native";
- const char kOOPHPStackModeNativeWithThreadNames[] = "Native with thread names";
- const char kOOPHPStackModePseudo[] = "Trace events";
+@@ -2408,6 +2408,10 @@ const char kForegroundNotificationManagerDescription[] =
+ const char kHomePageButtonName[] = "Force Enable Home Page Button";
+ const char kHomePageButtonDescription[] = "Displays a home button if enabled.";
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] =
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
+
- const char kEnablePictureInPictureName[] = "Enable Picture-in-Picture.";
- const char kEnablePictureInPictureDescription[] =
- "Show Picture-in-Picture in browser context menu and video native "
+ const char kHomepageTileName[] =
+ "Enable Homepage tile shown in Suggested Tiles";
+ const char kHomepageTileDescription[] =
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
-@@ -498,6 +498,9 @@ extern const char kDownloadAutoResumptionNativeDescription[];
- extern const char kEnableNewDownloadBackendName[];
- extern const char kEnableNewDownloadBackendDescription[];
+@@ -520,6 +520,9 @@ extern const char kEnableNewDownloadBackendDescription[];
+ extern const char kEnablePortalsName[];
+ extern const char kEnablePortalsDescription[];
+extern const char kIPv6ProbingName[];
+extern const char kIPv6ProbingDescription[];
@@ -53,18 +53,18 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
-diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
---- a/net/dns/host_resolver_impl.cc
-+++ b/net/dns/host_resolver_impl.cc
-@@ -81,6 +81,7 @@
- #include "net/log/net_log_with_source.h"
+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 @@
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
+ #include "net/url_request/url_request_context.h"
+#include "services/network/public/cpp/features.h"
#include "url/url_canon_ip.h"
#if BUILDFLAG(ENABLE_MDNS)
-@@ -2751,8 +2752,13 @@ bool HostResolverImpl::IsIPv6Reachable(const NetLogWithSource& net_log) {
+@@ -2896,8 +2897,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
bool cached = true;
if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
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 2d04fa7e..7c99e0c0 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
-@@ -2473,6 +2473,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2269,6 +2269,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
-@@ -600,6 +600,14 @@ const char kEnableGenericSensorDescription[] =
+@@ -631,6 +631,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
-@@ -382,6 +382,12 @@ extern const char kEnforceTLS13DowngradeDescription[];
+@@ -398,6 +398,12 @@ extern const char kEnforceTLS13DowngradeDescription[];
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
-@@ -93,6 +93,9 @@ void SetIndividualRuntimeFeatures(
+@@ -90,6 +90,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
-@@ -596,6 +596,16 @@ const base::Feature kExperimentalProductivityFeatures{
+@@ -614,6 +614,16 @@ const base::Feature kExperimentalProductivityFeatures{
// TODO(rouslan): Remove this.
const base::Feature kWebPayments{"WebPayments",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -103,7 +103,7 @@ 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
-@@ -158,6 +158,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
+@@ -156,6 +156,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
CONTENT_EXPORT extern const base::Feature kWebNfc;
#endif // defined(OS_ANDROID)
@@ -115,7 +115,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
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
-@@ -97,6 +97,8 @@ class WebRuntimeFeatures {
+@@ -95,6 +95,8 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableScrollTopLeftInterop(bool);
BLINK_PLATFORM_EXPORT static void EnableKeyboardFocusableScrollers(bool);
BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
@@ -127,7 +127,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
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
-@@ -233,9 +233,12 @@ void ModulesInitializer::InitInspectorAgentSession(
+@@ -249,9 +249,12 @@ void ModulesInitializer::InitInspectorAgentSession(
void ModulesInitializer::OnClearWindowObjectInMainWorld(
Document& document,
const Settings& settings) const {
@@ -146,7 +146,7 @@ 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
-@@ -165,6 +165,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
+@@ -160,6 +160,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
RuntimeEnabledFeatures::SetDatabaseEnabled(enable);
}
@@ -164,7 +164,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
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
-@@ -409,6 +409,14 @@
+@@ -425,6 +425,14 @@
status: "stable",
},
{
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 fb7857d5..94256f7e 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
@@ -75,7 +75,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
-@@ -2219,6 +2219,14 @@ public abstract class ChromeActivity
+@@ -2253,6 +2253,14 @@ public abstract class ChromeActivity
currentTab.getWebContents().getNavigationController().setUseDesktopUserAgent(
!usingDesktopUserAgent, reloadOnChange);
RecordUserAction.record("MobileMenuRequestDesktopSite");
@@ -93,7 +93,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
-@@ -1857,6 +1857,14 @@ public class ChromeTabbedActivity
+@@ -1818,6 +1818,14 @@ public class ChromeTabbedActivity
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -184,7 +184,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
-@@ -3060,6 +3060,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 87b05fec..b8db8985 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
-@@ -1138,8 +1138,10 @@ public class ChromeTabbedActivity
+@@ -1112,8 +1112,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
-@@ -3874,6 +3874,12 @@ To change this setting, <resetlink>reset sync
<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 82c4d79e..11ad775f 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
@@ -133,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCre
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.WebContents;
-@@ -88,12 +89,18 @@ public interface TabCreatorManager {
+@@ -85,12 +86,18 @@ public interface TabCreatorManager {
}
/**
@@ -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
-@@ -668,6 +668,9 @@ CHAR-LIMIT guidelines:
+@@ -677,6 +677,9 @@ CHAR-LIMIT guidelines:
Open this page
@@ -170,8 +170,8 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
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
-@@ -56,6 +56,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
- GetHomeButtonAndHomePageIsNewTabPageFlags());
+@@ -54,6 +54,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+ GetHomeButtonAndHomePageIsNewTabPageFlags());
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
GetHomeButtonAndHomePageIsNewTabPageFlags());
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
@@ -196,7 +196,7 @@ 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
-@@ -293,6 +293,7 @@ extern const char kParentAccessCodeConfig[];
+@@ -294,6 +294,7 @@ extern const char kParentAccessCodeConfig[];
extern const char kDeviceWallpaperImageFilePath[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
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 c8edcf8b..da44ddf7 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
@@ -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
*/
-@@ -626,6 +630,10 @@ public class PrefServiceBridge {
+@@ -625,6 +629,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);
}
-@@ -1074,6 +1082,7 @@ public class PrefServiceBridge {
+@@ -1073,6 +1081,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();
-@@ -1120,6 +1129,7 @@ public class PrefServiceBridge {
+@@ -1119,6 +1128,7 @@ public class PrefServiceBridge {
private native void nativeSetAutoplayEnabled(boolean enabled);
private native void nativeSetAllowCookiesEnabled(boolean enabled);
private native void nativeSetBackgroundSyncEnabled(boolean enabled);
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
-@@ -121,6 +121,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -124,6 +124,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
// Keys for category-specific preferences (toggle, link, button etc.), dynamically shown.
public static final String THIRD_PARTY_COOKIES_TOGGLE_KEY = "third_party_cookies";
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate";
public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
private static final String ADD_EXCEPTION_KEY = "add_exception";
-@@ -441,6 +442,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -462,6 +463,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
if (type == SiteSettingsCategory.Type.COOKIES) {
updateThirdPartyCookiesCheckBox();
@@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} else if (type == SiteSettingsCategory.Type.NOTIFICATIONS) {
updateNotificationsVibrateCheckBox();
}
-@@ -479,6 +481,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -500,6 +502,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
int setting = (int) newValue;
prefServiceBridge.setContentSetting(mCategory.getContentSettingsType(), setting);
getInfoForOrigins();
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
prefServiceBridge.setBlockThirdPartyCookiesEnabled(((boolean) newValue));
} else if (NOTIFICATIONS_VIBRATE_TOGGLE_KEY.equals(preference.getKey())) {
-@@ -769,6 +773,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -813,6 +817,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) screen.findPreference(TRI_STATE_TOGGLE_KEY);
Preference thirdPartyCookies = screen.findPreference(THIRD_PARTY_COOKIES_TOGGLE_KEY);
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY);
PreferenceGroup allowedGroup = (PreferenceGroup) screen.findPreference(ALLOWED_GROUP);
-@@ -799,6 +805,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -844,6 +850,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
if (hideSecondaryToggles) {
screen.removePreference(thirdPartyCookies);
@@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
screen.removePreference(notificationsVibrate);
screen.removePreference(explainProtectedMediaKey);
screen.removePreference(allowedGroup);
-@@ -808,12 +815,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -854,12 +861,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
return;
}
@@ -144,7 +144,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
}
// Configure/hide the notifications vibrate toggle, as needed.
-@@ -918,6 +928,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
+@@ -966,6 +976,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
preference -> PrefServiceBridge.getInstance().isBlockThirdPartyCookiesManaged());
}
@@ -163,7 +163,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
-@@ -907,6 +907,12 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -927,6 +927,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 7565f015..3e7c2a6f 100644
--- a/build/patches/Allow-building-without-safebrowsing-for-Android.patch
+++ b/build/patches/Allow-building-without-safebrowsing-for-Android.patch
@@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
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
-@@ -250,16 +250,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
+@@ -252,16 +252,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
return false;
}
@@ -150,7 +150,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
-@@ -115,7 +115,6 @@
+@@ -118,7 +118,6 @@
#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"
@@ -158,7 +158,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#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"
-@@ -4249,11 +4248,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
+@@ -4346,11 +4345,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
PreviewsLitePageDecider::MaybeCreateThrottleFor(handle);
if (previews_lite_page_throttle)
throttles.push_back(std::move(previews_lite_page_throttle));
@@ -170,7 +170,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))
-@@ -5199,19 +5193,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
+@@ -5303,19 +5297,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
content::ResourceContext* resource_context) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -239,7 +239,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
namespace {
-@@ -768,19 +774,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
+@@ -760,19 +766,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
return std::string(chrome::kApplicationClientIDStringForAVScanning);
}
@@ -255,13 +255,13 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
return sb_service->download_protection_service();
}
-#endif
- return NULL;
+ return nullptr;
}
+#endif
void ChromeDownloadManagerDelegate::NotifyExtensions(
DownloadItem* download,
-@@ -1222,13 +1228,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
+@@ -1214,13 +1220,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
@@ -645,7 +645,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
-@@ -23,7 +23,9 @@
+@@ -25,7 +25,9 @@
using base::TimeDelta;
using download::DownloadItem;
@@ -655,7 +655,7 @@ diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/downl
using offline_items_collection::FailState;
namespace {
-@@ -368,12 +370,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
+@@ -389,12 +391,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
void DownloadUIModel::SetShouldPreferOpeningInBrowser(bool preference) {}
diff --git a/build/patches/Allow-playing-audio-in-background.patch b/build/patches/Allow-playing-audio-in-background.patch
index 385243e3..14a76b36 100644
--- a/build/patches/Allow-playing-audio-in-background.patch
+++ b/build/patches/Allow-playing-audio-in-background.patch
@@ -3,14 +3,29 @@ Date: Thu, 2 Nov 2017 18:21:16 +0200
Subject: Allow playing audio in background
---
- media/blink/webmediaplayer_impl.cc | 11 ++++++++++-
+ chrome/browser/about_flags.cc | 4 ++++
+ media/blink/webmediaplayer_impl.cc | 12 +++++++++++-
media/blink/webmediaplayer_impl.h | 2 ++
- 2 files changed, 12 insertions(+), 1 deletion(-)
+ 3 files changed, 17 insertions(+), 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
+@@ -1400,6 +1400,10 @@ const FeatureEntry kFeatureEntries[] = {
+ {"debug-packed-apps", flag_descriptions::kDebugPackedAppName,
+ flag_descriptions::kDebugPackedAppDescription, kOsDesktop,
+ SINGLE_VALUE_TYPE(switches::kDebugPackedApps)},
++ {"resume-background-video",
++ flag_descriptions::kResumeBackgroundVideoName,
++ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
++ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
+ {"automatic-password-generation",
+ flag_descriptions::kAutomaticPasswordGenerationName,
+ flag_descriptions::kAutomaticPasswordGenerationDescription, kOsAll,
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
-@@ -948,6 +948,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
+@@ -961,6 +961,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -23,22 +38,23 @@ 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());
-@@ -3113,7 +3119,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
- // If suspending background video, pause any video that's not remoted or
- // not unlocked to play in the background.
- if (IsBackgroundSuspendEnabled(this)) {
-- if (!HasVideo())
-+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
-+ //see media/base/pipeline_metadata.h. This is a workaround to allow audio
-+ //streams be played in background.
-+ if (!HasVideoNonEmptySize())
- return false;
+@@ -3205,7 +3211,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.
+- if (!HasVideo())
++
++ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
++ //see media/base/pipeline_metadata.h. This is a workaround to allow audio
++ //streams be played in background.
++ if (!HasVideoNonEmptySize())
+ return false;
- #if defined(OS_ANDROID)
+ if (!is_background_video_playback_enabled_)
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
-@@ -141,6 +141,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
+@@ -142,6 +142,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 07e9ddc9..7fe516a0 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
-@@ -226,7 +226,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
+@@ -228,7 +228,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;
diff --git a/build/patches/Always-show-home-page-settings.patch b/build/patches/Always-show-home-page-settings.patch
index 06f2f0ca..a7afb461 100644
--- a/build/patches/Always-show-home-page-settings.patch
+++ b/build/patches/Always-show-home-page-settings.patch
@@ -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
-@@ -207,15 +207,11 @@ public class MainPreferences extends PreferenceFragment
+@@ -208,15 +208,11 @@ public class MainPreferences extends PreferenceFragment
updateSyncAndServicesPreference();
updateSearchEnginePreference();
@@ -129,7 +129,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
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
-@@ -73,7 +73,6 @@ public class FeatureUtilities {
+@@ -74,7 +74,6 @@ public class FeatureUtilities {
private static Boolean sHasRecognitionIntentHandler;
private static Boolean sIsSoleEnabled;
@@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
private static Boolean sIsHomepageTileEnabled;
private static Boolean sIsNewTabPageButtonEnabled;
private static Boolean sIsBottomToolbarEnabled;
-@@ -194,7 +193,6 @@ public class FeatureUtilities {
+@@ -196,7 +195,6 @@ public class FeatureUtilities {
cacheSoleEnabled();
cacheCommandLineOnNonRootedEnabled();
FirstRunUtils.cacheFirstRunPrefs();
@@ -145,10 +145,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
cacheHomepageTileEnabled();
cacheNewTabPageButtonEnabled();
cacheBottomToolbarEnabled();
-@@ -229,38 +227,6 @@ public class FeatureUtilities {
+@@ -232,38 +230,6 @@ public class FeatureUtilities {
+ return Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
}
- /**
+- /**
- * Cache whether or not the home page button is force enabled so on next startup, the value can
- * be made available immediately.
- */
@@ -180,14 +181,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
- sIsHomePageButtonForceEnabled = null;
- }
-
-- /**
- * Cache whether or not the toolbar should be inflated on a background thread so on next
- * startup, the value can be made available immediately.
- */
+ private static void cacheServiceManagerForBackgroundPrefetch() {
+ boolean backgroundPrefetchInReducedMode = ChromeFeatureList.isEnabled(
+ ChromeFeatureList.SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH);
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
-@@ -1710,9 +1710,6 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1576,9 +1576,6 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-chrome-duet", flag_descriptions::kChromeDuetName,
flag_descriptions::kChromeDuetDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kChromeDuetFeature)},
@@ -200,15 +200,15 @@ 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
-@@ -133,7 +133,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
+@@ -140,7 +140,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kExploreSites,
&kHandleMediaIntents,
&kHideUserDataFromIncognitoNotifications,
- &kHomePageButtonForceEnabled,
&kHomepageTile,
&kHorizontalTabSwitcherAndroid,
- &kImprovedA2HS,
-@@ -377,9 +376,6 @@ const base::Feature kHandleMediaIntents{"HandleMediaIntents",
+ &kImmersiveUiMode,
+@@ -405,9 +404,6 @@ const base::Feature kHandleMediaIntents{"HandleMediaIntents",
const base::Feature kHideUserDataFromIncognitoNotifications{
"HideUserDataFromIncognitoNotifications", base::FEATURE_ENABLED_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
-@@ -63,7 +63,6 @@ extern const base::Feature kExploreSites;
+@@ -70,7 +70,6 @@ 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 kImprovedA2HS;
+ extern const base::Feature kImmersiveUiMode;
--
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 8f49d395..c87b6127 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
-@@ -324,6 +324,7 @@ void AudioContext::StopRendering() {
+@@ -333,6 +333,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 2e6ed6ab..41e12738 100644
--- a/build/patches/Bromite-adblock-engine.patch
+++ b/build/patches/Bromite-adblock-engine.patch
@@ -72,7 +72,7 @@ diff --git a/android_webview/browser/net/aw_network_delegate.cc b/android_webvie
+ auto resource_type = info->GetResourceType();
+
+ if (adblock_enabled
-+ && content::RESOURCE_TYPE_MAIN_FRAME != resource_type
++ && content::ResourceType::kMainFrame != resource_type
+ && net::adblock_intercept(request->url(),
+ request->initiator()->host(),
+ resource_type)) {
@@ -81,14 +81,14 @@ diff --git a/android_webview/browser/net/aw_network_delegate.cc b/android_webvie
+
+ if (block) {
+ switch (resource_type) {
-+ case content::RESOURCE_TYPE_IMAGE:
-+ case content::RESOURCE_TYPE_FAVICON:
++ case content::ResourceType::kImage:
++ case content::ResourceType::kFavicon:
+ *new_url = GURL(TRANSPARENT1PXGIF);
+ break;
-+ case content::RESOURCE_TYPE_SCRIPT:
++ case content::ResourceType::kScript:
+ *new_url = GURL(EMPTYJS);
+ break;
-+ case content::RESOURCE_TYPE_STYLESHEET:
++ case content::ResourceType::kStylesheet:
+ *new_url = GURL(EMPTYCSS);
+ break;
+ default:
@@ -177,7 +177,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
-@@ -2229,6 +2229,14 @@ public abstract class ChromeActivity
+@@ -2263,6 +2263,14 @@ public abstract class ChromeActivity
RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.reader_mode_prefs_id) {
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
@@ -195,7 +195,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
-@@ -1815,6 +1815,14 @@ public class ChromeTabbedActivity
+@@ -1776,6 +1776,14 @@ public class ChromeTabbedActivity
reportNewTabShortcutUsed(true);
getTabCreator(true).launchNTP();
}
@@ -280,7 +280,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
-@@ -3080,6 +3080,17 @@ To change this setting, <resetlink>reset sync<resetlink>reset sync
Turn on Request desktop site
@@ -362,7 +362,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
+ auto resource_type = info->GetResourceType();
+
+ if (adblock_enabled
-+ && content::RESOURCE_TYPE_MAIN_FRAME != resource_type
++ && content::ResourceType::kMainFrame != resource_type
+ && net::adblock_intercept(request->url(),
+ request->initiator()->host(),
+ resource_type)) {
@@ -371,14 +371,14 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
+
+ if (block) {
+ switch (resource_type) {
-+ case content::RESOURCE_TYPE_IMAGE:
-+ case content::RESOURCE_TYPE_FAVICON:
++ case content::ResourceType::kImage:
++ case content::ResourceType::kFavicon:
+ *new_url = GURL(TRANSPARENT1PXGIF);
+ break;
-+ case content::RESOURCE_TYPE_SCRIPT:
++ case content::ResourceType::kScript:
+ *new_url = GURL(EMPTYJS);
+ break;
-+ case content::RESOURCE_TYPE_STYLESHEET:
++ case content::ResourceType::kStylesheet:
+ *new_url = GURL(EMPTYCSS);
+ break;
+ default:
@@ -423,7 +423,7 @@ diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settin
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
-@@ -1794,6 +1794,13 @@ component("net") {
+@@ -1797,6 +1797,13 @@ component("net") {
"url_request/websocket_handshake_userdata_key.h",
]
@@ -436,7 +436,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
+
if (enable_reporting) {
sources += [
- "network_error_logging/network_error_logging_delegate.cc",
+ "network_error_logging/network_error_logging_service.cc",
diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_intercept.cc
new file mode 100644
--- /dev/null
@@ -728,7 +728,7 @@ new file mode 100644
+ }
+
+ // use a bitwise trick to test for the current resource type
-+ bool found = (entry->flags & (resource_type << 16));
++ bool found = (entry->flags & (int(resource_type) << 16));
+ if (!exclude)
+ return found;
+ return !found;
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 83ef3292..c46588ad 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
@@ -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
-@@ -1423,7 +1423,9 @@ jumbo_component("platform") {
+@@ -1435,7 +1435,9 @@ jumbo_component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -111,8 +111,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
+#include "third_party/skia/include/private/SkColorData.h"
#include "third_party/skia/include/core/SkSurface.h"
#include "third_party/skia/include/gpu/GrContext.h"
-
-@@ -151,10 +154,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
+ #include "v8/include/v8.h"
+@@ -152,10 +155,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
DCHECK(read_pixels_successful ||
!sk_image->bounds().intersect(SkIRect::MakeXYWH(
rect.X(), rect.Y(), info.width(), info.height())));
diff --git a/build/patches/Disable-NTP-remote-suggestions-by-default.patch b/build/patches/Disable-NTP-remote-suggestions-by-default.patch
index 05dad2ca..224e95b2 100644
--- a/build/patches/Disable-NTP-remote-suggestions-by-default.patch
+++ b/build/patches/Disable-NTP-remote-suggestions-by-default.patch
@@ -3,29 +3,30 @@ Date: Thu, 12 Oct 2017 08:15:17 +0200
Subject: Disable NTP remote suggestions by default
---
- components/ntp_snippets/features.cc | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
+ components/ntp_snippets/features.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
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
-@@ -34,13 +34,13 @@ const base::Feature* const kAllFeatures[] = {
+@@ -41,7 +41,7 @@ const base::Feature* const kAllFeatures[] = {
&kRemoteSuggestionsBackendFeature};
const base::Feature kArticleSuggestionsFeature{
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kBookmarkSuggestionsFeature{
-- "NTPBookmarkSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
-+ "NTPBookmarkSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
+ const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
+ "RemoteSuggestionsEmulateM58FetchingSchedule",
+@@ -71,7 +71,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
+ const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
- const base::Feature kIncreasedVisibility{"NTPSnippetsIncreasedVisibility",
-- base::FEATURE_ENABLED_BY_DEFAULT};
-+ base::FEATURE_DISABLED_BY_DEFAULT};
+ const base::Feature kKeepPrefetchedContentSuggestions{
+- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
++ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kBreakingNewsPushFeature{"BreakingNewsPush",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ const base::Feature kContentSuggestionsDebugLog{
+ "ContentSuggestionsDebugLog", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.11.0
diff --git a/build/patches/Disable-Omaha-update-checks.patch b/build/patches/Disable-Omaha-update-checks.patch
index 6371e290..56aac60f 100644
--- a/build/patches/Disable-Omaha-update-checks.patch
+++ b/build/patches/Disable-Omaha-update-checks.patch
@@ -36,7 +36,7 @@ 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
-@@ -400,7 +400,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
+@@ -428,7 +428,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kJellyBeanSupported{"JellyBeanSupported",
diff --git a/build/patches/Disable-WebRTC-by-default.patch b/build/patches/Disable-WebRTC-by-default.patch
index 88ab1127..30ecb875 100644
--- a/build/patches/Disable-WebRTC-by-default.patch
+++ b/build/patches/Disable-WebRTC-by-default.patch
@@ -9,7 +9,7 @@ Subject: Disable WebRTC by default
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
-@@ -85,10 +85,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -82,10 +82,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
false);
#endif
// TODO(guoweis): Remove next 2 options at M50.
diff --git a/build/patches/Disable-contextual-search-by-default.patch b/build/patches/Disable-contextual-search-by-default.patch
index 1071590a..0462f9c8 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
-@@ -144,7 +144,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -153,7 +153,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 837baa50..35fbcf8e 100644
--- a/build/patches/Disable-data-saver.patch
+++ b/build/patches/Disable-data-saver.patch
@@ -3,53 +3,42 @@ Date: Fri, 27 Oct 2017 15:53:37 +0200
Subject: Disable data saver
---
- .../java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 1 -
- .../chrome/browser/net/spdyproxy/DataReductionProxySettings.java | 2 ++
- .../browser/preferences/datareduction/DataReductionPromoUtils.java | 2 +-
- 3 files changed, 3 insertions(+), 2 deletions(-)
+ .../datareduction/DataReductionPreferenceFragment.java | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
-@@ -141,7 +141,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
- boolean notifyAdapter = false;
- // An optional Data Saver page.
- if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
-- mPages.add(new DataReductionProxyFirstRunFragment.Page());
- mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
- notifyAdapter = true;
- }
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
-@@ -126,6 +126,7 @@ public class DataReductionProxySettings {
- // DataReductionProxySettings is a singleton that lives forever and there's no clean
- // shutdown of Chrome on Android
- mNativeDataReductionProxySettings = nativeInit();
-+ nativeSetDataReductionProxyEnabled(mNativeDataReductionProxySettings, false);
+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 {
+ PreferenceUtils.addPreferencesFromResource(this, R.xml.data_reduction_preferences);
+ getActivity().setTitle(DataReductionBrandingResourceProvider.getDataSaverBrandedString(
+ R.string.data_reduction_title));
+- boolean isEnabled = DataReductionProxySettings.getInstance().isDataReductionProxyEnabled();
+- mIsEnabled = !isEnabled;
+- mWasEnabledAtCreation = isEnabled;
+- updatePreferences(isEnabled);
++
++ mIsEnabled = false;
++ mWasEnabledAtCreation = false;
++ updatePreferences(false);
+
+ setHasOptionsMenu(true);
+
+@@ -153,6 +153,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragment {
}
- /** Returns true if the SPDY proxy promo is allowed to be shown. */
-@@ -148,6 +149,7 @@ public class DataReductionProxySettings {
- * data reduction statistics if this is the first time the SPDY proxy has been enabled.
- */
- public void setDataReductionProxyEnabled(Context context, boolean enabled) {
-+ enabled = false;
- if (enabled
- && ContextUtils.getAppSharedPreferences().getLong(
- DATA_REDUCTION_FIRST_ENABLED_TIME, 0)
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
-@@ -70,7 +70,7 @@ public class DataReductionPromoUtils {
- }
- if (DataReductionProxySettings.getInstance().isDataReductionProxyManaged()) return false;
- if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) return false;
-- return true;
-+ return false;
+ private void createDataReductionSwitch(boolean isEnabled) {
++ if (false) {
+ final ChromeSwitchPreference dataReductionSwitch =
+ new ChromeSwitchPreference(getActivity(), null);
+ dataReductionSwitch.setKey(PREF_DATA_REDUCTION_SWITCH);
+@@ -180,5 +181,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);
++ }
}
-
- /**
+ }
--
2.11.0
diff --git a/build/patches/Disable-dynamic-module-loading.patch b/build/patches/Disable-dynamic-module-loading.patch
new file mode 100644
index 00000000..9d2d2c66
--- /dev/null
+++ b/build/patches/Disable-dynamic-module-loading.patch
@@ -0,0 +1,210 @@
+From: csagan5 <32685696+csagan5@users.noreply.github.com>
+Date: Mon, 20 May 2019 23:14:36 +0200
+Subject: Disable dynamic module loading
+
+---
+ chrome/android/chrome_java_sources.gni | 13 ----------
+ .../browser/customtabs/CustomTabActivity.java | 18 -------------
+ .../customtabs/CustomTabIntentDataProvider.java | 17 ++----------
+ .../browser/customtabs/CustomTabsConnection.java | 30 ----------------------
+ .../CustomTabActivityComponent.java | 4 ---
+ 5 files changed, 2 insertions(+), 80 deletions(-)
+
+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 = [
+ "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",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegate.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegatePostMessageBackend.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityHostImpl.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleConstants.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleCoordinator.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleNavigationEventObserver.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModulePageLoadObserver.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleToolbarController.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleEntryPoint.java",
+- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleHostImpl.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/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
+ 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.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 ChromeActivityDO NOT CALL
+ * Public to be instanciable from {@link ChromeApplication}. This is however
+@@ -1323,7 +1320,6 @@ public class CustomTabsConnection {
+ if (ChromeApplication.isSevereMemorySignal(level)) {
+ getInstance().mClientManager.cleanupUnusedSessions();
+ }
+- if (getInstance().mModuleLoader != null) getInstance().mModuleLoader.onTrimMemory(level);
+ }
+
+ @VisibleForTesting
+@@ -1464,32 +1460,6 @@ public class CustomTabsConnection {
+ CustomTabsSessionToken session, String url, String origin, int referrerPolicy,
+ @DetachedResourceRequestMotivation int motivation);
+
+- public ModuleLoader getModuleLoader(ComponentName componentName, @Nullable String assetName) {
+- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE_DEX_LOADING)) {
+- assetName = null;
+- }
+-
+- if (mModuleLoader != null) {
+- boolean isComponentNameChanged =
+- !componentName.equals(mModuleLoader.getComponentName());
+- boolean isAssetNameChanged =
+- !TextUtils.equals(assetName, mModuleLoader.getDexAssetName());
+- ModuleLoader.ModuleApkVersion newModuleApkVersion =
+- ModuleLoader.ModuleApkVersion.getModuleVersion(componentName.getPackageName());
+- boolean isModuleVersionChanged =
+- !mModuleLoader.getModuleApkVersion().equals(newModuleApkVersion);
+-
+- if (isComponentNameChanged || isAssetNameChanged || isModuleVersionChanged) {
+- mModuleLoader.destroyModule(ModuleMetrics.DestructionReason.MODULE_LOADER_CHANGED);
+- mModuleLoader = null;
+- }
+- }
+-
+- if (mModuleLoader == null) mModuleLoader = new ModuleLoader(componentName, assetName);
+-
+- return mModuleLoader;
+- }
+-
+ @CalledByNative
+ public static void notifyClientOfDetachedRequestCompletion(
+ CustomTabsSessionToken session, String url, int status) {
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
+@@ -16,8 +16,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigatio
+ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
+ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabFactory;
+ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
+-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
+-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
+ import org.chromium.chrome.browser.dependency_injection.ActivityScope;
+ import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
+ import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
+@@ -33,8 +31,6 @@ import dagger.Subcomponent;
+ @ActivityScope
+ public interface CustomTabActivityComponent extends ChromeActivityComponent {
+ TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
+- DynamicModuleToolbarController resolveDynamicModuleToolbarController();
+- DynamicModuleCoordinator resolveDynamicModuleCoordinator();
+
+ TabObserverRegistrar resolveTabObserverRegistrar();
+ CustomTabTopBarDelegate resolveTobBarDelegate();
+--
+2.11.0
+
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 339dcf0b..694768bd 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
-@@ -947,7 +947,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
+@@ -963,7 +963,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
-@@ -55,8 +55,6 @@
+@@ -54,8 +54,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-omission-of-URL-elements-in-Omnibox.patch b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch
index 12ac7ca3..95c69f09 100644
--- a/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch
+++ b/build/patches/Disable-omission-of-URL-elements-in-Omnibox.patch
@@ -11,7 +11,7 @@ a corresponding user option to individually disable their usage.
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
--- a/components/url_formatter/url_formatter.cc
+++ b/components/url_formatter/url_formatter.cc
-@@ -410,13 +410,13 @@ IDNConversionStatus IDNToUnicodeOneComponent(const base::char16* comp,
+@@ -424,13 +424,13 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
} // namespace
const FormatUrlType kFormatUrlOmitNothing = 0;
diff --git a/build/patches/Disable-plugins-enumeration.patch b/build/patches/Disable-plugins-enumeration.patch
index 564f857f..efe02cfd 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
-@@ -1357,10 +1357,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
+@@ -1255,10 +1255,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
}
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 b169e3e7..7b9fe50e 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 ----------------------
- .../browser/bookmarks/BookmarkItemsAdapter.java | 23 ++---------------
- .../browser/signin/SigninPromoController.java | 19 ++------------
- chrome/android/java_sources.gni | 1 -
- 4 files changed, 4 insertions(+), 69 deletions(-)
+ .../personalized_signin_promo_view_bookmarks.xml | 30 -------------
+ .../browser/bookmarks/BookmarkItemsAdapter.java | 23 +---------
+ .../browser/bookmarks/BookmarkPromoHeader.java | 52 +---------------------
+ .../browser/signin/SigninPromoController.java | 19 +-------
+ 4 files changed, 5 insertions(+), 119 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
@@ -124,6 +124,96 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
private void populateTopLevelFoldersList() {
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
+@@ -17,7 +17,6 @@ import android.view.ViewGroup;
+ import org.chromium.base.ContextUtils;
+ import org.chromium.base.VisibleForTesting;
+ import org.chromium.chrome.R;
+-import org.chromium.chrome.browser.signin.PersonalizedSigninPromoView;
+ import org.chromium.chrome.browser.signin.ProfileDataCache;
+ import org.chromium.chrome.browser.signin.SigninAccessPoint;
+ import org.chromium.chrome.browser.signin.SigninManager;
+@@ -131,18 +130,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+ }
+
+ /**
+- * @return Personalized signin promo header {@link ViewHolder} instance that can be used with
+- * {@link RecyclerView}.
+- */
+- ViewHolder createPersonalizedSigninPromoHolder(ViewGroup parent) {
+- View view = LayoutInflater.from(mContext).inflate(
+- R.layout.personalized_signin_promo_view_bookmarks, parent, false);
+-
+- // ViewHolder is abstract and it cannot be instantiated directly.
+- return new ViewHolder(view) {};
+- }
+-
+- /**
+ * @return Sync promo header {@link ViewHolder} instance that can be used with
+ * {@link RecyclerView}.
+ */
+@@ -153,42 +140,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+ return new ViewHolder(view) {};
+ }
+
+- /**
+- * Configures the personalized signin promo and records promo impressions.
+- * @param view The view to be configured.
+- */
+- void setupPersonalizedSigninPromo(PersonalizedSigninPromoView view) {
+- SigninPromoUtil.setupPromoViewFromCache(mSigninPromoController, mProfileDataCache, view,
+- this::setPersonalizedSigninPromoDeclined);
+- }
+-
+- /**
+- * Detaches the previously configured {@link PersonalizedSigninPromoView}.
+- */
+- void detachPersonalizePromoView() {
+- if (mSigninPromoController != null) mSigninPromoController.detach();
+- }
+-
+- /**
+- * Saves that the personalized signin promo was declined and updates the UI.
+- */
+- private void setPersonalizedSigninPromoDeclined() {
+- SharedPreferences.Editor sharedPreferencesEditor =
+- ContextUtils.getAppSharedPreferences().edit();
+- sharedPreferencesEditor.putBoolean(PREF_PERSONALIZED_SIGNIN_PROMO_DECLINED, true);
+- sharedPreferencesEditor.apply();
+- mPromoState = calculatePromoState();
+- triggerPromoUpdate();
+- }
+-
+- /**
+- * @return Whether the user declined the personalized signin promo.
+- */
+- private boolean wasPersonalizedSigninPromoDeclined() {
+- return ContextUtils.getAppSharedPreferences().getBoolean(
+- PREF_PERSONALIZED_SIGNIN_PROMO_DECLINED, false);
+- }
+-
+ private @PromoState int calculatePromoState() {
+ if (sPromoStateForTests != null) {
+ return sPromoStateForTests;
+@@ -202,7 +153,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+ boolean impressionLimitReached = !SigninPromoController.hasNotReachedImpressionLimit(
+ SigninAccessPoint.BOOKMARK_MANAGER);
+ if (!mSignInManager.isSignInAllowed() || !SigninPromoController.isSignInPromoAllowed()
+- || impressionLimitReached || wasPersonalizedSigninPromoDeclined()) {
++ || impressionLimitReached) {
+ return PromoState.PROMO_NONE;
+ }
+ return PromoState.PROMO_SIGNIN_PERSONALIZED;
+@@ -250,7 +201,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
+ }
+
+ private void triggerPromoUpdate() {
+- detachPersonalizePromoView();
+ mPromoHeaderChangeAction.run();
+ }
+
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
@@ -153,17 +243,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPr
}
/**
-diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
---- a/chrome/android/java_sources.gni
-+++ b/chrome/android/java_sources.gni
-@@ -166,7 +166,6 @@ chrome_java_sources = [
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java",
-- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkRow.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIObserver.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIState.java",
--
2.11.0
diff --git a/build/patches/Disable-references-to-fonts.googleapis.com.patch b/build/patches/Disable-references-to-fonts.googleapis.com.patch
index 8044fec8..f0255537 100644
--- a/build/patches/Disable-references-to-fonts.googleapis.com.patch
+++ b/build/patches/Disable-references-to-fonts.googleapis.com.patch
@@ -36,8 +36,8 @@ diff --git a/components/dom_distiller/core/html/preview.html b/components/dom_di
diff --git a/components/dom_distiller/core/javascript/dom_distiller_viewer.js b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
--- a/components/dom_distiller/core/javascript/dom_distiller_viewer.js
+++ b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
-@@ -120,7 +120,7 @@ function maybeSetWebFont() {
- if (distiller_on_ios) return;
+@@ -123,7 +123,7 @@ function maybeSetWebFont() {
+ return;
var e = document.createElement('link');
- e.href = 'https://fonts.googleapis.com/css?family=Roboto';
diff --git a/build/patches/Disable-seed-based-field-trials.patch b/build/patches/Disable-seed-based-field-trials.patch
index a55918fe..34a8ad28 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
-@@ -514,8 +514,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
+@@ -512,8 +512,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 1bdc3f12..d180af13 100644
--- a/build/patches/Disable-signin-and-data-saver-preferences.patch
+++ b/build/patches/Disable-signin-and-data-saver-preferences.patch
@@ -36,7 +36,7 @@ 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"/>
-@@ -96,11 +81,6 @@
+@@ -95,11 +80,6 @@
android:key="languages"
android:order="17"
android:title="@string/prefs_languages"/>
@@ -66,11 +66,12 @@ 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/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
-@@ -17,16 +17,12 @@ import org.chromium.base.VisibleForTesting;
+@@ -17,17 +17,13 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.contextual_suggestions.ContextualSuggestionsEnabledStateUtils;
-import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
+ import org.chromium.chrome.browser.night_mode.NightModeUtils;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.preferences.autofill_assistant.AutofillAssistantPreferences;
@@ -83,7 +84,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
import org.chromium.chrome.browser.util.FeatureUtilities;
import java.util.HashMap;
-@@ -36,11 +32,7 @@ import java.util.Map;
+@@ -37,11 +33,7 @@ import java.util.Map;
* The main settings screen, shown when the user first opens Settings.
*/
public class MainPreferences extends PreferenceFragment
@@ -96,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
public static final String PREF_SEARCH_ENGINE = "search_engine";
public static final String PREF_SAVED_PASSWORDS = "saved_passwords";
public static final String PREF_CONTEXTUAL_SUGGESTIONS = "contextual_suggestions";
-@@ -60,7 +52,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -61,7 +53,6 @@ public class MainPreferences extends PreferenceFragment
private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
private final Map mAllPreferences = new HashMap<>();
@@ -104,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
public MainPreferences() {
setHasOptionsMenu(true);
-@@ -76,33 +67,16 @@ public class MainPreferences extends PreferenceFragment
+@@ -77,33 +68,16 @@ public class MainPreferences extends PreferenceFragment
@Override
public void onDestroy() {
super.onDestroy();
@@ -138,7 +139,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
@Override
-@@ -115,17 +89,9 @@ public class MainPreferences extends PreferenceFragment
+@@ -116,17 +90,9 @@ public class MainPreferences extends PreferenceFragment
PreferenceUtils.addPreferencesFromResource(this, R.xml.main_preferences);
cachePreferences();
@@ -156,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
-@@ -189,7 +155,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -190,7 +156,6 @@ public class MainPreferences extends PreferenceFragment
Preference preference = getPreferenceScreen().getPreference(index);
mAllPreferences.put(preference.getKey(), preference);
}
@@ -164,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private void setManagedPreferenceDelegateForPreference(String key) {
-@@ -198,13 +163,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -199,13 +164,6 @@ public class MainPreferences extends PreferenceFragment
}
private void updatePreferences() {
@@ -178,7 +179,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
updateSearchEnginePreference();
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
-@@ -234,10 +192,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -235,10 +193,6 @@ public class MainPreferences extends PreferenceFragment
} else {
removePreferenceIfPresent(PREF_DEVELOPER);
}
@@ -189,7 +190,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private Preference addPreferenceIfAbsent(String key) {
-@@ -251,15 +205,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -252,15 +206,6 @@ public class MainPreferences extends PreferenceFragment
if (preference != null) getPreferenceScreen().removePreference(preference);
}
@@ -205,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 =
-@@ -291,28 +236,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -292,28 +237,6 @@ public class MainPreferences extends PreferenceFragment
pref.setSummary(getResources().getString(isOn ? R.string.text_on : R.string.text_off));
}
@@ -234,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
// TemplateUrlService.LoadListener implementation.
@Override
public void onTemplateUrlServiceLoaded() {
-@@ -320,11 +243,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -321,11 +244,6 @@ public class MainPreferences extends PreferenceFragment
updateSearchEnginePreference();
}
@@ -246,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
@VisibleForTesting
ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
return mManagedPreferenceDelegate;
-@@ -334,9 +252,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -335,9 +253,6 @@ public class MainPreferences extends PreferenceFragment
return new ManagedPreferenceDelegate() {
@Override
public boolean isPreferenceControlledByPolicy(Preference preference) {
@@ -256,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();
}
-@@ -345,11 +260,6 @@ public class MainPreferences extends PreferenceFragment
+@@ -346,11 +261,6 @@ public class MainPreferences extends PreferenceFragment
@Override
public boolean isPreferenceClickDisabledByPolicy(Preference preference) {
@@ -315,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
-@@ -315,9 +315,6 @@ CHAR-LIMIT guidelines:
+@@ -324,9 +324,6 @@ CHAR-LIMIT guidelines:
@@ -325,7 +326,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
Sign in to Chrome
-@@ -400,9 +397,6 @@ CHAR-LIMIT guidelines:
+@@ -409,9 +406,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 ff940338..0d7dcccc 100644
--- a/build/patches/Disable-signin-data-reduction-promos.patch
+++ b/build/patches/Disable-signin-data-reduction-promos.patch
@@ -9,7 +9,7 @@ Subject: Disable signin/data reduction promos
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
-@@ -695,34 +695,10 @@ public class ChromeTabbedActivity
+@@ -702,34 +702,10 @@ public class ChromeTabbedActivity
}
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance();
diff --git a/build/patches/Disable-unused-permissions.patch b/build/patches/Disable-unused-permissions.patch
index f5e73d42..e939e746 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
-@@ -1023,8 +1023,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
+@@ -1042,8 +1042,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" ]
-@@ -1035,7 +1034,6 @@ jinja_template_resources("chrome_test_apk_template_resources") {
+@@ -1054,7 +1053,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",
@@ -49,7 +49,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
-@@ -44,25 +44,19 @@ by a child template that "extends" this file.
+@@ -44,22 +44,16 @@ by a child template that "extends" this file.
{% if target_sdk_version|int > 27 or target_sdk_version == "Q" %}
{% endif %}
@@ -57,9 +57,6 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-
- {% if target_sdk_version|int > 28 or target_sdk_version == "Q" %}
-
- {% endif %}
-
@@ -75,7 +72,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% set enable_vr = enable_vr|default(0) %}
{% if enable_vr == "true" %}
-@@ -100,8 +94,6 @@ by a child template that "extends" this file.
+@@ -97,8 +91,6 @@ by a child template that "extends" this file.
@@ -84,7 +81,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
{% endblock %}
-@@ -925,16 +917,6 @@ by a child template that "extends" this file.
+@@ -975,16 +967,6 @@ by a child template that "extends" this file.
android:resource="@xml/file_paths" />
@@ -101,7 +98,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -1040,15 +1022,6 @@ by a child template that "extends" this file.
+@@ -1090,15 +1072,6 @@ by a child template that "extends" this file.
@@ -120,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
-@@ -127,8 +127,6 @@ import org.chromium.chrome.browser.share.ShareMenuActionHandler;
+@@ -131,8 +131,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.TabThemeColorHelper;
+ import org.chromium.chrome.browser.tab.TabFullscreenHandler;
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
-@@ -259,9 +257,6 @@ public abstract class ChromeActivity
+@@ -283,9 +281,6 @@ public abstract class ChromeActivity
@SuppressLint("NewApi")
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
@@ -139,7 +136,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
@Nullable
private ChromeFullscreenManager mFullscreenManager;
-@@ -966,28 +961,6 @@ public abstract class ChromeActivity
+@@ -964,28 +959,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;
@@ -168,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
}
@Override
-@@ -1056,13 +1029,6 @@ public abstract class ChromeActivity
+@@ -1054,13 +1027,6 @@ public abstract class ChromeActivity
if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
GSAAccountChangeListener.getInstance().disconnect();
}
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 0f7081cf..fdc5ea26 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
@@ -11,7 +11,7 @@ Block gelocation by default instead of granting it for non-enterprise use cases
diff --git a/chrome/browser/android/search_permissions/search_permissions_service.cc b/chrome/browser/android/search_permissions/search_permissions_service.cc
--- a/chrome/browser/android/search_permissions/search_permissions_service.cc
+++ b/chrome/browser/android/search_permissions/search_permissions_service.cc
-@@ -344,11 +344,7 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
+@@ -333,11 +333,7 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
return;
}
@@ -24,7 +24,7 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
pref_service_->ClearPref(prefs::kDSEWasDisabledByPolicy);
// Initialize the pref for geolocation if it hasn't been initialized yet.
-@@ -381,10 +377,8 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
+@@ -370,10 +366,8 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
pref_service_->ClearPref(prefs::kDSEGeolocationSettingDeprecated);
} else if (dse_geolocation_setting == CONTENT_SETTING_ASK) {
// If the user hasn't explicitly allowed or blocked geolocation for the
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
}
// Update the content setting with the auto-grants for the DSE.
-@@ -410,11 +404,9 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
+@@ -398,11 +392,9 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
GetContentSetting(dse_origin, CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
ContentSetting dse_notifications_setting = notifications_setting_to_restore;
// If the user hasn't explicitly allowed or blocked notifications for the
@@ -54,15 +54,15 @@ 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
-@@ -329,7 +329,7 @@ const base::Feature kGoogleBrandedContextMenu{
-
+@@ -242,7 +242,7 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
#if defined(OS_ANDROID)
- const base::Feature kGrantNotificationsToDSE{"GrantNotificationsToDSE",
+ // Enable changing default downloads storage location on Android.
+ const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
- #endif // defined(OS_ANDROID)
+ #endif
- #if defined(OS_CHROMEOS)
+ // Show the number of open incognito windows besides incognito icon on the
--
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 5be95582..3644b43c 100644
--- a/build/patches/Do-not-store-passwords-by-default.patch
+++ b/build/patches/Do-not-store-passwords-by-default.patch
@@ -9,7 +9,7 @@ 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
-@@ -333,10 +333,10 @@ void RecordParsingOnSavingDifference(
+@@ -354,10 +354,10 @@ bool IsOnlyNewParserEnabled() {
void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
diff --git a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
index af811425..2f710dd7 100644
--- a/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
+++ b/build/patches/Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
@@ -42,7 +42,7 @@ Excerpt from https://github.com/bromite/bromite/issues/226
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -272,6 +272,10 @@ config("compiler") {
+@@ -262,6 +262,10 @@ config("compiler") {
}
}
diff --git a/build/patches/Enable-history-requirement-of-user-gesture.patch b/build/patches/Enable-history-requirement-of-user-gesture.patch
index 4ac704d0..f1c9ce06 100644
--- a/build/patches/Enable-history-requirement-of-user-gesture.patch
+++ b/build/patches/Enable-history-requirement-of-user-gesture.patch
@@ -10,7 +10,7 @@ Set #enable-history-entry-requires-user-gesture to enabled 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
-@@ -1199,7 +1199,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1133,7 +1133,7 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-history-entry-requires-user-gesture",
flag_descriptions::kHistoryRequiresUserGestureName,
flag_descriptions::kHistoryRequiresUserGestureDescription, kOsAll,
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 6542dafb..33b0e01d 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
-@@ -222,7 +222,7 @@ const base::Feature kAdjustWebApkInstallationSpace = {
+@@ -230,7 +230,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 6c5e13ee..9658ae06 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
@@ -1,23 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 15 Mar 2019 10:05:14 +0100
-Subject: Enable secure DNS mode by default in DnsTransaction.
+Subject: Enable secure DNS mode by default in DnsTransaction
---
- net/dns/host_resolver_impl.cc | 2 +-
+ net/dns/host_resolver_manager.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
---- a/net/dns/host_resolver_impl.cc
-+++ b/net/dns/host_resolver_impl.cc
-@@ -984,7 +984,7 @@ class HostResolverImpl::DnsTask : public base::SupportsWeakPtr {
- base::BindOnce(&DnsTask::OnTransactionComplete,
- base::Unretained(this), tick_clock_->NowTicks(),
- dns_query_type),
-- net_log_, SecureDnsMode::AUTOMATIC);
-+ net_log_, SecureDnsMode::SECURE);
- trans->SetRequestContext(delegate_->url_request_context());
- trans->SetRequestPriority(delegate_->priority());
- return trans;
+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) {
+ DCHECK_NE(DnsQueryType::UNSPECIFIED, dns_query_type);
+- SecureDnsMode secure_dns_mode = SecureDnsMode::AUTOMATIC;
++ SecureDnsMode secure_dns_mode = 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());
--
2.11.0
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 3ac72864..dc0abc29 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
-@@ -559,11 +559,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
+@@ -558,11 +558,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
-@@ -585,7 +581,7 @@ const base::Feature kSiteIsolationForPasswordSites{
+@@ -584,7 +580,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/Hide-passwords-manager-link.patch b/build/patches/Hide-passwords-manager-link.patch
index f3dc2074..595c8989 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
-@@ -249,7 +249,7 @@ public class SavePasswordsPreferences
+@@ -251,7 +251,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) {
-@@ -324,7 +324,7 @@ public class SavePasswordsPreferences
+@@ -326,7 +326,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 746d5ebe..32ee2abe 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
@@ -20,7 +20,7 @@ Send a random key press to circumvent idle status detection
diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/renderer/core/dom/BUILD.gn
--- a/third_party/blink/renderer/core/dom/BUILD.gn
+++ b/third_party/blink/renderer/core/dom/BUILD.gn
-@@ -144,6 +144,8 @@ blink_core_sources("dom") {
+@@ -146,6 +146,8 @@ blink_core_sources("dom") {
"global_event_handlers.h",
"icon_url.cc",
"icon_url.h",
@@ -33,14 +33,14 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -241,6 +241,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"
++#include "extensions/video_bg_play.h"
#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 "extensions/video_bg_play.h"
- #include "third_party/blink/renderer/core/paint/compositing/paint_layer_compositor.h"
- #include "third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h"
- #include "third_party/blink/renderer/core/paint/paint_layer.h"
-@@ -300,6 +301,8 @@
+ #include "third_party/blink/renderer/core/page/spatial_navigation_controller.h"
+@@ -305,6 +306,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();
-@@ -6224,8 +6227,35 @@ void Document::FinishedParsing() {
+@@ -6106,8 +6109,35 @@ void Document::FinishedParsing() {
// Parser should have picked up all preloads by now
fetcher_->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index fd0194c9..fc0c32af 100644
--- a/build/patches/Modify-default-preferences.patch
+++ b/build/patches/Modify-default-preferences.patch
@@ -36,7 +36,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
-@@ -1122,7 +1122,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1139,7 +1139,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -72,7 +72,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
-@@ -139,7 +139,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
+@@ -148,7 +148,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@@ -108,7 +108,7 @@ diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signi
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
-@@ -68,11 +68,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -66,11 +66,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
@@ -125,12 +125,12 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/browser/ui/navigation_correction_tab_observer.cc
--- a/chrome/browser/ui/navigation_correction_tab_observer.cc
+++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
-@@ -57,7 +57,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {
+@@ -55,7 +55,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {}
+ // static
void NavigationCorrectionTabObserver::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* prefs) {
- prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled,
-- true,
-+ false,
+- prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled, true,
++ prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
@@ -163,7 +163,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
-@@ -359,10 +359,7 @@ bool AutofillManager::ShouldParseForms(const std::vector& forms,
+@@ -360,10 +360,7 @@ bool AutofillManager::ShouldParseForms(const std::vector& forms,
bool enabled = IsAutofillEnabled();
sync_state_ = personal_data_ ? personal_data_->GetSyncSigninState()
: AutofillSyncSigninState::kNumSyncStates;
@@ -175,7 +175,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
return enabled;
}
-@@ -625,10 +622,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
+@@ -626,10 +623,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
// suggestions available.
// TODO(mathp): Differentiate between number of suggestions available
// (current metric) and number shown to the user.
@@ -201,9 +201,9 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
-@@ -137,10 +137,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
- prefs::kAutofillBillingCustomerNumber, 0.0,
- user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
+@@ -130,10 +130,10 @@ const char kAutocompleteLastVersionRetentionPolicy[] =
+ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+ // Synced prefs. Used for cross-device choices, e.g., credit card Autofill.
registry->RegisterBooleanPref(
- prefs::kAutofillEnabledDeprecated, true,
+ prefs::kAutofillEnabledDeprecated, false,
@@ -214,7 +214,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterIntegerPref(
prefs::kAutofillLastVersionDeduped, 0,
-@@ -153,7 +153,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -146,7 +146,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@@ -259,7 +259,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
-@@ -367,14 +367,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
+@@ -382,14 +382,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
if (is_theme())
return false;
diff --git a/build/patches/Open-YouTube-links-in-Bromite.patch b/build/patches/Open-YouTube-links-in-Bromite.patch
index 34dcc84d..5b05070b 100644
--- a/build/patches/Open-YouTube-links-in-Bromite.patch
+++ b/build/patches/Open-YouTube-links-in-Bromite.patch
@@ -10,9 +10,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
--- 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 {
- return OverrideUrlLoadingResult.NO_OVERRIDE;
}
+ // TODO(changwan): check if we need to handle URL even when external intent is off.
+ // Force to open YouTube urls in Bromite
+ String intentPackageName = intent.getPackage();
+ if (intentPackageName != null && intentPackageName.equals("com.google.android.youtube")) {
@@ -20,9 +20,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
+ return OverrideUrlLoadingResult.NO_OVERRIDE;
+ }
+
- // Sanitize the Intent, ensuring web pages can not bypass browser
- // security (only access to BROWSABLE activities).
- intent.addCategory(Intent.CATEGORY_BROWSABLE);
+ if (CommandLine.getInstance().hasSwitch(
+ ChromeSwitches.DISABLE_EXTERNAL_INTENT_REQUESTS)) {
+ Log.w(TAG, "External intent handling is disabled by a command-line flag.");
--
2.11.0
diff --git a/build/patches/Punt-the-Widevine-version-string.patch b/build/patches/Punt-the-Widevine-version-string.patch
index 329e7c3b..472ab8b0 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
-@@ -521,7 +521,7 @@ void ChromeContentClient::AddContentDecryptionModules(
+@@ -520,7 +520,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 71f65bc0..7b49a949 100644
--- a/build/patches/Remove-background-sync-and-translate-menu-options.patch
+++ b/build/patches/Remove-background-sync-and-translate-menu-options.patch
@@ -177,19 +177,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} 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.
-@@ -105,11 +103,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
- getPreferenceScreen().removePreference(findPreference(Type.CLIPBOARD));
+@@ -102,11 +100,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));
- }
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.GENERIC_SENSOR_EXTRA_CLASSES)) {
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SENSOR_CONTENT_SETTING)) {
getPreferenceScreen().removePreference(findPreference(Type.SENSORS));
}
-@@ -119,10 +112,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
+@@ -116,10 +109,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
private void updatePreferenceStates() {
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
@@ -200,16 +200,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) {
-@@ -139,7 +128,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
+@@ -136,7 +125,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
if (!mProtectedContentMenuAvailable) {
websitePrefs.add(Type.AUTOPLAY);
}
- websitePrefs.add(Type.BACKGROUND_SYNC);
+// websitePrefs.add(Type.BACKGROUND_SYNC);
websitePrefs.add(Type.CAMERA);
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
- websitePrefs.add(Type.CLIPBOARD);
-@@ -236,11 +225,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
+ websitePrefs.add(Type.CLIPBOARD);
+ websitePrefs.add(Type.COOKIES);
+@@ -232,11 +221,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 e7ef0e59..40682025 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
-@@ -2143,15 +2143,6 @@ public abstract class ChromeActivity
+@@ -2177,15 +2177,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
-@@ -878,7 +878,7 @@ public class CustomTabActivity extends ChromeActivity
* See chrome/browser/signin/signin_manager_android.h for more details.
*/
@@ -54,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
private static final String TAG = "SigninManager";
/**
-@@ -181,8 +177,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;
@@ -63,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
private final ObserverList mSignInStateObservers = new ObserverList<>();
private final ObserverList mSignInAllowedObservers =
new ObserverList<>();
-@@ -226,25 +220,17 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -227,26 +221,18 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
private SigninManager() {
@@ -84,14 +60,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
- mAccountTrackerService = accountTrackerService;
- mAndroidSyncSettings = androidSyncSettings;
- mNativeSigninManagerAndroid = nativeInit();
- mSigninAllowedByPolicy = nativeIsSigninAllowedByPolicy(mNativeSigninManagerAndroid);
+ mNativeSigninManagerAndroid = SigninManagerJni.get().init(this);
+ mSigninAllowedByPolicy =
+ SigninManagerJni.get().isSigninAllowedByPolicy(this, mNativeSigninManagerAndroid);
-
- mAccountTrackerService.addSystemAccountsSeededListener(this);
}
/**
-@@ -280,8 +266,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -282,8 +268,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* Returns true if signin can be started now.
*/
public boolean isSignInAllowed() {
@@ -101,25 +78,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -296,15 +281,14 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -298,15 +283,14 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
* Google Play Services installed.
*/
public boolean isSigninSupported() {
- return !ApiCompatibilityUtils.isDemoUser(mContext)
- && !ExternalAuthUtils.getInstance().isGooglePlayServicesMissing(mContext);
-+ return false;
++ return false;
}
/**
* @return Whether force sign-in is enabled by policy.
*/
public boolean isForceSigninEnabled() {
-- return nativeIsForceSigninEnabled(mNativeSigninManagerAndroid);
-+ return false;
+- return SigninManagerJni.get().isForceSigninEnabled(this, mNativeSigninManagerAndroid);
++ return false;
}
/**
-@@ -338,27 +322,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -340,27 +324,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
/**
@@ -147,7 +124,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
-@@ -413,19 +376,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -415,19 +378,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
}
private void progressSignInFlowSeedSystemAccounts() {
@@ -168,9 +145,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
-@@ -489,12 +440,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
- // Tell the native side that sign-in has completed.
- nativeOnSignInCompleted(mNativeSigninManagerAndroid, mSignInState.mAccount.name);
+@@ -493,12 +444,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+ SigninManagerJni.get().onSignInCompleted(
+ this, mNativeSigninManagerAndroid, mSignInState.mAccount.name);
- // Cache the signed-in account name. This must be done after the native call, otherwise
- // sync tries to start without being signed in natively and crashes.
@@ -181,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
if (mSignInState.mCallback != null) {
mSignInState.mCallback.onSignInComplete();
}
-@@ -670,16 +615,11 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
+@@ -674,16 +619,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 c62152f9..51b6a02d 100644
--- a/build/patches/Restore-classic-new-tab-page.patch
+++ b/build/patches/Restore-classic-new-tab-page.patch
@@ -9,7 +9,7 @@ Subject: Restore classic new tab page
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
-@@ -154,16 +154,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
+@@ -160,16 +160,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
return true;
}
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
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
-@@ -190,8 +180,7 @@ struct NewTabURLDetails {
+@@ -196,8 +186,7 @@ struct NewTabURLDetails {
const GURL local_url(chrome::kChromeSearchLocalNtpUrl);
diff --git a/build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-16-JellyBean.patch b/build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-17-JellyBean.patch
similarity index 85%
rename from build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-16-JellyBean.patch
rename to build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-17-JellyBean.patch
index d8983fc5..940fe345 100644
--- a/build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-16-JellyBean.patch
+++ b/build/patches/Rollback-android-minSdkVersion-from-19-KitKat-to-17-JellyBean.patch
@@ -1,36 +1,40 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 29 Jan 2019 01:02:07 +0100
-Subject: Rollback android:minSdkVersion from 19 (KitKat) to 16 (JellyBean)
+Subject: Rollback android:minSdkVersion from 19 (KitKat) to 17 (JellyBean)
+
+Use v4 ArrayMap for compatibility with v17
This reverts commit 9a48587dbd1988cf5066b454e7d09ae35d124366.
---
- .../test/embedded_test_server/java/AndroidManifest.xml | 2 +-
- android_webview/tools/automated_ui_tests/java/AndroidManifest.xml | 2 +-
- base/android/jni_generator/AndroidManifest.xml | 2 +-
- build/android/AndroidManifest.xml | 2 +-
- build/android/gradle/android.jinja | 2 +-
- chrome/android/BUILD.gn | 8 ++++----
- .../test/android/chrome_public_test_support/AndroidManifest.xml | 2 +-
- components/cronet/android/sample/AndroidManifest.xml | 3 +--
- components/cronet/android/sample/javatests/AndroidManifest.xml | 3 +--
- components/cronet/android/test/javaperftests/AndroidManifest.xml | 3 +--
- components/cronet/android/test/javatests/AndroidManifest.xml | 3 +--
- .../test/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
- content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
- content/shell/android/javatests/AndroidManifest.xml | 2 +-
- content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2 | 2 +-
- content/shell/android/shell_apk/AndroidManifest.xml.jinja2 | 2 +-
- docs/android_build_instructions.md | 2 +-
- mojo/public/java/system/javatests/AndroidManifest.xml | 2 +-
- net/android/unittest_support/AndroidManifest.xml | 2 +-
- net/test/android/javatests/AndroidManifest.xml | 2 +-
- remoting/android/java/AndroidManifest.xml.jinja2 | 2 +-
- remoting/android/javatests/AndroidManifest.xml.jinja2 | 2 +-
- testing/android/driver/java/AndroidManifest.xml | 2 +-
- testing/android/native_test/java/AndroidManifest.xml.jinja2 | 2 +-
- tools/android/audio_focus_grabber/java/AndroidManifest.xml | 2 +-
- tools/android/push_apps_to_background/AndroidManifest.xml | 4 ++--
- 26 files changed, 30 insertions(+), 34 deletions(-)
+ .../test/embedded_test_server/java/AndroidManifest.xml | 2 +-
+ .../tools/automated_ui_tests/java/AndroidManifest.xml | 2 +-
+ base/android/jni_generator/AndroidManifest.xml | 2 +-
+ build/android/AndroidManifest.xml | 2 +-
+ build/android/gradle/android.jinja | 2 +-
+ chrome/android/BUILD.gn | 6 +++---
+ .../trustedwebactivityui/splashscreen/SplashImageHolder.java | 2 +-
+ .../splashscreen/SplashScreenController.java | 10 +++++-----
+ .../android/chrome_public_test_support/AndroidManifest.xml | 2 +-
+ components/cronet/android/sample/AndroidManifest.xml | 3 +--
+ components/cronet/android/sample/javatests/AndroidManifest.xml | 3 +--
+ .../cronet/android/test/javaperftests/AndroidManifest.xml | 3 +--
+ components/cronet/android/test/javatests/AndroidManifest.xml | 3 +--
+ .../test/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
+ .../shell/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
+ content/shell/android/javatests/AndroidManifest.xml | 2 +-
+ .../shell/android/linker_test_apk/AndroidManifest.xml.jinja2 | 2 +-
+ content/shell/android/shell_apk/AndroidManifest.xml.jinja2 | 2 +-
+ docs/android_build_instructions.md | 2 +-
+ mojo/public/java/system/javatests/AndroidManifest.xml | 2 +-
+ net/android/unittest_support/AndroidManifest.xml | 2 +-
+ net/test/android/javatests/AndroidManifest.xml | 2 +-
+ remoting/android/java/AndroidManifest.xml.jinja2 | 2 +-
+ remoting/android/javatests/AndroidManifest.xml.jinja2 | 2 +-
+ testing/android/driver/java/AndroidManifest.xml | 2 +-
+ testing/android/native_test/java/AndroidManifest.xml.jinja2 | 2 +-
+ tools/android/audio_focus_grabber/java/AndroidManifest.xml | 2 +-
+ tools/android/push_apps_to_background/AndroidManifest.xml | 4 ++--
+ 28 files changed, 35 insertions(+), 39 deletions(-)
diff --git a/android_webview/test/embedded_test_server/java/AndroidManifest.xml b/android_webview/test/embedded_test_server/java/AndroidManifest.xml
--- a/android_webview/test/embedded_test_server/java/AndroidManifest.xml
@@ -94,7 +98,7 @@ diff --git a/build/android/gradle/android.jinja b/build/android/gradle/android.j
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -65,7 +65,7 @@ jinja_template("chrome_public_android_manifest") {
+@@ -67,7 +67,7 @@ jinja_template("chrome_public_android_manifest") {
output = chrome_public_android_manifest
variables = chrome_public_jinja_variables
variables += [
@@ -102,17 +106,8 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
+ "min_sdk_version=17",
"target_sdk_version=$android_sdk_version",
]
-
-@@ -1554,7 +1554,7 @@ template("chrome_public_apk_or_module_tmpl") {
- android_manifest = chrome_modern_public_android_manifest
- android_manifest_dep = ":chrome_modern_public_android_manifest"
- } else {
-- min_sdk_version = 19
-+ min_sdk_version = 17
- android_manifest = chrome_public_android_manifest
- android_manifest_dep = ":chrome_public_android_manifest"
- }
-@@ -1777,7 +1777,7 @@ jinja_template("chrome_public_test_apk_manifest") {
+ }
+@@ -1831,7 +1831,7 @@ jinja_template("chrome_public_test_apk_manifest") {
variables = default_chrome_public_jinja_variables
variables += [
"manifest_package=$test_manifest_package",
@@ -121,7 +116,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"target_sdk_version=$android_sdk_version",
]
}
-@@ -1788,7 +1788,7 @@ jinja_template("chrome_public_test_vr_apk_manifest") {
+@@ -1842,7 +1842,7 @@ jinja_template("chrome_public_test_vr_apk_manifest") {
output = chrome_public_test_vr_apk_manifest
variables = chrome_public_jinja_variables
variables += [
@@ -130,6 +125,38 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"target_sdk_version=$android_sdk_version",
]
}
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashImageHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashImageHolder.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashImageHolder.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashImageHolder.java
+@@ -7,7 +7,7 @@ package org.chromium.chrome.browser.browserservices.trustedwebactivityui.splashs
+ import android.graphics.Bitmap;
+ import android.support.annotation.Nullable;
+ import android.support.customtabs.CustomTabsSessionToken;
+-import android.util.ArrayMap;
++import android.support.v4.util.ArrayMap;
+
+ import java.util.Collections;
+ import java.util.Map;
+diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashScreenController.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashScreenController.java
+--- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashScreenController.java
++++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/trustedwebactivityui/splashscreen/SplashScreenController.java
+@@ -119,11 +119,11 @@ public class SplashScreenController implements InflationObserver, Destroyable {
+ Method method = Activity.class.getDeclaredMethod("convertFromTranslucent");
+ method.setAccessible(true);
+ method.invoke(mActivity);
+- } catch (ReflectiveOperationException e) {
+- // Method not found or threw an exception.
+- mUmaRecorder.recordTranslucencyRemovalFailed();
+- assert false : "Failed to remove activity translucency reflectively";
+- Log.e(TAG, "Failed to remove activity translucency reflectively");
++ } catch (Exception e) {
++ // Method not found or threw an exception.
++ mUmaRecorder.recordTranslucencyRemovalFailed();
++ assert false : "Failed to remove activity translucency reflectively";
++ Log.e(TAG, "Failed to remove activity translucency reflectively:", e);
+ }
+ }
+
diff --git a/chrome/test/android/chrome_public_test_support/AndroidManifest.xml b/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
--- a/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
+++ b/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch
index e5c37aea..52ec0c8a 100644
--- a/build/patches/Switch-to-fstack-protector-strong.patch
+++ b/build/patches/Switch-to-fstack-protector-strong.patch
@@ -16,7 +16,7 @@ higher memory/cache usage but not by the full 2-3%.
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -263,16 +263,12 @@ config("compiler") {
+@@ -253,16 +253,12 @@ config("compiler") {
cflags += [ "-fstack-protector" ]
}
} else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) {
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 49dd9cdf..bb797055 100644
--- a/build/patches/Use-4-tile-rows-never-show-logo.patch
+++ b/build/patches/Use-4-tile-rows-never-show-logo.patch
@@ -6,8 +6,8 @@ Subject: Use 4 tile rows, never show logo
.../java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java | 6 +++---
.../chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java | 2 +-
.../src/org/chromium/chrome/browser/suggestions/SiteSection.java | 2 +-
+ chrome/browser/engagement/important_sites_util.cc | 2 +-
components/history/core/browser/top_sites_impl.h | 2 +-
- components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc | 2 +-
5 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -64,6 +64,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sit
}
@LayoutRes
+diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
+--- a/chrome/browser/engagement/important_sites_util.cc
++++ b/chrome/browser/engagement/important_sites_util.cc
+@@ -58,7 +58,7 @@ static const int kTimesIgnoredForBlacklist = 3;
+ // These are the maximum # of bookmarks we can use as signals. If the user has
+ // <= kMaxBookmarks, then we just use those bookmarks. Otherwise we filter all
+ // bookmarks on site engagement > 0, sort, and trim to kMaxBookmarks.
+-static const int kMaxBookmarks = 5;
++static const int kMaxBookmarks = 4 * 4 + 2;
+
+ // We need this to be a macro, as the histogram macros cache their pointers
+ // after the first call, so when we change the uma name we check fail if we're
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
@@ -76,18 +88,6 @@ diff --git a/components/history/core/browser/top_sites_impl.h b/components/histo
TopSitesImpl(PrefService* pref_service,
HistoryService* history_service,
-diff --git a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
---- a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
-+++ b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
-@@ -30,7 +30,7 @@ namespace ntp_snippets {
-
- namespace {
-
--const int kMaxBookmarks = 10;
-+const int kMaxBookmarks = 4 * 4 + 2;
- const int kMaxBookmarkAgeInDays = 7;
-
- const char* kMaxBookmarksParamName = "bookmarks_max_count";
--
2.11.0
diff --git a/build/patches/Use-64-bit-WebView-processes.patch b/build/patches/Use-64-bit-WebView-processes.patch
index 47d826bc..8f1077d6 100644
--- a/build/patches/Use-64-bit-WebView-processes.patch
+++ b/build/patches/Use-64-bit-WebView-processes.patch
@@ -25,7 +25,7 @@ sandboxing.
diff --git a/android_webview/apk/java/AndroidManifest.xml b/android_webview/apk/java/AndroidManifest.xml
--- a/android_webview/apk/java/AndroidManifest.xml
+++ b/android_webview/apk/java/AndroidManifest.xml
-@@ -25,7 +25,6 @@
+@@ -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:multiArch="true"
diff --git a/build/patches/autofill-disable-autofill-download-manager.patch b/build/patches/autofill-disable-autofill-download-manager.patch
index ed57ef4b..6bfb1dcd 100644
--- a/build/patches/autofill-disable-autofill-download-manager.patch
+++ b/build/patches/autofill-disable-autofill-download-manager.patch
@@ -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
-@@ -175,19 +175,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
+@@ -176,19 +176,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
}
}
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 d9d0baab..7e4c51a3 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
@@ -4,22 +4,28 @@ Subject: dns: send IPv6 connectivity probes to RIPE DNS
Short of disabling the code (we may do that in a subsequent patch
anyway), avoid sending to Google.
----
- net/dns/host_resolver_impl.cc | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
---- a/net/dns/host_resolver_impl.cc
-+++ b/net/dns/host_resolver_impl.cc
-@@ -117,10 +117,10 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
+Increase probe period from 1s to 15s
+---
+ net/dns/host_resolver_manager.cc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+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;
+
+ // Time between IPv6 probes, i.e. for how long results of each IPv6 probe are
// cached.
- const int kIPv6ProbePeriodMs = 1000;
+-const int kIPv6ProbePeriodMs = 1000;
++const int kIPv6ProbePeriodMs = 15000;
-// Google DNS address used for IPv6 probes.
-+/* RIPE NCC k.root-servers.net. 2001:7fd::1 (anycasted) */
- const uint8_t kIPv6ProbeAddress[] =
-- { 0x20, 0x01, 0x48, 0x60, 0x48, 0x60, 0x00, 0x00,
-- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88 };
+-const uint8_t kIPv6ProbeAddress[] = {0x20, 0x01, 0x48, 0x60, 0x48, 0x60,
+- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+- 0x00, 0x00, 0x88, 0x88};
++// RIPE NCC k.root-servers.net. 2001:7fd::1 (anycasted)
++const uint8_t kIPv6ProbeAddress[] =
+ { 0x20, 0x01, 0x07, 0xfd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 };
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 788e2c38..a85b504a 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
-@@ -379,9 +379,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
+@@ -394,9 +394,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 f41d108d..313cc9c0 100644
--- a/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
+++ b/build/patches/getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
@@ -34,17 +34,17 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#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,
- }
- DCHECK(fetcher_);
-
+ // 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.
+ // add X/Y noise factors that will be used to mitigate fingerprinting
+ shuffleFactorX_ = base::RandDouble();
+ shuffleFactorY_ = base::RandDouble();
+
- root_scroller_controller_ = RootScrollerController::Create(*this);
-
- // We depend on the url getting immediately set in subframes, but we
-@@ -803,6 +808,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
+ // 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));
}
@@ -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
-@@ -393,6 +393,9 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -392,6 +392,9 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@@ -72,19 +72,19 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
String visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
-@@ -1815,6 +1818,8 @@ class CORE_EXPORT Document : public ContainerNode,
-
- double start_time_;
-
+@@ -1814,6 +1817,8 @@ class CORE_EXPORT Document : public ContainerNode,
+ Vector ax_contexts_;
+ Member ax_object_cache_;
+ Member markers_;
+ double shuffleFactorX_, shuffleFactorY_;
+
- TraceWrapperMember script_runner_;
- HeapVector> current_script_stack_;
+ bool update_focus_appearance_after_layout_ = false;
+
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
-@@ -1222,6 +1222,15 @@ DOMRectList* Element::getClientRects() {
+@@ -1321,6 +1321,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);
}
-@@ -1239,6 +1248,13 @@ DOMRect* Element::getBoundingClientRect() {
+@@ -1338,6 +1347,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
-@@ -1642,11 +1642,27 @@ DOMRectList* Range::getClientRects() const {
+@@ -1643,11 +1643,27 @@ DOMRectList* Range::getClientRects() const {
Vector quads;
GetBorderAndTextQuads(quads);
diff --git a/build/patches/kill-Auth.patch b/build/patches/kill-Auth.patch
index e2631e29..a3607242 100644
--- a/build/patches/kill-Auth.patch
+++ b/build/patches/kill-Auth.patch
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHe
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
-@@ -73,23 +69,7 @@ public class SigninHelper {
+@@ -74,23 +70,7 @@ public class SigninHelper {
@Override
public List getAccountChangeEvents(
Context context, int index, String accountName) {
diff --git a/build/patches/kill-GCM.patch b/build/patches/kill-GCM.patch
index 871baf53..26178d0f 100644
--- a/build/patches/kill-GCM.patch
+++ b/build/patches/kill-GCM.patch
@@ -3,8 +3,8 @@ Date: Fri, 22 Jun 2018 17:11:38 +0200
Subject: kill GCM
---
- build/secondary/third_party/android_tools/BUILD.gn | 3 -
chrome/android/BUILD.gn | 1 -
+ chrome/android/chrome_java_sources.gni | 5 -
chrome/android/java/AndroidManifest.xml | 62 ---------
.../chrome/browser/BackgroundSyncLauncher.java | 97 --------------
.../chrome/browser/ChromeBackgroundService.java | 1 -
@@ -12,7 +12,6 @@ Subject: kill GCM
.../browser/ntp/snippets/SnippetsLauncher.java | 44 -------
.../browser/services/gcm/GCMBackgroundTask.java | 2 +-
.../gcm/InvalidationGcmUpstreamSender.java | 15 ---
- chrome/android/java_sources.gni | 2 -
components/background_task_scheduler/BUILD.gn | 1 -
.../BackgroundTaskSchedulerGcmNetworkManager.java | 146 +--------------------
components/gcm_driver/android/BUILD.gn | 1 -
@@ -22,36 +21,45 @@ Subject: kill GCM
third_party/cacheinvalidation/BUILD.gn | 6 -
.../client/contrib/MultiplexingGcmListener.java | 92 +------------
.../android2/channel/AndroidNetworkChannel.java | 18 +--
- 19 files changed, 15 insertions(+), 526 deletions(-)
+ 18 files changed, 15 insertions(+), 526 deletions(-)
-diff --git a/build/secondary/third_party/android_tools/BUILD.gn b/build/secondary/third_party/android_tools/BUILD.gn
---- a/build/secondary/third_party/android_tools/BUILD.gn
-+++ b/build/secondary/third_party/android_tools/BUILD.gn
-@@ -83,9 +83,6 @@ if (enable_java_templates) {
- testonly = true
- java_files = [ "//third_party/android_tools/sdk/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java" ]
- }
-- android_java_prebuilt("android_gcm_java") {
-- jar_path = "//third_party/android_tools/sdk/extras/google/gcm/gcm-client/dist/gcm.jar"
-- }
- android_java_prebuilt("emma_device_java") {
- jar_path = "//third_party/android_tools/sdk/tools/lib/emma_device.jar"
- include_java_resources = true
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -344,7 +344,6 @@ android_library("chrome_java") {
+@@ -343,7 +343,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",
+- "//third_party/android_sdk:android_gcm_java",
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
-- "//third_party/android_tools:android_gcm_java",
- "//third_party/blink/public:android_mojo_bindings_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/blink/public/mojom:android_mojo_bindings_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
+@@ -22,7 +22,6 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/ChromeActivity.java",
+ "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
+ "java/src/org/chromium/chrome/browser/ChromeApplication.java",
+- "java/src/org/chromium/chrome/browser/ChromeBackgroundService.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",
+@@ -1427,10 +1426,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",
+- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
+- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
+- "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
+- "java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java",
+ "java/src/org/chromium/chrome/browser/sessions/SessionTabHelper.java",
+ "java/src/org/chromium/chrome/browser/share/OptionalShareTargetsManager.java",
+ "java/src/org/chromium/chrome/browser/share/ShareActivity.java",
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
-@@ -75,22 +75,17 @@ by a child template that "extends" this file.
+@@ -72,22 +72,17 @@ by a child template that "extends" this file.
@@ -74,7 +82,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
-@@ -984,47 +979,8 @@ by a child template that "extends" this file.
+@@ -1034,47 +1029,8 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
android:hardwareAccelerated="false" />
@@ -122,7 +130,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
@@ -285,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncL
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
-@@ -115,7 +115,6 @@ public class ChromeBackgroundService extends GcmTaskService {
+@@ -113,7 +113,6 @@ public class ChromeBackgroundService extends GcmTaskService {
@VisibleForTesting
protected void rescheduleBackgroundSyncTasksOnUpgrade() {
@@ -456,25 +464,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/In
}
private boolean isMessageWithinLimit(Bundle data) {
-diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
---- a/chrome/android/java_sources.gni
-+++ b/chrome/android/java_sources.gni
-@@ -31,7 +31,6 @@ chrome_java_sources = [
- "java/src/org/chromium/chrome/browser/ChromeActivity.java",
- "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
- "java/src/org/chromium/chrome/browser/ChromeApplication.java",
-- "java/src/org/chromium/chrome/browser/ChromeBackgroundService.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",
-@@ -1385,7 +1384,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",
-- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
- "java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java",
diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
--- a/components/background_task_scheduler/BUILD.gn
+++ b/components/background_task_scheduler/BUILD.gn
@@ -668,7 +657,7 @@ diff --git a/components/gcm_driver/android/BUILD.gn b/components/gcm_driver/andr
deps = [
"//base:base_java",
"//content/public/android:content_java",
-- "//third_party/android_tools:android_gcm_java",
+- "//third_party/android_sdk:android_gcm_java",
"//third_party/jsr-305:jsr_305_javalib",
]
@@ -781,8 +770,8 @@ diff --git a/components/sync/android/BUILD.gn b/components/sync/android/BUILD.gn
@@ -11,7 +11,6 @@ android_library("sync_java") {
"//components/signin/core/browser/android:java",
"//net/android:net_java",
- "//third_party/android_deps:android_support_annotations_java",
-- "//third_party/android_tools:android_gcm_java",
+ "//third_party/android_deps:com_android_support_support_annotations_java",
+- "//third_party/android_sdk:android_gcm_java",
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
"//third_party/cacheinvalidation:cacheinvalidation_proto_java",
"//third_party/jsr-305:jsr_305_javalib",
@@ -793,7 +782,7 @@ diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidat
"$google_play_services_package:google_play_services_iid_java",
"$google_play_services_package:google_play_services_tasks_java",
"//third_party/android_protobuf:protobuf_nano_javalib",
-- "//third_party/android_tools:android_gcm_java",
+- "//third_party/android_sdk:android_gcm_java",
]
java_files = [
diff --git a/build/patches/kill-TOS-and-metrics-opt-out.patch b/build/patches/kill-TOS-and-metrics-opt-out.patch
index 9110fe39..3555d042 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
-@@ -192,7 +192,6 @@
+@@ -191,7 +191,6 @@
12dp
24dp
120dp
diff --git a/build/patches/kill-Translate.patch b/build/patches/kill-Translate.patch
index 0d40efec..99f995fd 100644
--- a/build/patches/kill-Translate.patch
+++ b/build/patches/kill-Translate.patch
@@ -22,10 +22,10 @@ diff --git a/chrome/android/java/res/xml/languages_preferences.xml b/chrome/andr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
-@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.metrics.UmaUtils;
+@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.datareduction.DataReductionPromoUtils;
+ import org.chromium.chrome.browser.datareduction.DataReductionProxyUma;
+ import org.chromium.chrome.browser.metrics.UmaUtils;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
- import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoUtils;
- import org.chromium.chrome.browser.preferences.datareduction.DataReductionProxyUma;
+import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
diff --git a/build/patches/kill-Vision.patch b/build/patches/kill-Vision.patch
index 3be6e321..9736f3b1 100644
--- a/build/patches/kill-Vision.patch
+++ b/build/patches/kill-Vision.patch
@@ -13,7 +13,7 @@ Barcode, face and text detection APIs
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
-@@ -84,14 +84,10 @@ if (is_android) {
+@@ -86,14 +86,10 @@ if (is_android) {
android_library("shape_detection_java") {
java_files = [
diff --git a/build/patches/safe_browsing-disable-cookie-transmission.patch b/build/patches/safe_browsing-disable-cookie-transmission.patch
index fa88876a..bb945410 100644
--- a/build/patches/safe_browsing-disable-cookie-transmission.patch
+++ b/build/patches/safe_browsing-disable-cookie-transmission.patch
@@ -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
-@@ -772,7 +772,7 @@ void CheckClientDownloadRequest::SendRequest() {
+@@ -777,7 +777,7 @@ void CheckClientDownloadRequest::SendRequest() {
auto resource_request = std::make_unique();
resource_request->url = PPAPIDownloadRequest::GetDownloadRequestUrl();
resource_request->method = "POST";
@@ -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
-@@ -344,8 +344,8 @@ void V4UpdateProtocolManager::IssueUpdateRequest() {
+@@ -373,8 +373,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 0453e1f7..8ca76018 100644
--- a/build/patches/safe_browsing-disable-incident-reporting.patch
+++ b/build/patches/safe_browsing-disable-incident-reporting.patch
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
-@@ -59,8 +59,7 @@ class SafeBrowsingBlockingPageFactoryImpl
+@@ -62,8 +62,7 @@ class SafeBrowsingBlockingPageFactoryImpl
PrefService* prefs =
Profile::FromBrowserContext(web_contents->GetBrowserContext())
->GetPrefs();
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 a9ff51ac..3b7f696c 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
-@@ -1265,10 +1265,8 @@ action("generate_devtools_grd") {
+@@ -1274,10 +1274,8 @@ action("generate_devtools_grd") {
devtools_embedder_scripts +
[ "$resources_out_dir/devtools_extension_api.js" ]
diff --git a/build/patches/ungoogled-chromium-Disable-Gaia.patch b/build/patches/ungoogled-chromium-Disable-Gaia.patch
index ad291d1d..6011024e 100644
--- a/build/patches/ungoogled-chromium-Disable-Gaia.patch
+++ b/build/patches/ungoogled-chromium-Disable-Gaia.patch
@@ -18,7 +18,7 @@ See also: https://github.com/Eloston/ungoogled-chromium/issues/104
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
-@@ -396,7 +396,6 @@
+@@ -392,7 +392,6 @@
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
-@@ -496,7 +495,6 @@
+@@ -492,7 +491,6 @@
@@ -80,7 +80,7 @@ diff --git a/chrome/browser/resources/component_extension_resources.grd b/chrome
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
-@@ -51,7 +51,6 @@ content::WebUIDataSource* CreateWebUIDataSource() {
+@@ -53,7 +53,6 @@ content::WebUIDataSource* CreateWebUIDataSource() {
source->AddResourcePath("inline_login.css", IDR_INLINE_LOGIN_CSS);
source->AddResourcePath("inline_login.js", IDR_INLINE_LOGIN_JS);
diff --git a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
index e4d5cae3..5833de7c 100644
--- a/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
+++ b/build/patches/ungoogled-chromium-Disable-domain-reliability.patch
@@ -71,7 +71,7 @@ diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliabil
diff --git a/components/domain_reliability/bake_in_configs.py b/components/domain_reliability/bake_in_configs.py
--- a/components/domain_reliability/bake_in_configs.py
+++ b/components/domain_reliability/bake_in_configs.py
-@@ -489,7 +489,7 @@ def origin_is_whitelisted(origin):
+@@ -490,7 +490,7 @@ def origin_is_whitelisted(origin):
domain = origin[8:-1]
else:
return False
diff --git a/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch b/build/patches/ungoogled-chromium-Disable-profile-avatar-downloading.patch
index 62f684f3..676aa32a 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
-@@ -1364,8 +1364,6 @@ jumbo_split_static_library("browser") {
+@@ -1363,8 +1363,6 @@ jumbo_split_static_library("browser") {
"profiles/profile_attributes_entry.h",
"profiles/profile_attributes_storage.cc",
"profiles/profile_attributes_storage.h",
diff --git a/build/patches/ungoogled-chromium-Disable-safe-browsing.patch b/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
index 17f692b5..afc6f4f0 100644
--- a/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
+++ b/build/patches/ungoogled-chromium-Disable-safe-browsing.patch
@@ -40,7 +40,7 @@ Subject: ungoogled-chromium: Disable safe browsing
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -2800,8 +2800,6 @@ jumbo_split_static_library("browser") {
+@@ -2828,8 +2828,6 @@ jumbo_split_static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",
@@ -98,9 +98,9 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
#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/status_icons/status_tray.h"
- #include "chrome/browser/ui/browser_dialogs.h"
-@@ -369,8 +368,6 @@ void BrowserProcessImpl::StartTearDown() {
+ #include "chrome/browser/site_isolation/prefs_observer.h"
+ #include "chrome/browser/startup_data.h"
+@@ -386,8 +385,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();
-@@ -992,22 +989,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
+@@ -1008,22 +1005,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
return status_tray_.get();
}
@@ -132,7 +132,7 @@ 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_);
-@@ -1292,16 +1273,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
+@@ -1311,16 +1292,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
#endif
}
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
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
-@@ -172,9 +172,6 @@ class BrowserProcessImpl : public BrowserProcess,
+@@ -173,9 +173,6 @@ class BrowserProcessImpl : public BrowserProcess,
void set_background_mode_manager_for_test(
std::unique_ptr manager) override;
StatusTray* status_tray() override;
@@ -162,7 +162,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()
-@@ -320,9 +317,6 @@ class BrowserProcessImpl : public BrowserProcess,
+@@ -321,9 +318,6 @@ class BrowserProcessImpl : public BrowserProcess,
std::unique_ptr background_mode_manager_;
#endif
@@ -175,7 +175,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
-@@ -646,36 +646,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
+@@ -639,36 +639,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CONTENT_SETTINGS_TYPE_CLIENT_HINTS, base::Time(), base::Time::Max(),
website_settings_filter);
@@ -215,7 +215,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
-@@ -861,30 +861,6 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
+@@ -887,30 +887,6 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
GetIOThreadApplicationLocale() = locale;
}
@@ -246,7 +246,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;
-@@ -2090,7 +2066,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
+@@ -2120,7 +2096,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 +255,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
command_line->AppendSwitch(
switches::kDisableClientSidePhishingDetection);
}
-@@ -2719,7 +2695,7 @@ void ChromeContentBrowserClient::AllowCertificateError(
+@@ -2779,7 +2755,7 @@ void ChromeContentBrowserClient::AllowCertificateError(
SSLErrorHandler::HandleSSLError(
web_contents, cert_error, ssl_info, request_url,
expired_previous_decision,
@@ -264,7 +264,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
callback, SSLErrorHandler::BlockingPageReadyCallback());
}
-@@ -3004,8 +2980,6 @@ bool ChromeContentBrowserClient::CanCreateWindow(
+@@ -3066,8 +3042,6 @@ bool ChromeContentBrowserClient::CanCreateWindow(
void ChromeContentBrowserClient::ResourceDispatcherHostCreated() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -273,7 +273,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();
-@@ -4243,7 +4217,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
+@@ -4340,7 +4314,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
if (base::FeatureList::IsEnabled(features::kSSLCommittedInterstitials)) {
throttles.push_back(std::make_unique(
handle,
@@ -309,7 +309,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
-@@ -327,13 +327,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
+@@ -319,13 +319,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
download_manager_ = dm;
@@ -323,7 +323,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
#if defined(OS_ANDROID)
-@@ -644,16 +637,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
+@@ -636,16 +629,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
base::FilePath* filename) {
@@ -356,7 +356,7 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc
--- a/chrome/browser/download/download_prefs.cc
+++ b/chrome/browser/download/download_prefs.cc
-@@ -219,14 +219,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) {
+@@ -224,14 +224,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) {
base::FilePath::StringType(1, base::FilePath::kExtensionSeparator) +
extension);
@@ -428,7 +428,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"
-@@ -1305,9 +1304,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
+@@ -1304,9 +1303,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
@@ -438,7 +438,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_));
-@@ -1345,40 +1341,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
+@@ -1344,40 +1340,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
return;
}
RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@@ -654,7 +654,7 @@ diff --git a/chrome/browser/extensions/blacklist_state_fetcher.h b/chrome/browse
diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
--- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
-@@ -289,8 +289,7 @@ void NotifyUIThreadOfRequestComplete(
+@@ -290,8 +290,7 @@ void NotifyUIThreadOfRequestComplete(
} // namespace
ChromeResourceDispatcherHostDelegate::ChromeResourceDispatcherHostDelegate()
@@ -664,7 +664,7 @@ diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b
ChromeResourceDispatcherHostDelegate::~ChromeResourceDispatcherHostDelegate() {
#if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -304,8 +303,6 @@ void ChromeResourceDispatcherHostDelegate::RequestBeginning(
+@@ -305,8 +304,6 @@ void ChromeResourceDispatcherHostDelegate::RequestBeginning(
content::AppCacheService* appcache_service,
ResourceType resource_type,
std::vector>* throttles) {
@@ -676,7 +676,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
-@@ -718,9 +718,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
+@@ -695,9 +695,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
metrics_service_->RegisterMetricsProvider(
std::make_unique());
@@ -702,7 +702,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
-@@ -237,7 +237,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -238,7 +238,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
CaptivePortalServiceFactory::GetInstance();
#endif
@@ -713,7 +713,7 @@ 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
-@@ -563,18 +563,6 @@ ProfileImpl::ProfileImpl(
+@@ -562,18 +562,6 @@ ProfileImpl::ProfileImpl(
create_mode == CREATE_MODE_SYNCHRONOUS);
#endif
@@ -732,7 +732,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
content::BrowserContext::Initialize(this, path_);
{
-@@ -583,7 +571,7 @@ ProfileImpl::ProfileImpl(
+@@ -582,7 +570,7 @@ ProfileImpl::ProfileImpl(
->CreateDelegate();
delegate->InitPrefRegistry(pref_registry_.get());
prefs_ = chrome_prefs::CreateProfilePrefs(
@@ -799,7 +799,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
-@@ -186,77 +186,6 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
+@@ -195,77 +195,6 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
security_state::MaliciousContentStatus
SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -827,7 +827,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
- case safe_browsing::SB_THREAT_TYPE_URL_UNWANTED:
- return security_state::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE;
- case safe_browsing::SB_THREAT_TYPE_SIGN_IN_PASSWORD_REUSE:
--#if defined(SAFE_BROWSING_DB_LOCAL)
+-#if defined(FULL_SAFE_BROWSING)
- if (safe_browsing::ChromePasswordProtectionService::
- ShouldShowPasswordReusePageInfoBubble(
- web_contents(),
@@ -841,7 +841,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
- return security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
-#endif
- case safe_browsing::SB_THREAT_TYPE_ENTERPRISE_PASSWORD_REUSE:
--#if defined(SAFE_BROWSING_DB_LOCAL)
+-#if defined(FULL_SAFE_BROWSING)
- if (safe_browsing::ChromePasswordProtectionService::
- ShouldShowPasswordReusePageInfoBubble(
- web_contents(),
@@ -904,8 +904,8 @@ 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
-@@ -2461,7 +2461,6 @@ jumbo_split_static_library("ui") {
- "views/cookie_info_view.h",
+@@ -2514,7 +2514,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",
- "views/download/download_danger_prompt_views.cc",
@@ -935,7 +935,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#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"
-@@ -201,10 +201,10 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -198,10 +198,10 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
web_contents,
autofill::ChromeAutofillClient::FromWebContents(web_contents));
@@ -950,7 +950,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);
-@@ -244,10 +244,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -242,10 +242,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PreviewsUITabHelper::CreateForWebContents(web_contents);
RecentlyAudibleHelper::CreateForWebContents(web_contents);
ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
@@ -963,7 +963,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())
-@@ -297,7 +295,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -295,7 +293,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents, std::make_unique());
PluginObserver::CreateForWebContents(web_contents);
SadTabHelper::CreateForWebContents(web_contents);
@@ -971,7 +971,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
+ //safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
SearchTabHelper::CreateForWebContents(web_contents);
TabDialogs::CreateForWebContents(web_contents);
- web_modal::WebContentsModalDialogManager::CreateForWebContents(web_contents);
+ if (base::FeatureList::IsEnabled(features::kTabHoverCardImages))
diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
--- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
@@ -1036,15 +1036,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
-@@ -39,7 +39,7 @@ const base::Feature kForceEnableResetPasswordWebUI{
- "ForceEnableResetPasswordWebUI", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -43,7 +43,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_DISABLED_BY_DEFAULT};
+ "SafeBrowsingTelemetryForApkDownloads", base::FEATURE_ENABLED_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-translate-integration.patch b/build/patches/ungoogled-chromium-Disable-translate-integration.patch
index 86ddde99..d1ee8e1a 100644
--- a/build/patches/ungoogled-chromium-Disable-translate-integration.patch
+++ b/build/patches/ungoogled-chromium-Disable-translate-integration.patch
@@ -10,7 +10,7 @@ Subject: ungoogled-chromium: Disable translate integration
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
-@@ -704,8 +704,9 @@ void TranslateManager::FilterIsTranslatePossible(
+@@ -670,8 +670,9 @@ void TranslateManager::FilterIsTranslatePossible(
TranslateBrowserMetrics::INITIATION_STATUS_NO_NETWORK);
}
diff --git a/build/patches/updater-disable-updater-pings.patch b/build/patches/updater-disable-updater-pings.patch
index 1c6b3451..3ca043a0 100644
--- a/build/patches/updater-disable-updater-pings.patch
+++ b/build/patches/updater-disable-updater-pings.patch
@@ -14,23 +14,22 @@ Chromium would still send background requests. Kill it.
diff --git a/components/component_updater/component_updater_url_constants.cc b/components/component_updater/component_updater_url_constants.cc
--- a/components/component_updater/component_updater_url_constants.cc
+++ b/components/component_updater/component_updater_url_constants.cc
-@@ -15,10 +15,10 @@ namespace component_updater {
+@@ -15,9 +15,9 @@ namespace component_updater {
// The value of |kDefaultUrlSource| can be overridden with
// --component-updater=url-source=someurl.
- const char kUpdaterDefaultUrl[] =
-- "https://update.googleapis.com/service/update2";
-+ "about:blank";
-
- const char kUpdaterFallbackUrl[] =
-- "http://update.googleapis.com/service/update2";
-+ "about:blank";
-
const char kUpdaterJSONDefaultUrl[] =
- "https://update.googleapis.com/service/update2/json";
+- "https://update.googleapis.com/service/update2/json";
++ "about:blank";
+
+ const char kUpdaterJSONFallbackUrl[] =
+- "http://update.googleapis.com/service/update2/json";
++ "about:blank";
+
+ } // namespace component_updater
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
--- a/components/component_updater/configurator_impl.cc
+++ b/components/component_updater/configurator_impl.cc
-@@ -49,8 +49,7 @@ ConfiguratorImpl::ConfiguratorImpl(
+@@ -42,8 +42,7 @@ ConfiguratorImpl::ConfiguratorImpl(
: background_downloads_enabled_(config_policy.BackgroundDownloadsEnabled()),
deltas_enabled_(config_policy.DeltaUpdatesEnabled()),
fast_update_(config_policy.FastUpdate()),
@@ -40,10 +39,10 @@ diff --git a/components/component_updater/configurator_impl.cc b/components/comp
url_source_override_(config_policy.UrlSourceOverride()),
initial_delay_(config_policy.InitialDelay()) {
if (config_policy.TestRequest()) {
-@@ -89,8 +88,6 @@ std::vector ConfiguratorImpl::UpdateUrl() const {
- GURL(kUpdaterJSONFallbackUrl)}
- : std::vector{GURL(kUpdaterDefaultUrl),
- GURL(kUpdaterFallbackUrl)};
+@@ -78,8 +77,6 @@ std::vector ConfiguratorImpl::UpdateUrl() const {
+
+ std::vector urls{GURL(kUpdaterJSONDefaultUrl),
+ GURL(kUpdaterJSONFallbackUrl)};
- if (require_encryption_)
- update_client::RemoveUnsecureUrls(&urls);
diff --git a/build/patches_list.txt b/build/patches_list.txt
index d64615f9..568f72e8 100644
--- a/build/patches_list.txt
+++ b/build/patches_list.txt
@@ -106,10 +106,11 @@ Add-flag-to-disable-IPv6-probes.patch
Add-a-proxy-configuration-page.patch
Do-not-ignore-download-location-prompt-setting.patch
Disable-previews-by-default.patch
-Rollback-android-minSdkVersion-from-19-KitKat-to-16-JellyBean.patch
+Rollback-android-minSdkVersion-from-19-KitKat-to-17-JellyBean.patch
Use-4-tile-rows-never-show-logo.patch
Disable-metrics-collection-for-NTP-tiles.patch
Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
Use-64-bit-WebView-processes.patch
Add-option-to-use-home-page-as-NTP.patch
Enable-night-mode-menu-entry-by-default.patch
+Disable-dynamic-module-loading.patch