Release 83.0.4103.46

This commit is contained in:
csagan5 2020-05-12 20:30:22 +02:00
parent a947b8dd16
commit 511f5347bc
121 changed files with 131645 additions and 229502 deletions

View file

@ -1,3 +1,13 @@
# 83.0.4103.46
* add zh_CN missing translations (fixes https://github.com/bromite/bromite/issues/546)
* change default mode for WebRTC (fixes https://github.com/bromite/bromite/issues/553)
* add flag to allow screenshots of incognito tabs (fixes https://github.com/bromite/bromite/issues/551https://github.com/bromite/bromite/issues/551)
* reintroduced patches for disabling AImageReader
* drop patch to disable QUIC by default
* drop patch for DoH minimum timeout (upstream also implemented it)
* dropped patch for removal of support of CCT dynamic modules (upstream also removed it)
* removed upstream patch for SD card not found issue (upstream merged it)
# 81.0.4044.127
* fix always-incognito crashes (https://github.com/bromite/bromite/issues/135 and https://github.com/bromite/bromite/pull/529)
* improved crash uploader mock by calling done callback

View file

@ -17,7 +17,7 @@ enable_mse_mpeg2ts_stream_parser=true ffmpeg_branding="Chrome" proprietary_codec
enable_nacl=false
enable_nacl_nonsfi=false
enable_remoting=false
enable_reporting=false
enable_reporting=true
enable_resource_whitelist_generation=false
enable_vr=false
fieldtrial_testing_like_official_build=true
@ -34,5 +34,5 @@ use_debug_fission=true
use_errorprone_java_compiler=false
use_jumbo_build=false
use_official_google_api_keys=false
use_openh264=true chrome_pgo_phase=0 full_wpo_on_official=true
use_openh264=true chrome_pgo_phase=0
use_sysroot=false

View file

@ -1,5 +1,5 @@
Disable-third-party-cookies-by-default.patch
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-pre-unified-consent-code.patch
Restore-classic-new-tab-page.patch
Always-use-new-tab-page-for-default-home-page.patch
Always-allow-partner-customisation.patch
@ -11,18 +11,18 @@ Remove-EV-certificates.patch
promo-disable-Google-promotion-fetching.patch
Disable-omission-of-URL-elements-in-Omnibox.patch
Modify-default-preferences.patch
Do-not-hide-component-extensions.patch
Do-not-store-passwords-by-default.patch
Disable-NTP-remote-suggestions-by-default.patch
Disable-references-to-fonts.googleapis.com.patch
Disable-WebRTC-by-default.patch
Change-default-webRTC-policy-to-cover-CCT-tabs-leaks.patch
Change-default-webRTC-policy-to-not-use-any-address.patch
Never-send-any-crash-upload-data.patch
Hide-send-reports-checkbox.patch
Never-fetch-popular-sites.patch
ungoogled-chromium-Disable-webRTC-log-uploader.patch
ungoogled-chromium-Disable-untraceable-URLs.patch
ungoogled-chromium-Disable-translate-integration.patch
ungoogled-chromium-Disable-profile-avatar-downloading.patch
ungoogled-chromium-Disable-profile-avatar.patch
ungoogled-chromium-Disable-intranet-redirect-detector.patch
ungoogled-chromium-Disable-Google-host-detection.patch
ungoogled-chromium-Disable-GCM.patch
@ -46,13 +46,13 @@ Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
build-remove-calling-untrusted-hooks.patch
AV1-codec-support.patch
Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch
Inject-scripts-for-AMP-tracking-ads-and-video.patch
Allow-playing-audio-in-background.patch
Add-flag-to-control-video-playback-resume-feature.patch
Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch
Remove-help-menu-item.patch
AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
AudioBuffer-AnalyserNode-fp-mitigations.patch
Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
Add-flags-to-disable-device-motion-and-orientation-APIs.patch
Disable-metrics-on-all-I-O-threads.patch
@ -84,11 +84,12 @@ kill-GCM.patch
Remove-dependency-on-com.google.android.gcm.patch
Remove-dependency-on-com.google.android.gms.gcm.patch
Remove-dependency-on-com.google.android.play.patch
Remove-dependency-on-com.google.android.gms.vision-com.google.android.gms.clearcut-com.google.android.gms.phenotype.patch
Remove-dependency-on-com.google.android.gms.flags-com.google.android.gms.location.places-com.google.android.gms.stats.patch
Remove-dependency-on-com.google.android.gms.fido-com.google.android.gms.iid-com.google.android.gms.instantapps-com.google.android.gms.location.patch
Remove-dependency-on-vision-clearcut-and-phenotype.patch
Remove-dependency-on-flags-places-and-stats.patch
Remove-dependency-on-fido-iid-instantapps-and-location.patch
Remove-dependency-on-com.google.android.gms.cast.patch
Remove-dependency-on-com.google.android.gms.common-auth-signin-dynamic-com.google.android.gms.tasks.patch
Remove-dependency-on-auth-signin-dynamic-and-tasks.patch
Remove-google_services_gcm.patch
Remove-SMS-integration.patch
Do-not-compile-QR-code-sharing.patch
Allow-website-sign-in-without-account-sign-in.patch
@ -101,7 +102,6 @@ Disable-previews-by-default.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
Disable-dynamic-module-loading.patch
prefs-disable-signinallowed-by-default.patch
prefs-always-prompt-for-download-directory-by-default.patch
Disable-offline-pages-in-the-downloads-home-to-be-opened-in-CCT-by-default.patch
@ -128,16 +128,17 @@ Use-dummy-DFM-installer.patch
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
Disable-autofill-assistant-by-default.patch
Always-show-site-settings-for-cookies-javascript-and-ads.patch
Do-not-enable-QUIC-by-default.patch
Show-site-settings-for-cookies-javascript-and-ads.patch
Restore-enable-horizontal-tab-switcher-flag.patch
Use-a-minimum-DoH-timeout-of-400ms.patch
Disable-DRM-media-origin-IDs-preprovisioning.patch
Disable-smart-selection-by-default.patch
Enable-user-agent-freeze-by-default.patch
Disable-AImageReader-for-ARM64-P-and-ARM64-Q.patch
Upstream-internal-DownloadCollectionBridge-code.patch
Add-missing-android_provider.patch
show-download-prompt-again-by-default.patch
disable-browser-autologin-by-default.patch
Revert-gpu-android-Remove-setup-for-disabling-AImageReader.patch
Revert-Remove-flags-to-enable-disable-AImageReader.patch
Disable-AImageReader-for-ARM64-P-and-ARM64-Q.patch
Restore-GPU-bug-blacklist-for-AImageReader-on-ARM-CPUs.patch
Update-i18n-zh_CN-support.patch
Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch
Automated-domain-substitution.patch

View file

@ -1,4 +1,4 @@
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-pre-unified-consent-code.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch

View file

@ -43,16 +43,16 @@ diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
--- a/third_party/libaom/BUILD.gn
+++ b/third_party/libaom/BUILD.gn
@@ -74,7 +74,7 @@ if (enable_libaom_decoder) {
sources = aom_dsp_common_asm_sse2
sources += aom_dsp_common_asm_ssse3
sources += aom_ports_asm_x86
@@ -82,7 +82,7 @@ if (enable_libaom) {
sources += aom_dsp_encoder_asm_ssse3_x86_64
sources += aom_dsp_encoder_avx_asm_x86_64
}
- defines = [ "CHROMIUM" ]
+ defines = [ "CHROMIUM", "PIC" ]
include_dirs = libaom_include_dirs
}
@@ -158,7 +158,7 @@ if (enable_libaom_decoder) {
@@ -184,7 +184,7 @@ if (enable_libaom) {
configs += [ "//build/config/compiler:no_chromium_code" ]
if (current_cpu == "arm") {
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
@ -61,7 +61,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
}
configs += [ ":libaom_config" ]
@@ -202,6 +202,8 @@ if (enable_libaom_decoder) {
@@ -233,6 +233,8 @@ if (enable_libaom) {
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
cpu_arch_full == "arm-neon-cpu-detect") {
deps += [ ":libaom_intrinsics_neon" ]
@ -73,7 +73,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni
--- a/third_party/libaom/libaom_srcs.gni
+++ b/third_party/libaom/libaom_srcs.gni
@@ -488,6 +488,11 @@ aom_mem_sources = [
@@ -645,6 +645,11 @@ aom_mem_sources = [
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/emms.asm" ]
@ -84,151 +84,151 @@ diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs
+
aom_rtcd_sources = [
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd_defs.pl",
"//third_party/libaom/source/libaom/aom_scale/aom_scale_rtcd.c",
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
@@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_ONE_PASS_SVM equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0
CONFIG_REALTIME_ONLY equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
@@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_ONE_PASS_SVM equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0
CONFIG_REALTIME_ONLY equ 0
CONFIG_RUNTIME_CPU_DETECT equ 0
CONFIG_SHARED equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 0
#define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
@@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_ONE_PASS_SVM equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0
CONFIG_REALTIME_ONLY equ 0
CONFIG_RUNTIME_CPU_DETECT equ 0
CONFIG_SHARED equ 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 0
#define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
@@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_ONE_PASS_SVM equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0
CONFIG_REALTIME_ONLY equ 0
CONFIG_RUNTIME_CPU_DETECT equ 0
CONFIG_SHARED equ 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 0
#define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
@@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_ONE_PASS_SVM equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RD_DEBUG equ 0
CONFIG_REALTIME_ONLY equ 0
CONFIG_RUNTIME_CPU_DETECT equ 1
CONFIG_SHARED equ 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
@@ -35,7 +35,7 @@
@@ -34,7 +34,7 @@
%define CONFIG_NN_V2 0
%define CONFIG_NORMAL_TILE_MODE 1
%define CONFIG_ONE_PASS_SVM 0
%define CONFIG_OS_SUPPORT 1
-%define CONFIG_PIC 0
+%define CONFIG_PIC 1
%define CONFIG_RD_DEBUG 0
%define CONFIG_REALTIME_ONLY 0
%define CONFIG_RUNTIME_CPU_DETECT 1
%define CONFIG_SHARED 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
@@ -47,7 +47,7 @@
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_ONE_PASS_SVM 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 0
#define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0
--
2.17.1

View file

@ -0,0 +1,101 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 May 2020 08:33:15 +0200
Subject: Add a flag to allow screenshots in Incognito mode
See also:
* https://github.com/bromite/bromite/issues/551
* https://bugs.chromium.org/p/chromium/issues/detail?id=920762
---
chrome/browser/about_flags.cc | 6 ++++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
.../flags/android/java_templates/ChromeSwitches.java.tmpl | 4 ----
chrome/common/chrome_switches.cc | 3 +++
chrome/common/chrome_switches.h | 1 +
6 files changed, 18 insertions(+), 4 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
@@ -4124,6 +4124,12 @@ const FeatureEntry kFeatureEntries[] = {
kOsAll,
FEATURE_VALUE_TYPE(features::kEnableAmbientAuthenticationInIncognito)},
+#if defined(OS_ANDROID)
+ {switches::kEnableIncognitoSnapshotsInAndroidRecents, flag_descriptions::kEnableIncognitoSnapshotsInAndroidRecentsName,
+ flag_descriptions::kEnableIncognitoSnapshotsInAndroidRecentsDescription, kOsAndroid,
+ SINGLE_VALUE_TYPE(switches::kEnableIncognitoSnapshotsInAndroidRecents)},
+#endif
+
{"enable-ambient-authentication-in-guest-session",
flag_descriptions::kEnableAmbientAuthenticationInGuestSessionName,
flag_descriptions::kEnableAmbientAuthenticationInGuestSessionDescription,
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
@@ -432,6 +432,11 @@ const char kEnableAmbientAuthenticationInIncognitoDescription[] =
"Enables ambient authentication in Incognito mode. This flag may be "
"overriden by policies.";
+const char kEnableIncognitoSnapshotsInAndroidRecentsName[] =
+ "Enable Incognito snapshots in Android Recents";
+const char kEnableIncognitoSnapshotsInAndroidRecentsDescription[] =
+ "Enable the secure flag for Incognito tabs which prevent taking screenshots and seeing snapshots in Android Recents.";
+
const char kEnableAmbientAuthenticationInGuestSessionName[] =
"Enable Ambient Authentication in Guest session.";
const char kEnableAmbientAuthenticationInGuestSessionDescription[] =
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
@@ -270,6 +270,9 @@ extern const char kEnableAccessibilityObjectModelDescription[];
extern const char kEnableAmbientAuthenticationInIncognitoName[];
extern const char kEnableAmbientAuthenticationInIncognitoDescription[];
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsName[];
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsDescription[];
+
extern const char kEnableAmbientAuthenticationInGuestSessionName[];
extern const char kEnableAmbientAuthenticationInGuestSessionDescription[];
diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
--- a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
+++ b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
@@ -144,10 +144,6 @@ public abstract class ChromeSwitches {{
/** Switch for enabling the Chrome Survey. */
public static final String CHROME_FORCE_ENABLE_SURVEY = "force-enable-chrome-survey";
- /** Switch to enable incognito tabs to be seen in Android Recents. */
- public static final String ENABLE_INCOGNITO_SNAPSHOTS_IN_ANDROID_RECENTS =
- "enable-incognito-snapshots-in-android-recents";
-
/** Open all custom tabs in a new task. Used only for experimental purposes. */
public static final String OPEN_CUSTOM_TABS_IN_NEW_TASK = "open-custom-tabs-in-new-task";
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -343,6 +343,9 @@ const char kHomePage[] = "homepage";
// Causes the browser to launch directly in incognito mode.
const char kIncognito[] = "incognito";
+// Allows incognito tabs to be seen in Android Recents and thus user screenshots.
+const char kEnableIncognitoSnapshotsInAndroidRecents[] = "enable-incognito-snapshots-in-android-recents";
+
// Installs an autogenerated theme based on the given RGB value.
// The format is "r,g,b", where r, g, b are a numeric values from 0 to 255.
const char kInstallAutogeneratedTheme[] = "install-autogenerated-theme";
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -108,6 +108,7 @@ extern const char kForceFirstRun[];
extern const char kForceStackedTabStripLayout[];
extern const char kHomePage[];
extern const char kIncognito[];
+extern const char kEnableIncognitoSnapshotsInAndroidRecents[];
extern const char kInstallAutogeneratedTheme[];
extern const char kInstallChromeApp[];
extern const char kInstallSupervisedUserWhitelists[];
--
2.17.1

View file

@ -57,7 +57,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:key="proxy"
+ android:title="@string/proxy_title"
+ app:url="@string/proxy_url" />
<org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
<org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
android:key="search_suggestions"
android:title="@string/search_suggestions_title"
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@ -75,23 +75,23 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
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
@@ -117,6 +117,12 @@
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
@@ -110,6 +110,12 @@
<include name="IDR_OFFLINE_INTERNALS_BROWSER_PROXY_JS" file="resources\offline_pages\offline_internals_browser_proxy.js" type="BINDATA" compress="gzip" />
</if>
+ <!-- Bromite Proxy Configuration UI. -->
+ <!-- Bromite Proxy Configuration UI -->
+ <if expr="is_android">
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
+ </if>
+
<!-- App Management. -->
<if expr="chromeos">
<include name="IDR_APP_MANAGEMENT_BITMAP_MOJO_LITE_JS" file="${root_gen_dir}\skia\public\mojom\bitmap.mojom-lite.js" compress="gzip" use_base_dir="false" type="BINDATA" />
<if expr="not is_android">
<!-- New Tab Page -->
<part file="resources/local_ntp/icons.grdp" />
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -152,7 +152,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
@@ -156,7 +156,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
@ -521,7 +521,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -58,6 +58,7 @@
@@ -60,6 +60,7 @@
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy_ui.h"
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
@ -529,7 +529,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
#include "chrome/browser/ui/webui/settings/settings_ui.h"
#include "chrome/browser/ui/webui/settings_utils.h"
@@ -409,6 +410,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -430,6 +431,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@ -980,7 +980,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -189,6 +189,8 @@ const char kChromeUINativePhysicalWebDiagnosticsURL[] =
const char kChromeUINativeScheme[] = "chrome-native";
"chrome-native://physical-web-diagnostics/";
const char kChromeUIOfflineInternalsHost[] = "offline-internals";
const char kChromeUIPhysicalWebDiagnosticsHost[] = "physical-web-diagnostics";
+const char kChromeUIProxyConfigHost[] = "proxy";
@ -988,15 +988,15 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUISnippetsInternalsHost[] = "snippets-internals";
const char kChromeUIWebApksHost[] = "webapks";
#endif
@@ -472,6 +474,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kResetSubPage,
@@ -490,6 +492,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kPowerSubPage,
kSmartLockSettingsSubPage,
kSmbSharesSubPage,
+ kChromeUIProxyConfigHost,
kStorageSubPage,
kStylusSubPage,
kSwitchAccessSubPage,
@@ -577,6 +580,7 @@ const char* const kChromeHostURLs[] = {
@@ -592,6 +595,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !defined(OS_CHROMEOS)
kChromeUIAppLauncherPageHost,
@ -1007,7 +1007,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -106,6 +106,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -116,6 +116,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];

View file

@ -13,14 +13,14 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../chrome/browser/ChromeActivity.java | 4 +
.../chrome/browser/ChromeTabbedActivity.java | 6 +-
.../AppMenuPropertiesDelegateImpl.java | 6 ++
.../ChromeContextMenuPopulator.java | 9 ++-
.../ChromeContextMenuPopulator.java | 8 +-
.../CustomTabIntentDataProvider.java | 6 ++
.../browser/init/StartupTabPreloader.java | 11 ++-
.../browser/tabmodel/ChromeTabCreator.java | 20 ++++-
.../browser/tabmodel/ChromeTabCreator.java | 16 +++-
.../browser/tabmodel/TabPersistentStore.java | 9 +++
.../flags/android/chrome_feature_list.cc | 2 +-
.../strings/android_chrome_strings.grd | 7 ++
13 files changed, 152 insertions(+), 8 deletions(-)
13 files changed, 147 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@ -41,13 +41,13 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
android:title="@string/preload_pages_title"
android:summary="@string/preload_pages_summary"
android:persistent="false" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="always_incognito"
+ android:title="@string/always_incognito_title"
+ android:summary="@string/always_incognito_summary"
+ android:defaultValue="false" />
<Preference
android:fragment="org.chromium.chrome.browser.settings.privacy.DoNotTrackSettings"
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
new file mode 100644
@ -131,7 +131,7 @@ new file mode 100644
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
@@ -54,6 +54,7 @@ import org.chromium.base.metrics.RecordUserAction;
@@ -51,6 +51,7 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.chrome.R;
@ -139,7 +139,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegateImpl;
@@ -1545,6 +1546,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1478,6 +1479,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -1570,8 +1571,9 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -1536,8 +1537,9 @@ public class ChromeTabbedActivity
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@ -171,11 +171,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ && savedInstanceState.getBoolean("is_incognito_selected", false));
int index = savedInstanceState != null ? savedInstanceState.getInt(WINDOW_INDEX, 0) : 0;
mTabModelSelectorImpl = (TabModelSelectorImpl)
mTabModelSelectorImpl =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -293,6 +293,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -306,6 +306,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
ChromeSwitches.ENABLE_VR_SHELL_DEV));
}
@ -187,39 +187,38 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
+
// We have to iterate all menu items since same menu item ID may be associated with more
// than one menu items.
boolean isMenuGroupTabsVisible = FeatureUtilities.isTabGroupsAndroidUiImprovementsEnabled()
boolean isMenuGroupTabsVisible = TabUiFeatureUtilities.isTabGroupsAndroidEnabled()
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -19,7 +19,9 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.library_loader.LibraryProcessType;
@@ -18,7 +18,9 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.supplier.Supplier;
+import org.chromium.base.ContextUtils;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabPanel;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuParams.PerformanceClass;
@@ -329,7 +331,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && mMode == ContextMenuMode.NORMAL
&& !isEmptyUrl(params.getUrl())
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -337,7 +339,11 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(params.getUrl())
&& UrlUtilities.isAcceptedScheme(params.getUrl())) {
- linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ && !mDelegate.isIncognito()) {
+ // disallow open in new tab
+ } else
+ linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
+
if (!mDelegate.isIncognito() && mDelegate.isIncognitoSupported()) {
linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_INCOGNITO_TAB));
}
if (mMode == ContextMenuMode.NORMAL) {
- linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ && !mDelegate.isIncognito()) {
+ // disallow open in new tab
+ } else
+ linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
if (!mDelegate.isIncognito() && mDelegate.isIncognitoSupported()) {
linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_INCOGNITO_TAB));
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -54,6 +54,9 @@ import org.chromium.components.browser_ui.styles.ChromeColors;
import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -49,6 +49,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.ui.util.ColorUtils;
+import org.chromium.base.ContextUtils;
@ -228,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -456,6 +459,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -395,6 +398,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// TODO(https://crbug.com/1023759): Remove this function and enable
// incognito CCT request for all apps.
private boolean isValidIncognitoIntent(Intent intent) {
@ -241,9 +240,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
@@ -35,6 +35,9 @@ import org.chromium.network.mojom.ReferrerPolicy;
import org.chromium.ui.base.PageTransition;
@@ -36,6 +36,9 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
@ -251,9 +250,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
/**
* This class attempts to preload the tab if the url is known from the intent when the profile
* is created. This is done to improve startup latency.
@@ -173,9 +176,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
@@ -174,9 +177,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
Intent intent = mIntentSupplier.get();
String url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
+ boolean isIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false);
+
@ -263,9 +262,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
+ (ChromeTabCreator) mTabCreatorManager.getTabCreator(isIncognito);
+ WebContents webContents = WebContentsFactory.createWebContents(isIncognito, false);
mLoadUrlParams = new LoadUrlParams(url);
mLoadUrlParams = new LoadUrlParams(url.getValidSpecOrEmpty());
String referrer = IntentHandler.getReferrerUrlIncludingExtraHeaders(intent);
@@ -189,7 +194,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
@@ -190,7 +195,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
// Create a detached tab, but don't add it to the tab model yet. We'll do that
// later if the loadUrlParams etc... match.
mTab = TabBuilder.createLiveTab(false)
@ -277,26 +276,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -9,8 +9,10 @@ import android.text.TextUtils;
import androidx.annotation.Nullable;
@@ -37,6 +37,10 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
+import org.chromium.base.ContextUtils;
import org.chromium.base.SysUtils;
import org.chromium.base.TraceEvent;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.IntentHandler;
@@ -20,6 +22,7 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabAssociatedApp;
import org.chromium.chrome.browser.tab.TabBuilder;
+import org.chromium.chrome.browser.tab.TabObserver;
import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabLaunchType;
import org.chromium.chrome.browser.tab.TabParentIntent;
@@ -43,6 +46,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
+
/**
* This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
*/
@@ -55,6 +59,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
private final ChromeActivity mActivity;
private final StartupTabPreloader mStartupTabPreloader;
private final boolean mIncognito;
@ -304,7 +295,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
private WindowAndroid mNativeWindow;
private TabModel mTabModel;
@@ -57,6 +61,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -72,6 +77,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
mNativeWindow = nativeWindow;
mTabDelegateFactorySupplier = tabDelegateFactory;
mIncognito = incognito;
@ -312,53 +303,48 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
+ mExtraLogic = new AlwaysIncognitoLinkInterceptor(ContextUtils.getAppSharedPreferences());
+ else
+ mExtraLogic = null;
mOverviewNTPCreator = overviewNTPCreator;
}
@Override
@@ -195,6 +203,9 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
tab.getWebContents());
@@ -224,6 +233,8 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
if (creationState == TabCreationState.LIVE_IN_FOREGROUND && !openInForeground) {
creationState = TabCreationState.LIVE_IN_BACKGROUND;
}
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+
mTabModel.addTab(tab, position, type);
mTabModel.addTab(tab, position, type, creationState);
return tab;
} finally {
@@ -226,6 +237,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.setDelegateFactory(delegateFactory)
.setInitiallyHidden(!openInForeground)
.build();
+
@@ -258,6 +269,8 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@TabCreationState
int creationState = openInForeground ? TabCreationState.LIVE_IN_FOREGROUND
: TabCreationState.LIVE_IN_BACKGROUND;
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+
mTabModel.addTab(tab, position, type);
mTabModel.addTab(tab, position, type, creationState);
return true;
}
@@ -268,7 +283,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -300,7 +313,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
*/
public Tab launchUrlFromExternalApp(String url, String referer, String headers,
String appId, boolean forceNewTab, Intent intent, long intentTimestamp) {
- assert !mIncognito;
boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName());
// If an external app sends an intent for a Weblite URL and the Data Reduction Proxy is
@@ -335,6 +349,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.setTabState(state)
if (forceNewTab && !isLaunchedFromChrome) {
@@ -383,6 +395,8 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.build();
}
assert state.isIncognito() == mIncognito;
+
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+
mTabModel.addTab(tab, index, TabLaunchType.FROM_RESTORE);
mTabModel.addTab(tab, index, launchType, creationState);
return tab;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -45,6 +45,8 @@ import org.chromium.chrome.browser.util.UrlConstants;
@@ -45,6 +45,8 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.UiThreadTaskTraits;
@ -367,7 +353,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -598,6 +600,13 @@ public class TabPersistentStore extends TabPersister {
@@ -593,6 +595,13 @@ public class TabPersistentStore extends TabPersister {
}
}
@ -384,19 +370,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -336,7 +336,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
@@ -318,7 +318,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognito{"CCTIncognito",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTModule{"CCTModule", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kCCTPostMessageAPI{"CCTPostMessageAPI",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -698,6 +698,13 @@ Your Google account may have other forms of browsing history like searches and a
@@ -699,6 +699,13 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY" desc="A text for the basic tab explaining browsing history.">
Clears history and autocompletions in the address bar.
</message>

View file

@ -47,28 +47,28 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
@@ -21,6 +21,20 @@
android:visible="false"
app:showAsAction="ifRoom"
app:iconTint="@color/standard_mode_tint" />
app:iconTint="@color/default_icon_color_tint_list" />
+ <item
+ android:id="@+id/import_menu_id"
+ android:icon="@drawable/ic_folder_blue_24dp"
+ android:title="@string/import_bookmarks"
+ android:visible="true"
+ app:showAsAction="ifRoom"
+ app:iconTint="@color/standard_mode_tint" />
+ app:iconTint="@color/default_icon_color_tint_list" />
+ <item
+ android:id="@+id/export_menu_id"
+ android:icon="@drawable/ic_file_download_white_24dp"
+ android:title="@string/export_bookmarks"
+ android:visible="true"
+ app:showAsAction="ifRoom"
+ app:iconTint="@color/standard_mode_tint" />
+ app:iconTint="@color/default_icon_color_tint_list" />
<item
android:id="@+id/close_menu_id"
android:icon="@drawable/btn_close"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -82,6 +82,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -83,6 +83,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -133,6 +139,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -134,6 +140,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -142,6 +150,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -143,6 +151,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -172,6 +182,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -173,6 +183,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@ -113,13 +113,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
@@ -13,6 +13,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.chrome.browser.SnackbarActivity;
import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants;
+import org.chromium.ui.base.ActivityWindowAndroid;
/**
* The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
@@ -22,6 +23,7 @@ import org.chromium.components.bookmarks.BookmarkId;
@@ -22,6 +23,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
public class BookmarkActivity extends SnackbarActivity {
private BookmarkManager mBookmarkManager;
@ -166,9 +166,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import android.net.Uri;
import android.os.SystemClock;
+import android.provider.Browser;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Pair;
@@ -26,6 +30,11 @@ import org.chromium.components.url_formatter.SchemeDisplay;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
@ -181,7 +181,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import java.util.ArrayList;
import java.util.List;
@@ -574,6 +583,24 @@ public class BookmarkBridge {
@@ -562,6 +571,24 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@ -206,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -954,6 +981,24 @@ public class BookmarkBridge {
@@ -942,6 +969,24 @@ public class BookmarkBridge {
depthList.add(depth);
}
@ -231,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -1022,6 +1067,8 @@ public class BookmarkBridge {
@@ -1008,6 +1053,8 @@ public class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
boolean getFolders, boolean getBookmarks, List<BookmarkId> bookmarksList);
@ -263,23 +263,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
@@ -23,6 +23,7 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkModelObserver;
+import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.favicon.LargeIconBridge;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksReader;
@@ -35,6 +36,7 @@ import org.chromium.components.bookmarks.BookmarkId;
@@ -35,8 +35,10 @@ import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
+import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.url.GURL;
+import org.chromium.chrome.browser.ChromeActivity;
import java.util.Stack;
@@ -54,6 +56,7 @@ public class BookmarkManager
@@ -55,6 +57,7 @@ public class BookmarkManager
private Activity mActivity;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@ -332,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -170,6 +170,10 @@ jumbo_static_library("browser") {
@@ -171,6 +171,10 @@ jumbo_static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
@ -343,7 +338,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bluetooth/bluetooth_chooser_context.cc",
"bluetooth/bluetooth_chooser_context.h",
"bluetooth/bluetooth_chooser_context_factory.cc",
@@ -3071,8 +3075,6 @@ jumbo_static_library("browser") {
@@ -3139,8 +3143,6 @@ jumbo_static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@ -352,7 +347,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"certificate_viewer.h",
"chrome_browser_field_trials_desktop.cc",
"chrome_browser_field_trials_desktop.h",
@@ -3186,8 +3188,6 @@ jumbo_static_library("browser") {
@@ -3267,8 +3269,6 @@ jumbo_static_library("browser") {
"importer/importer_uma.h",
"importer/in_process_importer_bridge.cc",
"importer/in_process_importer_bridge.h",
@ -364,7 +359,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -34,6 +34,7 @@
@@ -37,6 +37,7 @@
#include "components/bookmarks/common/android/bookmark_type.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/bookmarks/managed/managed_bookmark_service.h"
@ -372,7 +367,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
#include "components/dom_distiller/core/url_utils.h"
#include "components/prefs/pref_service.h"
#include "components/query_parser/query_parser.h"
@@ -43,6 +44,21 @@
@@ -46,6 +47,21 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@ -394,7 +389,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::ConvertUTF16ToJavaString;
@@ -60,6 +76,56 @@ using bookmarks::BookmarkPermanentNode;
@@ -63,6 +79,56 @@ using bookmarks::BookmarkPermanentNode;
using bookmarks::BookmarkType;
using content::BrowserThread;
@ -451,7 +446,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
namespace {
const int kInvalidId = -1;
@@ -138,6 +204,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -141,6 +207,10 @@ BookmarkBridge::~BookmarkBridge() {
bookmark_model_->RemoveObserver(this);
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
@ -462,7 +457,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -543,6 +613,153 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -516,6 +586,153 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@ -619,7 +614,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
@@ -16,6 +16,8 @@
@@ -19,6 +19,8 @@
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
#include "components/bookmarks/common/android/bookmark_id.h"
#include "components/prefs/pref_change_registrar.h"
@ -628,7 +623,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
namespace bookmarks {
class BookmarkModel;
@@ -29,7 +31,8 @@ class Profile;
@@ -32,7 +34,8 @@ class Profile;
// bookmark page. This fetches the bookmarks, title, urls, folder
// hierarchy.
class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@ -638,7 +633,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
public:
BookmarkBridge(JNIEnv* env,
const base::android::JavaRef<jobject>& obj,
@@ -39,6 +42,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -42,6 +45,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
bool IsDoingExtensiveChanges(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@ -651,7 +646,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -133,6 +142,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -131,6 +140,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@ -665,7 +660,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -278,12 +294,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -276,12 +292,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void ShimBeingDeleted(PartnerBookmarksShim* shim) override;
Profile* profile_;
@ -741,7 +736,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -256,6 +256,12 @@ CHAR-LIMIT guidelines:
@@ -245,6 +245,12 @@ CHAR-LIMIT guidelines:
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR-LIMIT=32]">
Sites
</message>
@ -757,7 +752,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -420,6 +420,9 @@ static_library("common") {
@@ -423,6 +423,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -894,7 +889,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -35,6 +35,7 @@ import org.chromium.base.task.PostTask;
@@ -36,6 +36,7 @@ import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.ui.PhotoPickerListener;
import org.chromium.ui.R;
@ -902,7 +897,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
import org.chromium.ui.UiUtils;
import java.io.File;
@@ -54,6 +55,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -55,6 +56,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String IMAGE_TYPE = "image/";
private static final String VIDEO_TYPE = "video/";
private static final String AUDIO_TYPE = "audio/";
@ -910,7 +905,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
private static final String ALL_IMAGE_TYPES = IMAGE_TYPE + "*";
private static final String ALL_VIDEO_TYPES = VIDEO_TYPE + "*";
private static final String ALL_AUDIO_TYPES = AUDIO_TYPE + "*";
@@ -132,6 +134,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -133,6 +135,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mFileTypes = fileTypes;
}
@ -922,7 +917,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
/**
* Creates and starts an intent based on the passed fileTypes and capture value.
* @param fileTypes MIME types requested (i.e. "image/*")
@@ -159,7 +166,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -160,7 +167,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@ -931,7 +926,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (!window.hasPermission(storagePermission)) missingPermissions.add(storagePermission);
} else {
if (((mSupportsImageCapture && shouldShowImageTypes())
@@ -187,7 +194,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -188,7 +195,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@ -940,7 +935,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format("Permissions arrays misaligned: %d != %d",
@@ -201,7 +208,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -202,7 +209,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@ -949,7 +944,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
onFileNotSelected();
return;
}
@@ -350,6 +357,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -351,6 +358,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@ -957,7 +952,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -627,6 +635,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -631,6 +639,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(specificType) > 0;
}

View file

@ -5,10 +5,10 @@ Subject: Add custom tab intents privacy option
---
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/LaunchIntentDispatcher.java | 3 +++
.../browser/settings/privacy/PrivacySettings.java | 11 +++++++++++
.../chrome/browser/LaunchIntentDispatcher.java | 4 ++++
.../browser/privacy/settings/PrivacySettings.java | 11 +++++++++++
.../ui/android/strings/android_chrome_strings.grd | 7 +++++++
5 files changed, 29 insertions(+)
5 files changed, 30 insertions(+)
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
@ -27,10 +27,10 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -29,6 +29,11 @@
android:fragment="org.chromium.chrome.browser.settings.privacy.DoNotTrackSettings"
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="allow_custom_tab_intents"
+ android:title="@string/allow_custom_tab_intents_title"
+ android:summary="@string/allow_custom_tab_intents_summary"
@ -41,15 +41,16 @@ 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
@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.settings.privacy.PrivacySettings;
import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.chrome.browser.vr.VrModuleProvider;
@@ -251,6 +252,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -55,6 +55,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.UUID;
+import org.chromium.chrome.browser.privacy.settings.PrivacySettings;
+
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -249,6 +251,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@ -58,10 +59,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
@@ -41,6 +41,8 @@ public class PrivacySettings
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -44,6 +44,8 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@ -70,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
@@ -76,6 +78,10 @@ public class PrivacySettings
@@ -79,6 +81,10 @@ public class PrivacySettings
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
@ -81,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
PrefServiceBridge.getInstance().setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
}
@@ -111,6 +117,11 @@ public class PrivacySettings
@@ -114,6 +120,11 @@ public class PrivacySettings
prefServiceBridge.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@ -96,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3863,6 +3863,13 @@ Only you can see what your camera is looking at. The site can't see your camera'
@@ -3910,6 +3910,13 @@ Only you can see what your camera is looking at. The site can't see your camera'
<message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
Show original
</message>

View file

@ -25,7 +25,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
@@ -2044,6 +2044,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1960,6 +1960,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
AddToHomescreenCoordinator.showForAppMenu(
this, getWindowAndroid(), getModalDialogManager(), currentTab.getWebContents());
RecordUserAction.record("MobileMenuAddToHomescreen");
@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2818,6 +2818,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2843,6 +2843,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_SETTINGS" desc="Menu item for opening browser settings. [CHAR-LIMIT=27]">
Settings
</message>

View file

@ -19,7 +19,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
@@ -736,6 +736,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -734,6 +734,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// Ensure that all effective connection types returned by Network Quality
// Estimator (NQE) are also exposed via flags.
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
@@ -2702,6 +2707,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2930,6 +2935,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kPassiveDocumentEventListenersName,
flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
@ -44,9 +44,9 @@ 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
@@ -1181,6 +1181,10 @@ const char kMediaInspectorLoggingDescription[] =
"project; #enable-devtools-experiments must also be enabled as well on "
"desktop platforms";
@@ -1150,6 +1150,10 @@ const char kMediaInspectorLoggingDescription[] =
"Move media logging from chrome://media-internals into the developer tools "
"project.";
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
+const char kMaxConnectionsPerHostDescription[] =
@ -58,7 +58,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
@@ -703,6 +703,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
@@ -687,6 +687,9 @@ extern const char kMediaHistoryDescription[];
extern const char kMediaInspectorLoggingName[];
extern const char kMediaInspectorLoggingDescription[];

View file

@ -13,7 +13,7 @@ Disable it by default on Android as it is everywhere else
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
@@ -1697,6 +1697,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1925,6 +1925,10 @@ const FeatureEntry kFeatureEntries[] = {
#if defined(USE_AURA)
{"overlay-scrollbars", flag_descriptions::kOverlayScrollbarsName,
flag_descriptions::kOverlayScrollbarsDescription,
@ -27,7 +27,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
@@ -800,6 +800,11 @@ const char kMemlogStackModeNative[] = "Native";
@@ -778,6 +778,11 @@ const char kMemlogStackModeNative[] = "Native";
const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
const char kMemlogStackModePseudo[] = "Trace events";
@ -42,7 +42,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
@@ -462,6 +462,9 @@ extern const char kEnablePortalsDescription[];
@@ -447,6 +447,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@ -55,7 +55,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
@@ -229,11 +229,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -235,11 +235,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",

View file

@ -16,9 +16,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
@@ -3334,6 +3334,11 @@ const FeatureEntry kFeatureEntries[] = {
kMarkHttpAsFeatureVariations,
"HTTPReallyBadFinal")},
@@ -3455,6 +3455,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
+ {"ipv6-probing",
+ flag_descriptions::kIPv6ProbingName,
@ -26,12 +26,12 @@ 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-web-authentication-testing-api",
flag_descriptions::kEnableWebAuthenticationTestingAPIName,
{"ntp-confirm-suggestion-removals",
flag_descriptions::kNtpConfirmSuggestionRemovalsName,
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
@@ -2381,6 +2381,10 @@ const char kContextualSearchRankerQueryDescription[] =
@@ -2350,6 +2350,10 @@ const char kContextualSearchRankerQueryDescription[] =
const char kContextualSearchSecondTapName[] =
"Contextual Search second tap triggering";
@ -45,7 +45,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
@@ -528,6 +528,9 @@ extern const char kEnableWasmThreadsName[];
@@ -513,6 +513,9 @@ extern const char kEnableWasmThreadsName[];
extern const char kEnableWasmThreadsDescription[];
extern const char kEnableWasmTieringName[];
@ -102,17 +102,17 @@ 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
@@ -92,6 +92,7 @@
#include "net/log/net_log_event_type.h"
#include "net/log/net_log_source.h"
#include "net/log/net_log_source_type.h"
+#include "services/network/public/cpp/features.h"
#include "net/log/net_log_with_source.h"
#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)
@@ -3593,8 +3594,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
bool cached = true;
if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@@ -3564,8 +3565,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
- SetLastIPv6ProbeResult(
+
+ if (!base::FeatureList::IsEnabled(network::features::kIPv6Probing)) {

View file

@ -11,7 +11,7 @@ Subject: Add flag to disable WebGL
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
@@ -1544,6 +1544,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1765,6 +1765,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAccelerated2dCanvasName,
flag_descriptions::kAccelerated2dCanvasDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas)},
@ -24,9 +24,9 @@ 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
@@ -414,6 +414,10 @@ const char kDevtoolsExperimentsDescription[] =
"Enables Developer Tools experiments. Use Settings panel in Developer "
"Tools to toggle individual experiments.";
@@ -401,6 +401,10 @@ const char kDeviceDiscoveryNotificationsName[] =
const char kDeviceDiscoveryNotificationsDescription[] =
"Device discovery notifications on local network.";
+const char kDisableWebGLName[] = "Disable all versions of WebGL";
+
@ -38,9 +38,9 @@ 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
@@ -264,6 +264,9 @@ extern const char kDeviceDiscoveryNotificationsDescription[];
extern const char kDevtoolsExperimentsName[];
extern const char kDevtoolsExperimentsDescription[];
@@ -255,6 +255,9 @@ extern const char kDebugShortcutsDescription[];
extern const char kDeviceDiscoveryNotificationsName[];
extern const char kDeviceDiscoveryNotificationsDescription[];
+extern const char kDisableWebGLName[];
+extern const char kDisableWebGLDescription[];

View file

@ -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
@@ -1771,6 +1771,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1992,6 +1992,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
flag_descriptions::kGpuRasterizationDescription, kOsAll,
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
@ -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
@@ -594,6 +594,14 @@ const char kWinrtSensorsImplementationDescription[] =
@@ -596,6 +596,14 @@ const char kWinrtSensorsImplementationDescription[] =
"Enables usage of the Windows.Devices.Sensors WinRT APIs on Windows for "
"sensors";
@ -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
@@ -756,6 +756,16 @@ const base::Feature kExperimentalProductivityFeatures{
@@ -781,6 +781,16 @@ const base::Feature kWebOtpBackend{"kWebOtpBackend",
// TODO(rouslan): Remove this.
const base::Feature kWebPayments{"WebPayments",
base::FEATURE_ENABLED_BY_DEFAULT};
@ -98,12 +98,12 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// Makes WebRTC use ECDSA certs by default (i.e., when no cert type was
// specified in JS).
// Minimal user interface experience for payments on the web.
const base::Feature kWebPaymentsMinimalUI{"WebPaymentsMinimalUI",
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
@@ -165,6 +165,8 @@ CONTENT_EXPORT extern const base::Feature kWebXrHitTest;
@@ -171,6 +171,8 @@ CONTENT_EXPORT extern const base::Feature kWebXrHitTest;
CONTENT_EXPORT extern const base::Feature kWebXrIncubations;
CONTENT_EXPORT extern const base::Feature kWebXrPermissionsApi;
@ -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
@@ -245,9 +245,12 @@ void ModulesInitializer::InitInspectorAgentSession(
@@ -244,9 +244,12 @@ void ModulesInitializer::InitInspectorAgentSession(
void ModulesInitializer::OnClearWindowObjectInMainWorld(
Document& document,
const Settings& settings) const {
@ -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
@@ -1171,6 +1171,14 @@
@@ -1202,6 +1202,14 @@
name: "OffscreenCanvasCommit",
status: "experimental",
},

View file

@ -1,266 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Mar 2020 19:56:49 +0100
Subject: Add missing android_provider
---
third_party/android_provider/BUILD.gn | 14 ++
.../android/provider/MediaStoreUtils.java | 228 ++++++++++++++++++
2 files changed, 242 insertions(+)
create mode 100644 third_party/android_provider/BUILD.gn
create mode 100644 third_party/android_provider/java/src/org/chromium/third_party/android/provider/MediaStoreUtils.java
diff --git a/third_party/android_provider/BUILD.gn b/third_party/android_provider/BUILD.gn
new file mode 100644
--- /dev/null
+++ b/third_party/android_provider/BUILD.gn
@@ -0,0 +1,14 @@
+# Copyright 2020 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/rules.gni")
+
+assert(is_android)
+
+android_library("android_provider_java") {
+ sources = [
+ "java/src/org/chromium/third_party/android/provider/MediaStoreUtils.java",
+ ]
+ deps = [ "//third_party/android_deps:androidx_annotation_annotation_java" ]
+}
diff --git a/third_party/android_provider/java/src/org/chromium/third_party/android/provider/MediaStoreUtils.java b/third_party/android_provider/java/src/org/chromium/third_party/android/provider/MediaStoreUtils.java
new file mode 100644
--- /dev/null
+++ b/third_party/android_provider/java/src/org/chromium/third_party/android/provider/MediaStoreUtils.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package org.chromium.third_party.android.provider;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.net.Uri;
+import android.os.ParcelFileDescriptor;
+import android.provider.MediaStore;
+import android.provider.MediaStore.DownloadColumns;
+import android.provider.MediaStore.MediaColumns;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import java.io.FileNotFoundException;
+import java.io.OutputStream;
+import java.util.Objects;
+
+/**
+ * Utility class to contribute download to the public download collection using
+ * MediaStore API from Q.
+ */
+public class MediaStoreUtils {
+ private static final String TAG = "MediaStoreUtils";
+
+ /**
+ * Creates a new pending media item using the given parameters. Pending items
+ * are expected to have a short lifetime, and owners should either
+ * {@link PendingSession#publish()} or {@link PendingSession#abandon()} a
+ * pending item within a few hours after first creating it.
+ *
+ * @param context Application context.
+ * @param params Parameters used to configure the item.
+ * @return token which can be passed to {@link #openPending(Context, Uri)}
+ * to work with this pending item.
+ */
+ public static @NonNull Uri createPending(
+ @NonNull Context context, @NonNull PendingParams params) {
+ return context.getContentResolver().insert(params.mInsertUri, params.mInsertValues);
+ }
+
+ /**
+ * Opens a pending media item to make progress on it. You can open a pending
+ * item multiple times before finally calling either
+ * {@link PendingSession#publish()} or {@link PendingSession#abandon()}.
+ *
+ * @param uri token which was previously returned from
+ * {@link #createPending(Context, PendingParams)}.
+ * @return pending session that was opened.
+ */
+ public static @NonNull PendingSession openPending(@NonNull Context context, @NonNull Uri uri) {
+ return new PendingSession(context, uri);
+ }
+
+ /**
+ * Parameters that describe a pending media item.
+ */
+ public static class PendingParams {
+ final Uri mInsertUri;
+ final ContentValues mInsertValues;
+
+ /**
+ * Creates parameters that describe a pending media item.
+ *
+ * @param insertUri the {@code content://} Uri where this pending item
+ * should be inserted when finally published. For example, to
+ * publish an image, use
+ * {@link MediaStore.Images.Media#getContentUri(String)}.
+ * @param displayName Display name of the item.
+ * @param mimeType MIME type of the item.
+ */
+ public PendingParams(
+ @NonNull Uri insertUri, @NonNull String displayName, @NonNull String mimeType) {
+ mInsertUri = Objects.requireNonNull(insertUri);
+ final long now = System.currentTimeMillis() / 1000;
+ mInsertValues = new ContentValues();
+ mInsertValues.put(MediaColumns.DISPLAY_NAME, Objects.requireNonNull(displayName));
+ mInsertValues.put(MediaColumns.MIME_TYPE, Objects.requireNonNull(mimeType));
+ mInsertValues.put(MediaColumns.DATE_ADDED, now);
+ mInsertValues.put(MediaColumns.DATE_MODIFIED, now);
+ try {
+ setPendingContentValues(this.mInsertValues, true);
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to set pending content values.", e);
+ }
+ }
+
+ /**
+ * Optionally sets the Uri from where the file has been downloaded. This is used
+ * for files being added to {@link Downloads} table.
+ *
+ * @see DownloadColumns#DOWNLOAD_URI
+ */
+ public void setDownloadUri(@Nullable Uri downloadUri) {
+ if (downloadUri == null) {
+ mInsertValues.remove(DownloadColumns.DOWNLOAD_URI);
+ } else {
+ mInsertValues.put(DownloadColumns.DOWNLOAD_URI, downloadUri.toString());
+ }
+ }
+
+ /**
+ * Optionally set the Uri indicating HTTP referer of the file. This is used for
+ * files being added to {@link Downloads} table.
+ *
+ * @see DownloadColumns#REFERER_URI
+ */
+ public void setRefererUri(@Nullable Uri refererUri) {
+ if (refererUri == null) {
+ mInsertValues.remove(DownloadColumns.REFERER_URI);
+ } else {
+ mInsertValues.put(DownloadColumns.REFERER_URI, refererUri.toString());
+ }
+ }
+
+ /**
+ * Sets the expiration time of the download.
+ *
+ * @time Epoch time in seconds.
+ */
+ public void setExpirationTime(long time) {
+ mInsertValues.put("date_expires", time);
+ }
+ }
+
+ /**
+ * Session actively working on a pending media item. Pending items are
+ * expected to have a short lifetime, and owners should either
+ * {@link PendingSession#publish()} or {@link PendingSession#abandon()} a
+ * pending item within a few hours after first creating it.
+ */
+ public static class PendingSession implements AutoCloseable {
+ private final Context mContext;
+ private final Uri mUri;
+
+ /**
+ * Create a new pending session item to be published.
+ * @param context Contexxt of the application.
+ * @param uri Token which was previously returned from
+ * {@link #createPending(Context, PendingParams)}.
+ */
+ PendingSession(Context context, Uri uri) {
+ mContext = Objects.requireNonNull(context);
+ mUri = Objects.requireNonNull(uri);
+ }
+
+ /**
+ * Open the underlying file representing this media item. When a media
+ * item is successfully completed, you should
+ * {@link ParcelFileDescriptor#close()} and then {@link #publish()} it.
+ *
+ * @return ParcelFileDescriptor to be written into.
+ */
+ public @NonNull ParcelFileDescriptor open() throws FileNotFoundException {
+ return mContext.getContentResolver().openFileDescriptor(mUri, "rw");
+ }
+
+ /**
+ * Open the underlying file representing this media item. When a media
+ * item is successfully completed, you should
+ * {@link OutputStream#close()} and then {@link #publish()} it.
+ *
+ * @return OutputStream to be written into.
+ */
+ public @NonNull OutputStream openOutputStream() throws FileNotFoundException {
+ return mContext.getContentResolver().openOutputStream(mUri);
+ }
+
+ /**
+ * When this media item is successfully completed, call this method to
+ * publish and make the final item visible to the user.
+ *
+ * @return the final {@code content://} Uri representing the newly
+ * published media.
+ */
+ public @NonNull Uri publish() {
+ try {
+ final ContentValues values = new ContentValues();
+ setPendingContentValues(values, false);
+ values.putNull("date_expires");
+ mContext.getContentResolver().update(mUri, values, null, null);
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to publish pending session.", e);
+ }
+ return mUri;
+ }
+
+ /**
+ * When this media item has failed to be completed, call this method to
+ * destroy the pending item record and any data related to it.
+ */
+ public void abandon() {
+ mContext.getContentResolver().delete(mUri, null, null);
+ }
+
+ @Override
+ public void close() {
+ // No resources to close, but at least we can inform people that no
+ // progress is being actively made.
+ }
+ }
+
+ /**
+ * Helper method to set the ContentValues to pending or non-pending.
+ * @param values ContentValues to be set.
+ * @param isPending Whether the item is pending.
+ */
+ private static void setPendingContentValues(ContentValues values, boolean isPending)
+ throws Exception {
+ values.put(MediaColumns.IS_PENDING, isPending ? 1 : 0);
+ }
+}
--
2.17.1

View file

@ -3,33 +3,53 @@ Date: Thu, 5 Dec 2019 22:41:25 +0100
Subject: Add option to configure the ad blocker filters URL
---
chrome/android/chrome_java_resources.gni | 2 +
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 65 +++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../java/res/xml/adblock_preferences.xml | 25 +++++
.../android/java/res/xml/main_preferences.xml | 5 +
.../browser/flags/FeatureUtilities.java | 10 ++
.../browser/settings/AdBlockEditor.java | 92 +++++++++++++++++++
.../browser/settings/AdBlockPreferences.java | 56 +++++++++++
chrome/app/generated_resources.grd | 10 ++
chrome/browser/android/feature_utilities.cc | 8 ++
chrome/browser/browser_process_impl.cc | 3 +-
.../net/system_network_context_manager.cc | 3 +
.../flags/android/cached_feature_flags.cc | 8 ++
.../browser/flags/CachedFeatureFlags.java | 10 ++
.../net/system_network_context_manager.cc | 4 +
.../strings/android_chrome_strings.grd | 14 +++
chrome/common/pref_names.cc | 3 +
chrome/common/pref_names.h | 1 +
.../adblock_updater_service.cc | 6 +-
.../adblock_updater_service.h | 3 +-
17 files changed, 303 insertions(+), 5 deletions(-)
18 files changed, 306 insertions(+), 5 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -1034,6 +1034,7 @@ chrome_java_resources = [
"java/res/layout/account_picker_new_account_row_legacy.xml",
"java/res/layout/account_picker_row.xml",
"java/res/layout/account_picker_row_legacy.xml",
+ "java/res/layout/adblock_editor.xml",
"java/res/layout/add_languages_main.xml",
"java/res/layout/add_site_dialog.xml",
"java/res/layout/add_to_homescreen_dialog.xml",
@@ -1336,6 +1337,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/accessibility_preferences.xml",
"java/res/xml/account_management_preferences.xml",
+ "java/res/xml/adblock_preferences.xml",
"java/res/xml/autofill_server_profile_preferences.xml",
"java/res/xml/bookmark_widget_info.xml",
"java/res/xml/clear_browsing_data_button.xml",
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
@@ -1296,6 +1296,8 @@ chrome_java_sources = [
@@ -1352,6 +1352,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/photo_picker/DecodeVideoTask.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java",
@ -134,7 +154,7 @@ new file mode 100644
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <org.chromium.chrome.browser.settings.ChromeSwitchPreference
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="adblock_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
@ -163,34 +183,8 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
+ android:order="13"
+ android:title="@string/prefs_adblock"/>
<Preference
android:fragment="org.chromium.chrome.browser.settings.accessibility.AccessibilitySettings"
android:fragment="org.chromium.chrome.browser.accessibility.settings.AccessibilitySettings"
android:key="accessibility"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
@@ -238,6 +238,14 @@ public class FeatureUtilities {
ChromeFeatureList.isEnabled(ChromeFeatureList.REACHED_CODE_PROFILER));
}
+ public static void setAdBlockFiltersURL(String url) {
+ FeatureUtilitiesJni.get().setAdBlockFiltersURL(url);
+ }
+
+ public static String getAdBlockFiltersURL() {
+ return FeatureUtilitiesJni.get().getAdBlockFiltersURL();
+ }
+
/**
* @return True if tab model merging for Android N+ is enabled.
*/
@@ -785,5 +793,7 @@ public class FeatureUtilities {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
+ void setAdBlockFiltersURL(String url);
+ String getAdBlockFiltersURL();
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
new file mode 100644
--- /dev/null
@ -212,8 +206,8 @@ new file mode 100644
+import android.widget.Button;
+import android.widget.EditText;
+
+import org.chromium.chrome.browser.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.FeatureUtilities;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.R;
+import org.chromium.components.url_formatter.UrlFormatter;
+
@ -236,7 +230,7 @@ new file mode 100644
+ scrollView.getViewTreeObserver().addOnScrollChangedListener(
+ SettingsUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
+ mAdBlockFiltersUrlEdit = (EditText) v.findViewById(R.id.adblock_url_edit);
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ mAdBlockFiltersUrlEdit.setText(CachedFeatureFlags.getAdBlockFiltersURL());
+ mAdBlockFiltersUrlEdit.addTextChangedListener(this);
+ mAdBlockFiltersUrlEdit.requestFocus();
+
@ -263,7 +257,7 @@ new file mode 100644
+ mResetButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ mAdBlockFiltersUrlEdit.setText(CachedFeatureFlags.getAdBlockFiltersURL());
+ getActivity().finish();
+ }
+ });
@ -273,8 +267,8 @@ new file mode 100644
+ mSaveButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ FeatureUtilities.setAdBlockFiltersURL(
+ UrlFormatter.fixupUrl(mAdBlockFiltersUrlEdit.getText().toString()));
+ CachedFeatureFlags.setAdBlockFiltersURL(
+ UrlFormatter.fixupUrl(mAdBlockFiltersUrlEdit.getText().toString()).getSpec());
+ getActivity().finish();
+ }
+ });
@ -300,14 +294,14 @@ new file mode 100644
+package org.chromium.chrome.browser.settings;
+
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
+import org.chromium.chrome.browser.settings.ChromeSwitchPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+
+import org.chromium.chrome.browser.settings.website.WebsitePreferenceBridge;
+import org.chromium.chrome.browser.site_settings.WebsitePreferenceBridge;
+import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.chrome.browser.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.FeatureUtilities;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import androidx.annotation.VisibleForTesting;
+import org.chromium.chrome.R;
+
@ -340,7 +334,7 @@ new file mode 100644
+ }
+
+ private void updateCurrentAdBlockUrl() {
+ mAdBlockEdit.setSummary(FeatureUtilities.getAdBlockFiltersURL());
+ mAdBlockEdit.setSummary(CachedFeatureFlags.getAdBlockFiltersURL());
+ }
+
+ @Override
@ -352,7 +346,7 @@ new file mode 100644
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -9937,6 +9937,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -9780,6 +9780,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -369,28 +363,10 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
<!-- Ad Blocking UI strings. -->
<message name="IDS_ALWAYS_ALLOW_ADS" desc="Explanation associated with a toggle to allow ads after ads have been blocked on the page. To be used on pages where the ad blocking UI is governed by a persistent permissions-based whitelist.">
Always allow ads on this site
diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/android/feature_utilities.cc
--- a/chrome/browser/android/feature_utilities.cc
+++ b/chrome/browser/android/feature_utilities.cc
@@ -32,6 +32,14 @@ std::string GetReachedCodeProfilerTrialGroup() {
} // namespace android
} // namespace chrome
+static ScopedJavaLocalRef<jstring> JNI_FeatureUtilities_GetAdBlockFiltersURL(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kAdBlockFiltersURL));
+}
+
+static void JNI_FeatureUtilities_SetAdBlockFiltersURL(JNIEnv* env, const JavaParamRef<jstring>& url) {
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL, base::android::ConvertJavaStringToUTF8(env, url));
+}
+
static jboolean JNI_FeatureUtilities_IsNetworkServiceWarmUpEnabled(
JNIEnv* env) {
return content::IsOutOfProcessNetworkService() &&
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
@@ -1035,7 +1035,8 @@ BrowserProcessImpl::adblock_updater() {
@@ -1066,7 +1066,8 @@ BrowserProcessImpl::adblock_updater() {
adblock_updater_ = std::make_unique<adblock_updater::AdBlockUpdaterService>(
g_browser_process->system_network_context_manager()->GetSharedURLLoaderFactory(),
std::move(scheduler),
@ -400,30 +376,75 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
return adblock_updater_.get();
}
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@@ -36,6 +36,14 @@ std::string GetReachedCodeProfilerTrialGroup() {
} // namespace android
} // namespace chrome
+static ScopedJavaLocalRef<jstring> JNI_CachedFeatureFlags_GetAdBlockFiltersURL(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kAdBlockFiltersURL));
+}
+
+static void JNI_CachedFeatureFlags_SetAdBlockFiltersURL(JNIEnv* env, const JavaParamRef<jstring>& url) {
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL, base::android::ConvertJavaStringToUTF8(env, url));
+}
+
static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled(
JNIEnv* env) {
return content::IsOutOfProcessNetworkService() &&
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -242,6 +242,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.REACHED_CODE_PROFILER));
}
+ public static void setAdBlockFiltersURL(String url) {
+ CachedFeatureFlagsJni.get().setAdBlockFiltersURL(url);
+ }
+
+ public static String getAdBlockFiltersURL() {
+ return CachedFeatureFlagsJni.get().getAdBlockFiltersURL();
+ }
+
/**
* Caches flags that must take effect on startup but are set via native code.
*/
@@ -394,5 +402,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
+ void setAdBlockFiltersURL(String url);
+ String getAdBlockFiltersURL();
}
}
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
@@ -358,6 +358,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(
@@ -325,6 +325,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
proxy_config_monitor_(local_state_) {
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
+ local_state_->SetDefaultPrefValue(prefs::kAdBlockFiltersURL,
+ base::Value("https://www.bromite.org/filters/filters.dat"));
#if !defined(OS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -462,6 +464,7 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
// static
@@ -384,6 +386,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL, std::string());
// Register the DnsClient and DoH preferences. The feature list has not been
// initialized yet, so setting the preference defaults here to reflect the
// corresponding features will only cause the preference defaults to reflect
+
// Static auth params
registry->RegisterStringPref(prefs::kAuthSchemes,
"basic,digest,ntlm,negotiate");
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -801,6 +801,20 @@ Your Google account may have other forms of browsing history like searches and a
@@ -802,6 +802,20 @@ Your Google account may have other forms of browsing history like searches and a
Captions
</message>
@ -447,7 +468,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -1998,6 +1998,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2054,6 +2054,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@ -466,8 +487,8 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kHomePage[];
+extern const char kAdBlockFiltersURL[];
extern const char kImportantSitesDialogHistory[];
extern const char kProfileCreationTime[];
#if defined(OS_WIN)
extern const char kLastProfileResetTimestamp[];
diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc
--- a/components/component_updater/adblock_updater_service.cc
+++ b/components/component_updater/adblock_updater_service.cc

View file

@ -6,7 +6,7 @@ Subject: Add option to not persist tabs across sessions
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/ChromeTabbedActivity.java | 4 +++-
.../browser/settings/privacy/PrivacySettings.java | 12 ++++++++++++
.../browser/privacy/settings/PrivacySettings.java | 12 ++++++++++++
.../ui/android/strings/android_chrome_strings.grd | 6 ++++++
5 files changed, 29 insertions(+), 1 deletion(-)
@ -30,7 +30,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
android:title="@string/allow_custom_tab_intents_title"
android:summary="@string/allow_custom_tab_intents_summary"
android:defaultValue="false" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="close_tabs_on_exit"
+ android:title="@string/close_tabs_on_exit_title"
+ android:summary="@string/close_tabs_on_exit_summary"
@ -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
@@ -1104,8 +1104,10 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -1093,8 +1093,10 @@ public class ChromeTabbedActivity
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@ -53,26 +53,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
if (noRestoreState) {
// Clear the state files because they are inconsistent and useless from now on.
mTabModelSelectorImpl.clearState();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.settings.privacy;
package org.chromium.chrome.browser.privacy.settings;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v7.preference.CheckBoxPreference;
@@ -13,6 +14,7 @@ import android.view.Menu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -14,6 +15,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
+import org.chromium.base.ContextUtils;
import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -36,6 +38,7 @@ public class PrivacySettings
@@ -39,6 +41,7 @@ public class PrivacySettings
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@@ -84,6 +87,10 @@ public class PrivacySettings
@@ -87,6 +90,10 @@ public class PrivacySettings
sharedPreferencesEditor.apply();
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
PrefServiceBridge.getInstance().setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
}
return true;
@@ -128,6 +135,11 @@ public class PrivacySettings
@@ -131,6 +138,11 @@ public class PrivacySettings
? R.string.text_on
: R.string.text_off);
}
@ -102,11 +102,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
}
private ManagedPreferenceDelegate createManagedPreferenceDelegate() {
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3618,6 +3618,12 @@ Only you can see what your camera is looking at. The site can't see your camera'
@@ -3657,6 +3657,12 @@ Only you can see what your camera is looking at. The site can't see your camera'
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>

View file

@ -5,11 +5,11 @@ Subject: Add site settings option for session-only cookies
---
chrome/android/java/res/values/values.xml | 3 ++
.../java/res/xml/website_preferences.xml | 7 +++++
.../website/SingleCategorySettings.java | 21 ++++++++++++-
.../site_settings/SingleCategorySettings.java | 21 ++++++++++++-
.../preferences/pref_service_bridge.cc | 31 +++++++++++++++++++
.../preferences/PrefServiceBridge.java | 10 ++++++
.../preferences/PrefServiceBridge.java | 11 +++++++
.../strings/android_chrome_strings.grd | 6 ++++
6 files changed, 77 insertions(+), 1 deletion(-)
6 files changed, 78 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
@ -27,24 +27,24 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/website_preferences.xml b/chrome/android/java/res/xml/website_preferences.xml
--- a/chrome/android/java/res/xml/website_preferences.xml
+++ b/chrome/android/java/res/xml/website_preferences.xml
@@ -32,6 +32,13 @@
@@ -40,6 +40,13 @@
android:title="@string/website_settings_category_notifications_quiet"
android:defaultValue="false"
android:persistent="false" />
+ <!-- A toggle for cookies to be saved only until session exit, only shown for the Cookies category. -->
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="cookies_session_only"
+ android:title="@string/allow_cookies_session_only_title"
+ android:summary="@string/allow_cookies_session_only_summary"
+ android:defaultValue="true"
+ android:persistent="false" />
<!-- A toggle for enabling vibration in notifications. -->
<org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
<org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
android:key="notifications_vibrate"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleCategorySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleCategorySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleCategorySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleCategorySettings.java
@@ -130,6 +130,7 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleCategorySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleCategorySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleCategorySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleCategorySettings.java
@@ -133,6 +133,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
// Keys for category-specific preferences (toggle, link, button etc.), dynamically shown.
public static final String THIRD_PARTY_COOKIES_TOGGLE_KEY = "third_party_cookies";
@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate";
public static final String NOTIFICATIONS_QUIET_UI_TOGGLE_KEY = "notifications_quiet_ui";
public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
@@ -478,6 +479,7 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
@@ -503,6 +504,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (type == SiteSettingsCategory.Type.COOKIES) {
updateThirdPartyCookiesCheckBox();
@ -60,25 +60,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
} else if (type == SiteSettingsCategory.Type.NOTIFICATIONS) {
updateNotificationsSecondaryControls();
}
@@ -516,6 +518,8 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
int setting = (int) newValue;
WebsitePreferenceBridge.setContentSetting(mCategory.getContentSettingsType(), setting);
@@ -541,6 +543,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getInfoForOrigins();
} else if (FOUR_STATE_COOKIE_TOGGLE_KEY.equals(preference.getKey())) {
setCookieSettingsPreference((CookieSettingsState) newValue);
+ } else if (COOKIES_SESSION_ONLY_TOGGLE_KEY.equals(preference.getKey())) {
+ PrefServiceBridge.getInstance().setCookiesSessionOnlyEnabled((boolean) newValue);
} else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
PrefServiceBridge.getInstance().setBoolean(
Pref.BLOCK_THIRD_PARTY_COOKIES, ((boolean) newValue));
@@ -829,6 +833,8 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) screen.findPreference(TRI_STATE_TOGGLE_KEY);
@@ -904,6 +908,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
(FourStateCookieSettingsPreference) screen.findPreference(
FOUR_STATE_COOKIE_TOGGLE_KEY);
Preference thirdPartyCookies = screen.findPreference(THIRD_PARTY_COOKIES_TOGGLE_KEY);
+ Preference cookiesSessionOnly = getPreferenceScreen().findPreference(
+ COOKIES_SESSION_ONLY_TOGGLE_KEY);
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
Preference notificationsQuietUi = screen.findPreference(NOTIFICATIONS_QUIET_UI_TOGGLE_KEY);
Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY);
@@ -861,6 +867,7 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
@@ -946,6 +952,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (hideSecondaryToggles) {
screen.removePreference(thirdPartyCookies);
@ -86,13 +86,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
screen.removePreference(notificationsVibrate);
screen.removePreference(notificationsQuietUi);
screen.removePreference(explainProtectedMediaKey);
@@ -872,12 +879,15 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
@@ -957,12 +964,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
return;
}
- // Configure/hide the third-party cookies toggle, as needed.
+ // Configure/hide the third-party cookies toggle and session-only cookie toggle, as needed.
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES) && !mRequiresFourStateSetting) {
thirdPartyCookies.setOnPreferenceChangeListener(this);
updateThirdPartyCookiesCheckBox();
+ cookiesSessionOnly.setOnPreferenceChangeListener(this);
@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
}
// Configure/hide the notifications secondary controls, as needed.
@@ -992,6 +1002,15 @@ public class SingleCategorySettings extends PreferenceFragmentCompat
@@ -1075,6 +1085,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
}
}
@ -140,7 +140,7 @@ diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/
PrefService* GetPrefService() {
return ProfileManager::GetActiveUserProfile()
->GetOriginalProfile()
@@ -84,3 +91,27 @@ static jboolean JNI_PrefServiceBridge_IsManagedPreference(
@@ -90,3 +97,27 @@ static jboolean JNI_PrefServiceBridge_IsManagedPreference(
return GetPrefService()->IsManagedPreference(
PrefServiceBridge::GetPrefNameExposedToJava(j_pref_index));
}
@ -171,7 +171,7 @@ diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
@@ -82,6 +82,13 @@ public class PrefServiceBridge {
@@ -89,6 +89,13 @@ public class PrefServiceBridge {
PrefServiceBridgeJni.get().setString(preference, value);
}
@ -185,16 +185,17 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* @param preference The name of the preference.
* @return Whether the specified preference is managed.
@@ -97,6 +104,8 @@ public class PrefServiceBridge {
@@ -104,6 +111,9 @@ public class PrefServiceBridge {
@NativeMethods
interface Natives {
+ boolean getCookiesSessionOnlyEnabled(PrefServiceBridge caller);
+ void setCookiesSessionOnlyEnabled(PrefServiceBridge caller, boolean enabled);
+
void clearPref(int preference);
boolean getBoolean(int preference);
void setBoolean(int preference, boolean value);
int getInteger(int preference);
@@ -106,3 +115,4 @@ public class PrefServiceBridge {
@@ -114,3 +124,4 @@ public class PrefServiceBridge {
boolean isManagedPreference(int preference);
}
}

View file

@ -3,29 +3,49 @@ Date: Sat, 23 Nov 2019 10:55:16 +0100
Subject: Add user setting for DNS-over-HTTPS (DoH) custom URL
---
chrome/android/chrome_java_resources.gni | 2 +
chrome/android/chrome_java_sources.gni | 2 +
chrome/android/java/res/layout/doh_editor.xml | 65 +++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../android/java/res/xml/doh_preferences.xml | 25 +++++
.../java/res/xml/privacy_preferences.xml | 5 +
.../browser/flags/FeatureUtilities.java | 24 +++++
.../chrome/browser/settings/DoHEditor.java | 92 +++++++++++++++++++
.../browser/settings/DoHPreferences.java | 54 +++++++++++
chrome/app/generated_resources.grd | 6 ++
chrome/browser/android/feature_utilities.cc | 23 +++++
.../net/system_network_context_manager.cc | 41 ++-------
.../flags/android/cached_feature_flags.cc | 24 +++++
.../browser/flags/CachedFeatureFlags.java | 24 +++++
.../net/stub_resolver_config_reader.cc | 40 ++------
.../strings/android_chrome_strings.grd | 11 +++
chrome/common/chrome_features.cc | 4 +-
13 files changed, 320 insertions(+), 34 deletions(-)
14 files changed, 322 insertions(+), 34 deletions(-)
create mode 100644 chrome/android/java/res/layout/doh_editor.xml
create mode 100644 chrome/android/java/res/xml/doh_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/DoHEditor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/DoHPreferences.java
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -1108,6 +1108,7 @@ chrome_java_resources = [
"java/res/layout/device_item_list.xml",
"java/res/layout/distilled_page_font_family_spinner.xml",
"java/res/layout/distilled_page_prefs_view.xml",
+ "java/res/layout/doh_editor.xml",
"java/res/layout/edit_url_suggestion_layout.xml",
"java/res/layout/editable_option_editor_footer.xml",
"java/res/layout/editable_option_editor_icons.xml",
@@ -1347,6 +1348,7 @@ chrome_java_resources = [
"java/res/xml/data_reduction_preferences.xml",
"java/res/xml/data_reduction_preferences_off_lite_mode.xml",
"java/res/xml/developer_preferences.xml",
+ "java/res/xml/doh_preferences.xml",
"java/res/xml/do_not_track_preferences.xml",
"java/res/xml/download_preferences.xml",
"java/res/xml/homepage_preferences.xml",
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
@@ -1335,6 +1335,8 @@ chrome_java_sources = [
@@ -1402,6 +1402,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/DevicePickerBottomSheetAdapter.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/DevicePickerBottomSheetContent.java",
@ -130,7 +150,7 @@ new file mode 100644
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <org.chromium.chrome.browser.settings.ChromeSwitchPreference
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="doh_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
@ -158,50 +178,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:key="doh"
+ android:title="@string/options_doh_title"
+ android:summary="@string/options_doh_summary" />
<org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
<org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
android:key="preload_pages"
android:title="@string/preload_pages_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/flags/FeatureUtilities.java
@@ -120,6 +120,26 @@ public class FeatureUtilities {
private static Boolean sEnabledTabThumbnailApsectRatioForTesting;
private static final String ALLOW_TO_REFETCH = "allow_to_refetch";
+ /**
+ * Records whether custom URL for DoH is enabled with native-side feature utilities.
+ * @param url Whether custom URL is enabled or not.
+ */
+ public static void setDoHEnabled(boolean enabled) {
+ FeatureUtilitiesJni.get().setDoHEnabled(enabled);
+ }
+
+ public static boolean getDoHEnabled() {
+ return FeatureUtilitiesJni.get().getDoHEnabled();
+ }
+
+ public static void setDoHTemplates(String t) {
+ FeatureUtilitiesJni.get().setDoHTemplates(t);
+ }
+
+ public static String getDoHTemplates() {
+ return FeatureUtilitiesJni.get().getDoHTemplates();
+ }
+
/**
* Checks if a cached feature flag is enabled.
*
@@ -792,6 +812,10 @@ public class FeatureUtilities {
@NativeMethods
interface Natives {
+ void setDoHEnabled(boolean enabled);
+ boolean getDoHEnabled();
+ void setDoHTemplates(String templates);
+ String getDoHTemplates();
boolean isNetworkServiceWarmUpEnabled();
void setAdBlockFiltersURL(String url);
String getAdBlockFiltersURL();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/DoHEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/DoHEditor.java
new file mode 100644
--- /dev/null
@ -223,8 +202,8 @@ new file mode 100644
+import android.widget.Button;
+import android.widget.EditText;
+
+import org.chromium.chrome.browser.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.FeatureUtilities;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.R;
+import org.chromium.components.url_formatter.UrlFormatter;
+
@ -247,7 +226,7 @@ new file mode 100644
+ scrollView.getViewTreeObserver().addOnScrollChangedListener(
+ SettingsUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
+ mDoHUrlEdit = (EditText) v.findViewById(R.id.doh_url_edit);
+ mDoHUrlEdit.setText(FeatureUtilities.getDoHTemplates());
+ mDoHUrlEdit.setText(CachedFeatureFlags.getDoHTemplates());
+ mDoHUrlEdit.addTextChangedListener(this);
+ mDoHUrlEdit.requestFocus();
+
@ -274,7 +253,7 @@ new file mode 100644
+ mResetButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mDoHUrlEdit.setText(FeatureUtilities.getDoHTemplates());
+ mDoHUrlEdit.setText(CachedFeatureFlags.getDoHTemplates());
+ getActivity().finish();
+ }
+ });
@ -284,7 +263,7 @@ new file mode 100644
+ mSaveButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ FeatureUtilities.setDoHTemplates(
+ CachedFeatureFlags.setDoHTemplates(
+ mDoHUrlEdit.getText().toString());
+ getActivity().finish();
+ }
@ -311,12 +290,12 @@ new file mode 100644
+package org.chromium.chrome.browser.settings;
+
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
+import org.chromium.chrome.browser.settings.ChromeSwitchPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+
+import org.chromium.chrome.browser.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.FeatureUtilities;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import androidx.annotation.VisibleForTesting;
+import org.chromium.chrome.R;
+
@ -337,10 +316,10 @@ new file mode 100644
+
+ ChromeSwitchPreference mDoHSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_DOH_SWITCH);
+ boolean isDoHEnabled = FeatureUtilities.getDoHEnabled();
+ boolean isDoHEnabled = CachedFeatureFlags.getDoHEnabled();
+ mDoHSwitch.setChecked(isDoHEnabled);
+ mDoHSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ FeatureUtilities.setDoHEnabled((boolean) newValue);
+ CachedFeatureFlags.setDoHEnabled((boolean) newValue);
+ return true;
+ });
+
@ -349,7 +328,7 @@ new file mode 100644
+ }
+
+ private void updateCurrentDoHUrl() {
+ mDoHEdit.setSummary(FeatureUtilities.getDoHTemplates());
+ mDoHEdit.setSummary(CachedFeatureFlags.getDoHTemplates());
+ }
+
+ @Override
@ -361,123 +340,164 @@ new file mode 100644
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -6848,6 +6848,12 @@ the Bookmarks menu.">
<message name="IDS_OPTIONS_HOMEPAGE_TITLE" desc="The title of the home page overlay on Android" formatter_data="android_java">
Home page
</message>
@@ -6864,6 +6864,12 @@ the Bookmarks menu.">
</if>
<if expr="is_android">
+ <message name="IDS_OPTIONS_DOH_TITLE" desc="The title of the DNS-over-HTTPS option on Android" formatter_data="android_java">
+ Secure DNS
+ </message>
+ <message name="IDS_OPTIONS_DOH_SUMMARY" desc="The title of the DNS-over-HTTPS summary on Android" formatter_data="android_java">
+ Configure DNS-over-HTTPS (DoH) secure DNS
+ </message>
</if>
<!-- Autofill dialog: field labels. -->
diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/android/feature_utilities.cc
--- a/chrome/browser/android/feature_utilities.cc
+++ b/chrome/browser/android/feature_utilities.cc
@@ -7,6 +7,9 @@
#include "chrome/android/chrome_jni_headers/FeatureUtilities_jni.h"
#include "base/android/jni_string.h"
+#include "chrome/browser/browser_process.h"
+#include "components/prefs/pref_service.h"
+#include "chrome/common/pref_names.h"
<message name="IDS_OPTIONS_HOMEPAGE_TITLE" desc="The title of Chrome's homepage setting screen on Android. " formatter_data="android_java">
Homepage
</message>
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@@ -11,6 +11,10 @@
#include "content/public/common/content_features.h"
#include "content/public/common/network_service_util.h"
@@ -45,3 +48,23 @@ static jboolean JNI_FeatureUtilities_IsNetworkServiceWarmUpEnabled(
+#include "chrome/browser/browser_process.h"
+#include "components/prefs/pref_service.h"
+#include "chrome/common/pref_names.h"
+
using base::android::ConvertJavaStringToUTF8;
using base::android::ConvertUTF8ToJavaString;
using base::android::JavaParamRef;
@@ -49,3 +53,23 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled(
return content::IsOutOfProcessNetworkService() &&
base::FeatureList::IsEnabled(features::kWarmUpNetworkProcess);
}
+
+static jboolean JNI_FeatureUtilities_GetDoHEnabled(JNIEnv* env) {
+static jboolean JNI_CachedFeatureFlags_GetDoHEnabled(JNIEnv* env) {
+ std::string doh_mode = g_browser_process->local_state()->GetString(prefs::kDnsOverHttpsMode);
+ return ((doh_mode == "secure") || (doh_mode == "auto"));
+}
+
+static void JNI_FeatureUtilities_SetDoHEnabled(JNIEnv* env, jboolean enabled) {
+static void JNI_CachedFeatureFlags_SetDoHEnabled(JNIEnv* env, jboolean enabled) {
+ if (enabled)
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsMode, "secure");
+ else
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsMode, "off");
+}
+
+static ScopedJavaLocalRef<jstring> JNI_FeatureUtilities_GetDoHTemplates(JNIEnv* env) {
+static ScopedJavaLocalRef<jstring> JNI_CachedFeatureFlags_GetDoHTemplates(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kDnsOverHttpsTemplates));
+}
+
+static void JNI_FeatureUtilities_SetDoHTemplates(JNIEnv* env, const JavaParamRef<jstring>& templates) {
+static void JNI_CachedFeatureFlags_SetDoHTemplates(JNIEnv* env, const JavaParamRef<jstring>& templates) {
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsTemplates, base::android::ConvertJavaStringToUTF8(env, templates));
+}
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
@@ -379,40 +379,12 @@ SystemNetworkContextManager::SystemNetworkContextManager(
local_state_->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));
std::string default_doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
- std::string default_doh_templates = "";
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
- if (features::kDnsOverHttpsFallbackParam.Get()) {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeAutomatic;
- } else {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeSecure;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -124,6 +124,26 @@ public class CachedFeatureFlags {
private static Map<String, String> sOverridesTestFeatures;
private static String sReachedCodeProfilerTrialGroup;
+ /**
+ * Records whether custom URL for DoH is enabled with native-side feature utilities.
+ * @param url Whether custom URL is enabled or not.
+ */
+ public static void setDoHEnabled(boolean enabled) {
+ CachedFeatureFlagsJni.get().setDoHEnabled(enabled);
+ }
+
+ public static boolean getDoHEnabled() {
+ return CachedFeatureFlagsJni.get().getDoHEnabled();
+ }
+
+ public static void setDoHTemplates(String t) {
+ CachedFeatureFlagsJni.get().setDoHTemplates(t);
+ }
+
+ public static String getDoHTemplates() {
+ return CachedFeatureFlagsJni.get().getDoHTemplates();
+ }
+
/**
* Checks if a cached feature flag is enabled.
*
@@ -401,6 +421,10 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
+ void setDoHEnabled(boolean enabled);
+ boolean getDoHEnabled();
+ void setDoHTemplates(String templates);
+ String getDoHTemplates();
boolean isNetworkServiceWarmUpEnabled();
void setAdBlockFiltersURL(String url);
String getAdBlockFiltersURL();
diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/net/stub_resolver_config_reader.cc
--- a/chrome/browser/net/stub_resolver_config_reader.cc
+++ b/chrome/browser/net/stub_resolver_config_reader.cc
@@ -122,41 +122,12 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
local_state_->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));
std::string default_doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
- std::string default_doh_templates;
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
- if (features::kDnsOverHttpsFallbackParam.Get()) {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeAutomatic;
- } else {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeSecure;
- }
- default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
- }
- default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
- }
+ std::string default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
base::Value(default_doh_mode));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsTemplates,
base::Value(default_doh_templates));
+ std::string default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
base::Value(default_doh_mode));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsTemplates,
base::Value(default_doh_templates));
- // If the user has explicitly enabled or disabled the DoH experiment in
- // chrome://flags, store that choice in the user prefs so that it can be
- // persisted after the experiment ends. Also make sure to remove the stored
- // prefs value if the user has changed their chrome://flags selection to the
- // default.
- flags_ui::PrefServiceFlagsStorage flags_storage(local_state_);
- std::set<std::string> entries = flags_storage.GetFlags();
- if (entries.count("dns-over-https@1")) {
- // The user has "Enabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeAutomatic);
- } else if (entries.count("dns-over-https@2")) {
- // The user has "Disabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeOff);
- } else {
- // The user has "Default" selected.
- local_state_->ClearPref(prefs::kDnsOverHttpsMode);
- }
-
PrefChangeRegistrar::NamedChangeCallback dns_pref_callback =
base::BindRepeating(&OnStubResolverConfigChanged,
base::Unretained(local_state_));
@@ -548,9 +520,14 @@ void SystemNetworkContextManager::GetStubResolverConfig(
- // If the user has explicitly enabled or disabled the DoH experiment in
- // chrome://flags and the DoH UI setting is not visible, store that choice
- // in the user prefs so that it can be persisted after the experiment ends.
- // Also make sure to remove the stored prefs value if the user has changed
- // their chrome://flags selection to the default.
- if (!features::kDnsOverHttpsShowUiParam.Get()) {
- flags_ui::PrefServiceFlagsStorage flags_storage(local_state_);
- std::set<std::string> entries = flags_storage.GetFlags();
- if (entries.count("dns-over-https@1")) {
- // The user has "Enabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeAutomatic);
- } else if (entries.count("dns-over-https@2")) {
- // The user has "Disabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeOff);
- } else {
- // The user has "Default" selected.
- local_state_->ClearPref(prefs::kDnsOverHttpsMode);
- }
- }
}
std::string doh_templates =
local_state->GetString(prefs::kDnsOverHttpsTemplates);
- std::string server_method;
pref_change_registrar_.Add(prefs::kBuiltInDnsClientEnabled, pref_callback);
@@ -346,8 +317,13 @@ void StubResolverConfigReader::GetAndUpdateConfiguration(
std::vector<net::DnsOverHttpsServerConfig> dns_over_https_servers;
base::Optional<std::vector<network::mojom::DnsOverHttpsServerPtr>>
servers_mojo;
- if (!doh_templates.empty() &&
- *secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
- secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ if (doh_templates.empty()) {
+ *secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
+ secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
+ doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
+ }
+
+ LOG(INFO) << "DoH templates: '" << doh_templates << "' with mode " << doh_mode;
+ if (*secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ if (secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ std::string server_method;
for (const std::string& server_template :
SplitString(doh_templates, " ", base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY)) {
for (base::StringPiece server_template :
chrome_browser_net::SplitDohTemplateGroup(doh_templates)) {
if (!net::dns_util::IsValidDohTemplate(server_template, &server_method)) {
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -578,6 +578,17 @@ CHAR-LIMIT guidelines:
@@ -576,6 +576,17 @@ CHAR-LIMIT guidelines:
Chrome Passwords
</message>
@ -493,12 +513,12 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
+ </message>
+
<!-- Homepage preferences -->
<message name="IDS_OPTIONS_HOMEPAGE_EDIT_TITLE" desc="The title of the screen that allows users to change the URL that opens when they tap on the home page button in the omnibox.">
Edit home page
<message name="IDS_OPTIONS_HOMEPAGE_EDIT_HINT" desc="Hint for the text edit on Homepage Preference setting, guiding user to enter their customized homepage setting">
Enter custom web address
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
@@ -293,12 +293,12 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
@@ -265,12 +265,12 @@ const base::Feature kDnsHttpssvc{"DnsHttpssvc",
// Enable DNS over HTTPS (DoH).
const base::Feature kDnsOverHttps{"DnsOverHttps",

View file

@ -13,7 +13,7 @@ Subject: Allow building without feed support
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
@@ -214,11 +214,6 @@ public class StartSurfaceCoordinator implements StartSurface {
@@ -232,11 +232,6 @@ public class StartSurfaceCoordinator implements StartSurface {
mBottomBarCoordinator = new BottomBarCoordinator(
mActivity, mActivity.getCompositorViewHolder(), mPropertyModel);
}
@ -28,7 +28,7 @@ diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromiu
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -415,15 +415,6 @@ class StartSurfaceMediator
@@ -432,15 +432,6 @@ class StartSurfaceMediator
assert (isShownState(shownState));
setOverviewState(shownState);
@ -44,7 +44,7 @@ diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromiu
mTabModelSelector.addObserver(mTabModelSelectorObserver);
if (mFullScreenListener != null) {
@@ -536,14 +527,6 @@ class StartSurfaceMediator
@@ -555,14 +546,6 @@ class StartSurfaceMediator
private void setExploreSurfaceVisibility(boolean isVisible) {
if (isVisible == mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)) return;
@ -70,7 +70,7 @@ diff --git a/chrome/android/feed/feed_java_sources.gni b/chrome/android/feed/fee
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineBridge.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedOfflineIndicator.java",
"//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java",
@@ -736,7 +735,6 @@ if (enable_feed_in_chrome) {
@@ -681,7 +680,6 @@ if (enable_feed_in_chrome) {
feed_deps = []
feed_java_sources = [
"//chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/FeedAppLifecycle.java",
@ -88,20 +88,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
-import org.chromium.chrome.browser.feed.FeedNewTabPage;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
import org.chromium.chrome.browser.history.HistoryPage;
@@ -57,12 +56,6 @@ public class NativePageFactory {
import org.chromium.chrome.browser.history.HistoryManagerUtils;
@@ -58,12 +57,6 @@ public class NativePageFactory {
activity, new TabShim(tab, activity.getFullscreenManager()));
}
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS)) {
- return new FeedNewTabPage(activity,
- new TabShim(tab, activity.getFullscreenManager()), tabModelSelector,
- activityTabProvider, activityLifecycleDispatcher, (TabImpl) tab);
- activityTabProvider, activityLifecycleDispatcher, tab);
- }
-
return new NewTabPage(activity, new TabShim(tab, activity.getFullscreenManager()),
tabModelSelector, activityTabProvider, activityLifecycleDispatcher,
(TabImpl) tab);
tabModelSelector, activityTabProvider, activityLifecycleDispatcher, tab);
}
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc

View file

@ -10,7 +10,7 @@ Subject: Allow playing audio in background
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
@@ -977,6 +977,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1010,6 +1010,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@ -23,7 +23,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3351,7 +3357,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3409,7 +3415,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.
@ -39,7 +39,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
--- a/media/blink/webmediaplayer_impl.h
+++ b/media/blink/webmediaplayer_impl.h
@@ -149,6 +149,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
@@ -150,6 +150,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;

View file

@ -10,7 +10,7 @@ Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -134,7 +134,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
@@ -101,7 +101,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kAccountConsistencyMirrorRequired,
false);
#endif

View file

@ -9,7 +9,7 @@ Subject: Always allow partner customisation
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -244,14 +244,14 @@ public class PartnerBrowserCustomizations {
@@ -305,14 +305,14 @@ public class PartnerBrowserCustomizations {
@Override
protected Void doInBackground() {
try {
@ -30,8 +30,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
+ // return null;
+ //}
if (isCancelled()) return null;
refreshIncognitoModeDisabled();
if (isCancelled()) {
return null;
--
2.17.1

View file

@ -11,15 +11,15 @@ 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
@@ -196,7 +196,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;
@@ -147,7 +147,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAuthDynamicParams(
local_state->GetBoolean(prefs::kNtlmV2Enabled);
#endif // defined(OS_POSIX)
-#if defined(OS_ANDROID)
+#if 0
int min_sdk =
base::GetFieldTrialParamByFeatureAsInt(features::kAsyncDns, "min_sdk", 0);
if (base::android::BuildInfo::GetInstance()->sdk_int() < min_sdk)
auth_dynamic_params->android_negotiate_account_type =
local_state->GetString(prefs::kAuthAndroidNegotiateAccountType);
#endif // defined(OS_ANDROID)
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc

View file

@ -4,18 +4,18 @@ Subject: Always use new tab page for default home page
Ignore any partner-provided home page.
---
.../chrome/browser/partnercustomizations/HomepageManager.java | 3 ---
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 3 ---
1 file changed, 3 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
@@ -141,9 +141,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -135,9 +135,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
* if the homepage button is force enabled via flag.
*/
private static String getDefaultHomepageUri() {
- if (PartnerBrowserCustomizations.isHomepageProviderAvailableAndEnabled()) {
- return PartnerBrowserCustomizations.getHomePageUrl();
public static String getDefaultHomepageUri() {
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl();
- }
return UrlConstants.NTP_NON_NATIVE_URL;
}

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 25 Mar 2018 21:49:37 +0200
Subject: AudioBuffer, AnalyserNode: fingerprinting mitigations via IDL
Subject: AudioBuffer, AnalyserNode: fp mitigations
Truncate base latency precision to two digits
---
@ -30,20 +30,25 @@ diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/thi
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
@@ -37,7 +37,7 @@
@@ -37,12 +37,12 @@
// Channel access
readonly attribute unsigned long numberOfChannels;
- [HighEntropy, Measure, RaisesException] Float32Array getChannelData(unsigned long channelIndex);
- [HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long bufferOffset = 0);
+ //[HighEntropy, Measure, RaisesException] Float32Array getChannelData(unsigned long channelIndex);
+ //[HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long bufferOffset = 0);
[RaisesException] void copyToChannel(Float32Array source, long channelNumber, optional unsigned long bufferOffset = 0);
};
- [HighEntropy, Measure, RaisesException] Float32Array getChannelData(
+ /*[HighEntropy, Measure, RaisesException] Float32Array getChannelData(
unsigned long channelIndex);
[HighEntropy, Measure, RaisesException] void copyFromChannel(
Float32Array destination,
unsigned long channelNumber,
- optional unsigned long bufferOffset = 0);
+ optional unsigned long bufferOffset = 0); */
[RaisesException] void copyToChannel(
Float32Array source,
unsigned long channelNumber,
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
@@ -399,7 +399,9 @@ double AudioContext::baseLatency() const {
@@ -397,7 +397,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());

File diff suppressed because one or more lines are too long

View file

@ -44,7 +44,7 @@ diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/thi
return;
}
-
- Document* document = To<Document>(GetExecutionContext());
- Document* document = Document::From(GetExecutionContext());
- DCHECK(document);
- if (document->IsContextPaused() || document->IsContextDestroyed())
- return;

View file

@ -16,18 +16,18 @@ This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs
net/url_request/trk_protocol_handler.cc | 26 +++++++++++++++
net/url_request/trk_protocol_handler.h | 33 +++++++++++++++++++
net/url_request/url_request.cc | 8 +++++
.../url_request_context_builder.cc | 4 +++
.../url_request_context_builder.cc | 3 ++
url/url_constants.cc | 1 +
url/url_constants.h | 1 +
url/url_util.cc | 2 ++
14 files changed, 91 insertions(+), 3 deletions(-)
14 files changed, 90 insertions(+), 3 deletions(-)
create mode 100644 net/url_request/trk_protocol_handler.cc
create mode 100644 net/url_request/trk_protocol_handler.h
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
@@ -28,6 +28,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
@@ -55,6 +55,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
if (base::IsStringASCII(scheme) &&
(ProfileIOData::IsHandledProtocol(scheme) ||
base::LowerCaseEqualsASCII(scheme, content::kViewSourceScheme) ||
@ -62,7 +62,7 @@ diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_t
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc
--- a/components/omnibox/browser/autocomplete_input.cc
+++ b/components/omnibox/browser/autocomplete_input.cc
@@ -496,7 +496,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -487,7 +487,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix.
if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) ||
@ -72,7 +72,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
(static_cast<int>(text.length()) > after_scheme_and_colon)) {
// Obtain the URL prefixed by view-source or blob and parse it.
base::string16 real_url(text.substr(after_scheme_and_colon));
@@ -569,7 +570,9 @@ int AutocompleteInput::NumNonHostComponents(const url::Parsed& parts) {
@@ -560,7 +561,9 @@ int AutocompleteInput::NumNonHostComponents(const url::Parsed& parts) {
bool AutocompleteInput::HasHTTPScheme(const base::string16& input) {
std::string utf8_input(base::UTF16ToUTF8(input));
url::Component scheme;
@ -86,7 +86,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
--- a/components/url_formatter/url_fixer.cc
+++ b/components/url_formatter/url_fixer.cc
@@ -566,6 +566,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
@@ -557,6 +557,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
}
}
@ -100,7 +100,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -620,6 +620,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
@@ -625,6 +625,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
#endif // BUILDFLAG(ENABLE_WEBSOCKETS)
RegisterWebSafeScheme(url::kFtpScheme);
RegisterWebSafeScheme(url::kDataScheme);
@ -111,7 +111,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1075,6 +1075,8 @@ component("net") {
@@ -1084,6 +1084,8 @@ component("net") {
"url_request/report_sender.h",
"url_request/static_http_user_agent_settings.cc",
"url_request/static_http_user_agent_settings.h",
@ -224,24 +224,23 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
--- a/net/url_request/url_request_context_builder.cc
+++ b/net/url_request/url_request_context_builder.cc
@@ -40,6 +40,7 @@
@@ -42,6 +42,7 @@
#include "net/quic/quic_stream_factory.h"
#include "net/ssl/ssl_config_service_defaults.h"
#include "net/url_request/static_http_user_agent_settings.h"
+#include "net/url_request/trk_protocol_handler.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_storage.h"
#include "net/url_request/url_request_intercepting_job_factory.h"
@@ -648,6 +649,9 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
}
url_request_interceptors_.clear();
#include "net/url_request/url_request_job_factory_impl.h"
@@ -612,6 +613,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second));
}
+ job_factory->SetProtocolHandler(url::kTraceScheme,
+ std::make_unique<TrkProtocolHandler>());
+
if (create_intercepting_job_factory_) {
top_job_factory = std::move(create_intercepting_job_factory_)
.Run(std::move(top_job_factory));
protocol_handlers_.clear();
#if !BUILDFLAG(DISABLE_FTP_SUPPORT)
diff --git a/url/url_constants.cc b/url/url_constants.cc
--- a/url/url_constants.cc
+++ b/url/url_constants.cc
@ -267,7 +266,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@@ -32,6 +32,7 @@ struct SchemeRegistry {
@@ -34,6 +34,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@ -275,7 +274,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Yes, file URLs can have a hostname, so file URLs should be handled as
// "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -69,6 +70,7 @@ struct SchemeRegistry {
@@ -71,6 +72,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,

View file

@ -11,7 +11,7 @@ Download filters by checking Last-Modified header first
chrome/browser/browser_process.h | 7 +
chrome/browser/browser_process_impl.cc | 28 ++
chrome/browser/browser_process_impl.h | 3 +
chrome/browser/chrome_browser_main.cc | 5 +-
chrome/browser/chrome_browser_main.cc | 2 +
.../browser/chrome_content_browser_client.cc | 16 --
components/component_updater/BUILD.gn | 6 +
.../adblock_updater_service.cc | 249 ++++++++++++++++++
@ -26,8 +26,8 @@ Download filters by checking Last-Modified header first
.../browser/verified_ruleset_dealer.cc | 2 +
.../browser/subresource_filter_features.cc | 113 +-------
.../core/common/common_features.cc | 2 +-
.../frame_host/navigation_throttle_runner.cc | 10 -
20 files changed, 808 insertions(+), 144 deletions(-)
.../frame_host/navigation_throttle_runner.cc | 5 -
20 files changed, 806 insertions(+), 138 deletions(-)
create mode 100644 components/component_updater/adblock_updater_service.cc
create mode 100644 components/component_updater/adblock_updater_service.h
create mode 100644 components/component_updater/download_filters_task.cc
@ -66,7 +66,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
class BackgroundModeManager;
class BrowserProcessPlatformPart;
@@ -58,6 +59,10 @@ class ComponentUpdateService;
@@ -59,6 +60,10 @@ class ComponentUpdateService;
class SupervisedUserWhitelistInstaller;
}
@ -77,7 +77,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions {
class EventRouterForwarder;
}
@@ -229,6 +234,8 @@ class BrowserProcess {
@@ -230,6 +235,8 @@ class BrowserProcess {
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@ -89,7 +89,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1012,6 +1012,34 @@ BrowserProcessImpl::component_updater() {
@@ -1043,6 +1043,34 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@ -127,7 +127,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
@@ -177,6 +177,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -181,6 +181,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@ -135,7 +135,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
component_updater::SupervisedUserWhitelistInstaller*
supervised_user_whitelist_installer() override;
@@ -357,6 +358,8 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -364,6 +365,8 @@ class BrowserProcessImpl : public BrowserProcess,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@ -147,20 +147,15 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -1723,9 +1723,12 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
PreBrowserStart();
- if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate))
+ if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) {
RegisterComponentsForUpdate(profile_->IsOffTheRecord(),
profile_->GetPrefs());
@@ -1561,6 +1561,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) {
component_updater::RegisterComponentsForUpdate(profile_->IsOffTheRecord(),
profile_->GetPrefs());
+ // force initialisation
+ g_browser_process->adblock_updater();
+ }
}
variations::VariationsService* variations_service =
browser_process_->variations_service();
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
@ -172,7 +167,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h"
#include "chrome/browser/media/router/presentation/receiver_presentation_service_delegate_impl.h"
@@ -216,7 +215,6 @@
@@ -214,7 +213,6 @@
#include "components/language/core/browser/pref_names.h"
#include "components/metrics/client_info.h"
#include "components/net_log/chrome_net_log.h"
@ -180,7 +175,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
#include "components/page_load_metrics/browser/page_load_metrics_util.h"
#include "components/payments/content/payment_request_display_manager.h"
@@ -3817,16 +3815,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3797,16 +3795,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -197,7 +192,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_PLUGINS)
MaybeAddThrottle(&throttles,
FlashDownloadInterception::MaybeCreateThrottleFor(handle));
@@ -3941,10 +3929,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3921,10 +3909,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
safe_browsing::MaybeCreateNavigationThrottle(handle));
#endif
@ -945,7 +940,7 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -310,6 +310,17 @@ ContentSubresourceFilterThrottleManager::
@@ -364,6 +364,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@ -1309,23 +1304,11 @@ diff --git a/components/subresource_filter/core/common/common_features.cc b/comp
diff --git a/content/browser/frame_host/navigation_throttle_runner.cc b/content/browser/frame_host/navigation_throttle_runner.cc
--- a/content/browser/frame_host/navigation_throttle_runner.cc
+++ b/content/browser/frame_host/navigation_throttle_runner.cc
@@ -8,7 +8,6 @@
#include "content/browser/frame_host/ancestor_throttle.h"
#include "content/browser/frame_host/blocked_scheme_navigation_throttle.h"
#include "content/browser/frame_host/form_submission_throttle.h"
-#include "content/browser/frame_host/history_navigation_ablation_study_navigation_throttle.h"
#include "content/browser/frame_host/mixed_content_navigation_throttle.h"
#include "content/browser/frame_host/navigation_request.h"
#include "content/browser/frame_host/navigator_delegate.h"
@@ -128,15 +127,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
@@ -127,11 +127,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
devtools_instrumentation::CreateNavigationThrottles(request)) {
AddThrottle(std::move(throttle));
}
-
- // Delay navigation for an ablation study (if needed).
- AddThrottle(HistoryNavigationAblationStudyNavigationThrottle::
- MaybeCreateForNavigation(request));
-
- // Insert all testing NavigationThrottles last.
- throttles_.insert(throttles_.end(),
- std::make_move_iterator(testing_throttles.begin()),

View file

@ -1,24 +1,29 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 May 2020 14:42:37 +0200
Subject: Change default webRTC policy to cover CCT tabs leaks
Subject: Change default webRTC policy to not use any address
This prevents leakage of the local IP address.
See also: https://github.com/bromite/bromite/issues/553
---
chrome/browser/ui/browser_ui_prefs.cc | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
.../peerconnection/peer_connection_dependency_factory.cc | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
2 files changed, 6 insertions(+), 5 deletions(-)
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
@@ -86,7 +86,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, false);
registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, false);
@@ -83,8 +83,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
false);
#endif
// TODO(guoweis): Remove next 2 options at M50.
- registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, true);
- registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, true);
+ registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, false);
+ registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, false);
registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,
- blink::kWebRTCIPHandlingDisableNonProxiedUdp);
+ blink::kWebRTCIPHandlingDefault);
blink::kWebRTCIPHandlingDefault);
registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false);
registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls);
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc

View file

@ -3,45 +3,10 @@ Date: Thu, 20 Feb 2020 22:44:06 +0100
Subject: Disable AImageReader for ARM64/P and ARM64/Q
---
chrome/browser/android/chrome_startup_flags.cc | 9 +++++++++
gpu/config/gpu_finch_features.cc | 4 ++++
gpu/config/gpu_util.cc | 8 ++++++++
media/base/media_switches.cc | 4 ++++
4 files changed, 25 insertions(+)
gpu/config/gpu_finch_features.cc | 4 ++++
media/base/media_switches.cc | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/chrome/browser/android/chrome_startup_flags.cc b/chrome/browser/android/chrome_startup_flags.cc
--- a/chrome/browser/android/chrome_startup_flags.cc
+++ b/chrome/browser/android/chrome_startup_flags.cc
@@ -6,6 +6,7 @@
#include "chrome/browser/android/chrome_startup_flags.h"
+#include "base/android/build_info.h"
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/android/scoped_java_ref.h"
@@ -16,6 +17,7 @@
#include "chrome/common/chrome_switches.h"
#include "components/browser_sync/browser_sync_switches.h"
#include "components/dom_distiller/core/dom_distiller_switches.h"
+#include "content/public/common/content_switches.h"
#include "media/base/media_switches.h"
namespace {
@@ -40,6 +42,13 @@ void SetChromeSpecificCommandLineFlags() {
if (base::SysInfo::IsLowEndDevice())
SetCommandLineSwitchASCII(switches::kDisableSyncTypes, "Favicon Images");
+#ifdef ARCH_CPU_ARM64
+ // workaround for Android 9/10 crashes on ARM64 CPUs
+ if (base::android::BuildInfo::GetInstance()->sdk_int() >= base::android::SDK_VERSION_P) {
+ SetCommandLineSwitchASCII("disable_aimagereader", "1");
+ }
+#endif
+
// Enable DOM Distiller backend.
SetCommandLineSwitch(switches::kEnableDomDistiller);
}
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@ -57,35 +22,10 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
// Used only by webview to disable SurfaceControl.
const base::Feature kDisableSurfaceControlForWebview{
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@@ -47,6 +47,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !defined(OS_ANDROID)
return kGpuFeatureStatusDisabled;
#else
+ if (blacklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
+ return kGpuFeatureStatusBlacklisted;
+
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -288,6 +291,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_ACCELERATED_WEBGL2] =
kGpuFeatureStatusBlacklisted;
}
+
+ if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
+ gpu_feature_info->status_values[GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL] =
+ kGpuFeatureStatusBlacklisted;
+ }
}
GPUInfo* g_gpu_info_cache = nullptr;
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
@@ -500,7 +500,11 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
@@ -521,7 +521,11 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",

View file

@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
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
@@ -489,7 +489,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -510,7 +510,7 @@ const base::Feature kMediaDrmPersistentLicense{
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",

View file

@ -3,10 +3,24 @@ Date: Thu, 12 Oct 2017 08:15:17 +0200
Subject: Disable NTP remote suggestions by default
---
components/ntp_snippets/features.cc | 4 ++--
.../remote/remote_suggestions_status_service_impl.cc | 4 ++--
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
components/ntp_snippets/features.cc | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
--- a/components/feed/core/shared_prefs/pref_names.cc
+++ b/components/feed/core/shared_prefs/pref_names.cc
@@ -16,8 +16,8 @@ const char kEnableSnippets[] = "ntp_snippets.enable";
const char kArticlesListVisible[] = "ntp_snippets.list_visible";
void RegisterFeedSharedProfilePrefs(PrefRegistrySimple* registry) {
- registry->RegisterBooleanPref(kEnableSnippets, true);
- registry->RegisterBooleanPref(kArticlesListVisible, true);
+ registry->RegisterBooleanPref(kEnableSnippets, false);
+ registry->RegisterBooleanPref(kArticlesListVisible, false);
}
} // namespace prefs
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
@ -28,20 +42,6 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
const base::Feature kOptionalImagesEnabledFeature{
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc b/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
--- a/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
+++ b/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
@@ -36,8 +36,8 @@ RemoteSuggestionsStatusServiceImpl::~RemoteSuggestionsStatusServiceImpl() =
// static
void RemoteSuggestionsStatusServiceImpl::RegisterProfilePrefs(
PrefRegistrySimple* registry) {
- registry->RegisterBooleanPref(prefs::kEnableSnippets, true);
- registry->RegisterBooleanPref(prefs::kArticlesListVisible, true);
+ registry->RegisterBooleanPref(prefs::kEnableSnippets, false);
+ registry->RegisterBooleanPref(prefs::kArticlesListVisible, false);
}
void RemoteSuggestionsStatusServiceImpl::Init(
--
2.17.1

View file

@ -11,7 +11,7 @@ Do not consider Jelly Bean unsupported
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
@@ -136,7 +136,7 @@ public class OmahaBase {
@@ -142,7 +142,7 @@ public class OmahaBase {
/** See {@link #sIsDisabled}. */
static boolean isDisabled() {

View file

@ -1,28 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 26 Oct 2017 16:59:03 +0200
Subject: Disable WebRTC by default
---
chrome/browser/ui/browser_ui_prefs.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
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
@@ -83,10 +83,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
false);
#endif
// TODO(guoweis): Remove next 2 options at M50.
- registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, true);
- registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, true);
+ registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, false);
+ registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, false);
registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,
- blink::kWebRTCIPHandlingDefault);
+ blink::kWebRTCIPHandlingDisableNonProxiedUdp);
registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false);
registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls);
--
2.17.1

View file

@ -9,7 +9,7 @@ Subject: Disable all promo dialogs
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -213,7 +213,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@@ -291,7 +291,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
* displayed.
*/
private boolean triggerPromo() {
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
SharedPreferencesManager preferenceManager = SharedPreferencesManager.getInstance();
// Promos can only be shown when we start with ACTION_MAIN intent and
// after FRE is complete. Native initialization can finish before the FRE flow is
@@ -244,8 +244,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@@ -322,8 +322,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}

View file

@ -1,210 +0,0 @@
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 -----------
.../CustomTabIntentDataProvider.java | 17 ++---------
.../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
@@ -443,19 +443,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/BaseCustomTabActivityComponent.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/customtabs/features/CustomTabNavigationBarController.java",
"java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java",
"java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabBrowserControlsVisibilityDelegate.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
@@ -41,7 +41,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.IntentIgnoringCriterion;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityComponent;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityModule;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
import org.chromium.chrome.browser.firstrun.FirstRunSignInProcessor;
@@ -73,9 +72,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
private final CustomTabsConnection mConnection = CustomTabsConnection.getInstance();
- @Nullable
- private DynamicModuleCoordinator mDynamicModuleCoordinator;
-
private CustomTabNightModeStateController mNightModeStateController;
private CustomTabActivityTabProvider.Observer mTabChangeObserver =
@@ -190,12 +186,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
public void finishNativeInitialization() {
if (!mIntentDataProvider.isInfoPage()) FirstRunSignInProcessor.start(this);
- // Try to initialize dynamic module early to enqueue navigation events
- // @see DynamicModuleNavigationEventObserver
- if (mIntentDataProvider.isDynamicModuleEnabled()) {
- mDynamicModuleCoordinator = getComponent().resolveDynamicModuleCoordinator();
- }
-
mConnection.showSignInToastIfNecessary(mSession, getIntent());
if (isTaskRoot() && UsageStatsService.isEnabled()) {
@@ -232,10 +222,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
WebContents webContents = tab == null ? null : tab.getWebContents();
mConnection.resetPostMessageHandlerForSession(
mIntentDataProvider.getSession(), webContents);
-
- if (mDynamicModuleCoordinator != null) {
- mDynamicModuleCoordinator.resetPostMessageHandlersForCurrentSession(null);
- }
}
@Override
@@ -406,10 +392,6 @@ public class CustomTabActivity extends BaseCustomTabActivity<CustomTabActivityCo
if (mIntentDataProvider.isTrustedWebActivity()) {
component.resolveTrustedWebActivityCoordinator();
}
- if (mConnection.shouldHideTopBarOnModuleManagedUrlsForSession(
- mIntentDataProvider.getSession())) {
- component.resolveDynamicModuleToolbarController();
- }
return component;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -44,7 +44,6 @@ import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.ChromeVersionInfo;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
@@ -826,20 +825,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// even receive the extras for using the feature.
if (componentName == null) return false;
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE)) {
- Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
- ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.FEATURE_DISABLED);
- return false;
- }
-
- ExternalAuthUtils authUtils = ChromeApplication.getComponent().resolveExternalAuthUtils();
- if (!authUtils.isGoogleSigned(componentName.getPackageName())) {
- Log.w(TAG, "The %s package is not Google-signed.", componentName.getPackageName());
- ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.NOT_GOOGLE_SIGNED);
- return false;
- }
-
- return true;
+ Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
+ return false;
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -57,8 +57,6 @@ import org.chromium.chrome.browser.browserservices.Origin;
import org.chromium.chrome.browser.browserservices.PostMessageHandler;
import org.chromium.chrome.browser.browserservices.SessionDataHolder;
import org.chromium.chrome.browser.browserservices.SessionHandler;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleLoader;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.ChainedTasks;
@@ -218,7 +216,6 @@ public class CustomTabsConnection {
private volatile ChainedTasks mWarmupTasks;
- private @Nullable ModuleLoader mModuleLoader;
/**
* <strong>DO NOT CALL</strong>
* Public to be instanciable from {@link ChromeApplication}. This is however
@@ -1401,7 +1398,6 @@ public class CustomTabsConnection {
if (ChromeApplication.isSevereMemorySignal(level)) {
getInstance().mClientManager.cleanupUnusedSessions();
}
- if (getInstance().mModuleLoader != null) getInstance().mModuleLoader.onTrimMemory(level);
}
@VisibleForTesting
@@ -1537,32 +1533,6 @@ public class CustomTabsConnection {
recordSpeculationStatusOnSwap(SPECULATION_STATUS_ON_SWAP_BACKGROUND_TAB_NOT_MATCHED);
}
- 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
@@ -15,8 +15,6 @@ import org.chromium.chrome.browser.customtabs.CustomTabUmaRecorder;
import org.chromium.chrome.browser.customtabs.ReparentingTaskProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
import org.chromium.chrome.browser.customtabs.features.ImmersiveModeController;
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -31,8 +29,6 @@ import dagger.Subcomponent;
@ActivityScope
public interface CustomTabActivityComponent extends BaseCustomTabActivityComponent {
TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
- DynamicModuleToolbarController resolveDynamicModuleToolbarController();
- DynamicModuleCoordinator resolveDynamicModuleCoordinator();
CustomTabBottomBarDelegate resolveBottomBarDelegate();
CustomTabActivityTabController resolveTabController();
--
2.17.1

View file

@ -3,18 +3,29 @@ Date: Sun, 8 Jul 2018 18:16:34 +0200
Subject: Disable fetching of all field trials
---
.../chrome/browser/flags/ChromeFeatureList.java | 15 +++------------
.../variations/service/variations_service.cc | 12 +-----------
2 files changed, 4 insertions(+), 23 deletions(-)
.../browser/flags/ChromeFeatureList.java | 19 ++++---------------
.../variations/service/variations_service.cc | 12 +-----------
2 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -108,10 +108,7 @@ public abstract class ChromeFeatureList {
@@ -138,9 +138,7 @@ public abstract class ChromeFeatureList {
* the specified parameter does not exist.
*/
public static String getFieldTrialParamByFeature(String featureName, String paramName) {
- if (FeatureList.hasTestFeatures()) return "";
- assert isInitialized();
- return ChromeFeatureListJni.get().getFieldTrialParamByFeature(featureName, paramName);
+ return "";
}
/**
@@ -157,10 +155,7 @@ public abstract class ChromeFeatureList {
*/
public static int getFieldTrialParamByFeatureAsInt(
String featureName, String paramName, int defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- if (FeatureList.hasTestFeatures()) return defaultValue;
- assert isInitialized();
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsInt(
- featureName, paramName, defaultValue);
@ -22,11 +33,11 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
}
/**
@@ -128,10 +125,7 @@ public abstract class ChromeFeatureList {
@@ -177,10 +172,7 @@ public abstract class ChromeFeatureList {
*/
public static double getFieldTrialParamByFeatureAsDouble(
String featureName, String paramName, double defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- if (FeatureList.hasTestFeatures()) return defaultValue;
- assert isInitialized();
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsDouble(
- featureName, paramName, defaultValue);
@ -34,22 +45,22 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
}
/**
@@ -148,10 +142,7 @@ public abstract class ChromeFeatureList {
@@ -197,10 +189,7 @@ public abstract class ChromeFeatureList {
*/
public static boolean getFieldTrialParamByFeatureAsBoolean(
String featureName, String paramName, boolean defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- if (FeatureList.hasTestFeatures()) return defaultValue;
- assert isInitialized();
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsBoolean(
- featureName, paramName, defaultValue);
+ return defaultValue;
}
// Alphabetical:
/** Alphabetical: */
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -242,17 +242,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -243,17 +243,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {

View file

@ -11,7 +11,7 @@ Subject: Disable media router and remoting by default
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
@@ -51,17 +51,16 @@ const PrefService::Preference* GetMediaRouterPref(
@@ -50,17 +50,16 @@ const PrefService::Preference* GetMediaRouterPref(
bool MediaRouterEnabled(content::BrowserContext* context) {
#if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
@ -40,7 +40,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
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
@@ -234,7 +234,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -269,7 +269,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kMediaRouterFirstRunFlowAcknowledged,
false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@ -52,7 +52,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -403,7 +403,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -404,7 +404,7 @@ void ProfileImpl::RegisterProfilePrefs(
registry->RegisterStringPref(
prefs::kPrintPreviewDefaultDestinationSelectionRules, std::string());
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

View file

@ -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
@@ -912,7 +912,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -943,7 +943,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // defined(OS_CHROMEOS)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,

View file

@ -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
@@ -1198,10 +1198,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1329,10 +1329,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {

View file

@ -5,14 +5,26 @@ Subject: Disable promos displayed in bookmarks manager
Remove personalized signin promo view from
bookmarks, never reach signin thresholds.
---
chrome/android/chrome_java_resources.gni | 1 -
...rsonalized_signin_promo_view_bookmarks.xml | 30 -----
.../bookmarks/BookmarkItemsAdapter.java | 23 +---
.../bookmarks/BookmarkPromoHeader.java | 111 +-----------------
.../ReorderBookmarkItemsAdapter.java | 19 +--
.../ReorderBookmarkItemsAdapter.java | 17 +--
.../browser/signin/SigninPromoController.java | 19 +--
5 files changed, 7 insertions(+), 195 deletions(-)
6 files changed, 6 insertions(+), 195 deletions(-)
delete mode 100644 chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -1206,7 +1206,6 @@ chrome_java_resources = [
"java/res/layout/payment_request_spinny.xml",
"java/res/layout/payments_request_editor_textview.xml",
"java/res/layout/personalized_signin_promo_view_body.xml",
- "java/res/layout/personalized_signin_promo_view_bookmarks.xml",
"java/res/layout/personalized_signin_promo_view_header.xml",
"java/res/layout/personalized_signin_promo_view_modern_content_suggestions.xml",
"java/res/layout/personalized_signin_promo_view_recent_tabs.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
deleted file mode 100644
--- a/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
@ -128,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
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
@@ -20,19 +20,13 @@ import org.chromium.chrome.R;
@@ -20,18 +20,12 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
@ -139,16 +151,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.chrome.browser.signin.SigninPromoController;
-import org.chromium.chrome.browser.signin.SigninPromoUtil;
import org.chromium.chrome.browser.signin.SyncPromoView;
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.AccountManagerFacadeProvider;
import org.chromium.components.signin.AccountsChangeObserver;
import org.chromium.components.signin.ChromeSigninController;
import org.chromium.components.signin.metrics.SigninAccessPoint;
-import org.chromium.components.sync.AndroidSyncSettings;
-import org.chromium.components.sync.AndroidSyncSettings.AndroidSyncSettingsObserver;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import java.lang.annotation.Retention;
@@ -42,7 +36,7 @@ import java.lang.annotation.RetentionPolicy;
@@ -41,7 +35,7 @@ import java.lang.annotation.RetentionPolicy;
* Class that manages all the logic and UI behind the signin promo header in the bookmark
* content UI. The header is shown only on certain situations, (e.g., not signed in).
*/
@ -157,7 +168,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
ProfileDataCache.Observer, AccountsChangeObserver {
/**
* Specifies the various states in which the Bookmarks promo can be.
@@ -61,7 +55,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -60,7 +54,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
private static @Nullable @PromoState Integer sPromoStateForTests;
private final Context mContext;
@ -165,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final Runnable mPromoHeaderChangeAction;
private final @Nullable ProfileDataCache mProfileDataCache;
@@ -76,8 +69,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -75,8 +68,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
mContext = context;
mPromoHeaderChangeAction = promoHeaderChangeAction;
@ -174,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
if (SigninPromoController.hasNotReachedImpressionLimit(
SigninAccessPoint.BOOKMARK_MANAGER)) {
int imageSize =
@@ -91,9 +82,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -90,9 +81,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
mSigninPromoController = null;
}
@ -184,14 +195,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
mPromoState = calculatePromoState();
if (mPromoState == PromoState.PROMO_SYNC) {
SharedPreferencesManager.getInstance().incrementInt(
@@ -105,15 +93,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -104,15 +92,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
* Clean ups the class. Must be called once done using this class.
*/
void destroy() {
- AndroidSyncSettings.get().unregisterObserver(this);
-
if (mSigninPromoController != null) {
AccountManagerFacade.get().removeObserver(this);
AccountManagerFacadeProvider.getInstance().removeObserver(this);
mProfileDataCache.removeObserver(this);
mSigninPromoController.onPromoDestroyed();
}
@ -200,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
/**
@@ -124,19 +108,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -123,19 +107,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return mPromoState;
}
@ -220,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Sync promo header {@link ViewHolder} instance that can be used with
* {@link RecyclerView}.
@@ -149,49 +120,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -148,49 +119,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return new ViewHolder(view) {};
}
@ -271,7 +282,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
private @PromoState int calculatePromoState() {
@@ -199,48 +132,9 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -198,48 +131,9 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return sPromoStateForTests;
}
@ -279,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
- return PromoState.PROMO_NONE;
- }
-
- if (!ChromeSigninController.get().isSignedIn()) {
- if (!mSignInManager.getIdentityManager().hasPrimaryAccount()) {
- return shouldShowBookmarkSigninPromo() ? PromoState.PROMO_SIGNIN_PERSONALIZED
- : PromoState.PROMO_NONE;
- }
@ -320,7 +331,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
// ProfileDataCache.Observer implementation.
@Override
public void onProfileDataUpdated(String accountId) {
@@ -254,7 +148,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -253,7 +147,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
}
private void triggerPromoUpdate() {
@ -366,7 +377,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
}
/**
@@ -406,9 +394,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -408,9 +396,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
case BookmarkPromoHeader.PromoState.PROMO_NONE:
mPromoHeaderType = ViewType.INVALID_PROMO;
break;
@ -376,13 +387,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
case BookmarkPromoHeader.PromoState.PROMO_SYNC:
mPromoHeaderType = ViewType.SYNC_PROMO;
break;
@@ -573,4 +558,4 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
private void clearHighlight() {
mHighlightedBookmark = null;
}
-}
\ No newline at end of file
+}
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

File diff suppressed because it is too large Load diff

View file

@ -9,7 +9,7 @@ Subject: Disable search-ready omnibox by default
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -552,7 +552,7 @@ const base::Feature kScrollToExpandPaymentHandler{
@@ -516,7 +516,7 @@ const base::Feature kScrollToExpandPaymentHandler{
"ScrollToExpandPaymentHandler", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSearchReadyOmniboxFeature{

View file

@ -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
@@ -545,8 +545,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -560,8 +560,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
bool used_seed = false;
if (!used_testing_config) {

View file

@ -15,7 +15,7 @@ leak information through the TextClassifier set by OEM, if any
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -393,7 +393,7 @@ const base::Feature kChromeSharingHub{"ChromeSharingHub",
@@ -355,7 +355,7 @@ const base::Feature kChromeSharingHub{"ChromeSharingHub",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
@ -27,7 +27,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -799,7 +799,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -800,7 +800,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
menu.removeItem(R.id.select_action_menu_share);
}

View file

@ -9,7 +9,7 @@ Subject: Disable some signed exchange 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
@@ -549,7 +549,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
@@ -558,7 +558,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/features/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
@ -18,7 +18,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/features/5126805474246656
@@ -559,7 +559,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -568,7 +568,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/features/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",

View file

@ -14,12 +14,12 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
android:key="sign_in"
android:order="1"
android:title="@string/sign_in_to_chrome"/>
- <org.chromium.chrome.browser.settings.ChromeBasePreference
- <org.chromium.components.browser_ui.settings.ChromeBasePreference
- android:key="sync_and_services"
- android:order="2"
- android:layout="@layout/account_management_account_row"
- android:title="@string/prefs_sync_and_services"
- android:fragment="org.chromium.chrome.browser.settings.sync.SyncAndServicesSettings"/>
- android:fragment="org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings"/>
<PreferenceCategory
android:key="basics_section"
@ -29,12 +29,12 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
@@ -29,12 +29,4 @@
android:title="@string/clear_browsing_data_title"
android:summary="@string/clear_browsing_data_summary"
android:fragment="org.chromium.chrome.browser.settings.privacy.ClearBrowsingDataTabsFragment" />
android:fragment="org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment" />
- <android.support.v7.preference.Preference
- android:key="sync_and_services_link_divider"
- android:layout="@layout/divider_preference"
- android:selectable="false"/>
- <org.chromium.chrome.browser.settings.TextMessagePreference
- <org.chromium.components.browser_ui.settings.TextMessagePreference
- android:key="sync_and_services_link"
- android:summary="@string/privacy_sync_and_services_link"
- app:allowDividerBelow="false" />

View file

@ -3,16 +3,16 @@ Date: Thu, 27 Feb 2020 23:23:59 +0100
Subject: Do not compile QR code sharing
---
chrome/android/java/AndroidManifest.xml | 16 ----------------
.../chrome/browser/share/ShareDelegateImpl.java | 5 -----
.../browser/share/ShareSheetCoordinator.java | 14 --------------
chrome/browser/share/android/java_sources.gni | 12 ------------
4 files changed, 47 deletions(-)
chrome/android/java/AndroidManifest.xml | 16 ----------------
.../browser/share/ShareDelegateImpl.java | 5 -----
.../browser/share/ShareSheetCoordinator.java | 16 ----------------
chrome/browser/share/android/java_sources.gni | 18 ------------------
4 files changed, 55 deletions(-)
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
@@ -824,22 +824,6 @@ by a child template that "extends" this file.
@@ -825,22 +825,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@ -46,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDele
import org.chromium.chrome.browser.tab.SadTab;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabImpl;
@@ -98,10 +97,6 @@ public class ShareDelegateImpl implements ShareDelegate {
@@ -102,10 +101,6 @@ public class ShareDelegateImpl implements ShareDelegate {
classesToEnable.add(SendTabToSelfShareActivity.class);
}
@ -60,55 +60,62 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareDele
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareSheetCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareSheetCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/ShareSheetCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/ShareSheetCoordinator.java
@@ -16,7 +16,6 @@ import org.chromium.chrome.R;
@@ -18,7 +18,6 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity;
-import org.chromium.chrome.browser.share.qrcode.QrCodeCoordinator;
import org.chromium.chrome.browser.share.screenshot.ScreenshotCoordinator;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabLaunchType;
@@ -73,19 +72,6 @@ public class ShareSheetCoordinator {
ArrayList<PropertyModel> createTopRowPropertyModels(
ShareSheetBottomSheetContent bottomSheet, Activity activity) {
ArrayList<PropertyModel> models = new ArrayList<>();
import org.chromium.chrome.browser.widget.bottomsheet.BottomSheetController;
@@ -161,21 +160,6 @@ public class ShareSheetCoordinator {
/*isFirstParty=*/true);
models.add(sttsPropertyModel);
- // QR Codes
- PropertyModel qrcodePropertyModel = mPropertyModelBuilder.createPropertyModel(
- AppCompatResources.getDrawable(activity, R.drawable.qr_code),
- activity.getResources().getString(R.string.qr_code_share_icon_label),
- (currentActivity)
- -> {
- RecordUserAction.record("SharingHubAndroid.QRCodeSelected");
- recordTimeToShare();
- mBottomSheetController.hideContent(bottomSheet, true);
- QrCodeCoordinator qrCodeCoordinator =
- new QrCodeCoordinator(activity, this::createNewTab);
- QrCodeCoordinator qrCodeCoordinator = new QrCodeCoordinator(activity);
- qrCodeCoordinator.show();
- },
- /*isFirstParty=*/true);
- models.add(qrcodePropertyModel);
-
return models;
}
// Send Tab To Self
PropertyModel sttsPropertyModel =
diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/share/android/java_sources.gni
--- a/chrome/browser/share/android/java_sources.gni
+++ b/chrome/browser/share/android/java_sources.gni
@@ -4,18 +4,6 @@
# TODO(gayane): This should be a separate build target when circular dependencies are removed.
@@ -7,23 +7,5 @@
share_java_sources = [
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/SaveImageNotificationManager.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/ShareImageFileUtils.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QrCodeCoordinator.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QrCodeDialog.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QrCodeDialogTab.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QrCodePageAdapter.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QrCodeShareActivity.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/CameraPreview.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/CameraPreviewOverlay.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/TabLayoutPageListener.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/CameraPreview.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/CameraPreviewOverlay.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/QrCodeScanCoordinator.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/QrCodeScanMediator.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/QrCodeScanView.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/QrCodeScanViewBinder.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/scan_tab/QrCodeScanViewProperties.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/share_tab/QrCodeShareCoordinator.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/share_tab/QrCodeShareMediator.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/share_tab/QrCodeShareView.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/share_tab/QrCodeShareViewBinder.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/share_tab/QrCodeShareViewProperties.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java",
]
--
2.17.1

View file

@ -1,43 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 4 Jan 2020 14:46:12 +0100
Subject: Do not enable QUIC by default
For reference:
* https://brave.com/quic-in-the-wild/
* https://petsymposium.org/2019/files/papers/issue3/popets-2019-0046.pdf
---
.../browser/network_session_configurator.cc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
--- a/components/network_session_configurator/browser/network_session_configurator.cc
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
@@ -186,7 +186,7 @@ bool ShouldEnableQuic(base::StringPiece quic_trial_group,
return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) ||
quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName) ||
base::LowerCaseEqualsASCII(
- GetVariationParam(quic_trial_params, "enable_quic"), "true");
+ GetVariationParam(quic_trial_params, "enable_quic"), "false");
}
bool ShouldEnableQuicProxiesForHttpsUrls(
@@ -194,7 +194,7 @@ bool ShouldEnableQuicProxiesForHttpsUrls(
return base::LowerCaseEqualsASCII(
GetVariationParam(quic_trial_params,
"enable_quic_proxies_for_https_urls"),
- "true");
+ "false");
}
bool ShouldRetryWithoutAltSvcOnQuicErrors(
@@ -475,7 +475,6 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group,
params->enable_quic =
ShouldEnableQuic(quic_trial_group, quic_trial_params,
is_quic_force_disabled, is_quic_force_enabled);
-
params->enable_server_push_cancellation =
ShouldEnableServerPushCancelation(quic_trial_params);
--
2.17.1

View file

@ -63,7 +63,7 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -310,7 +310,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
@@ -292,7 +292,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@ -71,7 +71,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
+ base::FEATURE_DISABLED_BY_DEFAULT};
#endif
// If enabled, policies will use FCM (Firebase Cloud Messaging) for its
// Disables ambient authentication in incognito mode.
--
2.17.1

View file

@ -0,0 +1,26 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:09:24 +0200
Subject: Do not hide component extensions
---
extensions/common/extension.cc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -361,9 +361,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
}
bool Extension::ShouldExposeViaManagementAPI() const {
- // Hide component extensions because they are only extensions as an
- // implementation detail of Chrome.
- return !extensions::Manifest::IsComponentLocation(location());
+ // do not hide component extensions
+ return true;
}
Extension::ManifestData* Extension::GetManifestData(const std::string& key)
--
2.17.1

View file

@ -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
@@ -185,10 +185,10 @@ void AddLocallySavedPredictions(FieldInfoManager* field_info_manager,
@@ -196,10 +196,10 @@ void AddLocallySavedPredictions(FieldInfoManager* field_info_manager,
void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(

View file

@ -9,7 +9,7 @@ Subject: Enable changing default downloads storage location by default
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -310,7 +310,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
@@ -292,7 +292,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsDisabledProvidersParam{
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@ -17,7 +17,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
+ base::FEATURE_ENABLED_BY_DEFAULT};
#endif
// If enabled, policies will use FCM (Firebase Cloud Messaging) for its
// Disables ambient authentication in incognito mode.
--
2.17.1

View file

@ -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
@@ -292,6 +292,10 @@ config("compiler") {
@@ -293,6 +293,10 @@ config("compiler") {
}
}
@ -51,8 +51,8 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+ }
+
# Linker warnings.
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
!is_mac && !is_ios && current_os != "aix") {
if (fatal_linker_warnings && !is_mac && !is_ios && current_os != "aix") {
ldflags += [ "-Wl,--fatal-warnings" ]
--
2.17.1

View file

@ -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
@@ -655,11 +655,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
@@ -603,11 +603,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
@@ -689,7 +685,7 @@ const base::Feature kSiteIsolationForPasswordSites {
@@ -637,7 +633,7 @@ const base::Feature kSiteIsolationForPasswordSites {
// base::SysInfo::AmountOfPhysicalMemoryMB().
const base::Feature kSitePerProcessOnlyForHighMemoryClients{
"site-per-process-only-for-high-memory-clients",

View file

@ -9,7 +9,7 @@ Subject: Enable user-agent freeze by default
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -46,7 +46,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
@@ -47,7 +47,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
const base::Feature kFreezeUserAgent{"FreezeUserAgent",

View file

@ -3,20 +3,21 @@ Date: Sat, 20 Jan 2018 19:44:43 +0100
Subject: Fix crash when accessing page info / site settings
---
chrome/browser/permissions/permission_manager.cc | 3 +++
1 file changed, 3 insertions(+)
components/permissions/permission_manager.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
--- a/chrome/browser/permissions/permission_manager.cc
+++ b/chrome/browser/permissions/permission_manager.cc
@@ -784,6 +784,9 @@ permissions::PermissionResult PermissionManager::GetPermissionStatusHelper(
return permissions::PermissionResult(
status, permissions::PermissionStatusSource::UNSPECIFIED);
diff --git a/components/permissions/permission_manager.cc b/components/permissions/permission_manager.cc
--- a/components/permissions/permission_manager.cc
+++ b/components/permissions/permission_manager.cc
@@ -678,6 +678,10 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
if (status != CONTENT_SETTING_DEFAULT)
return PermissionResult(status, PermissionStatusSource::UNSPECIFIED);
PermissionContextBase* context = GetPermissionContext(permission);
+ if (context == nullptr) {
+ return permissions::PermissionResult(CONTENT_SETTING_BLOCK, permissions::PermissionStatusSource::UNSPECIFIED);
+ return PermissionResult(CONTENT_SETTING_BLOCK, PermissionStatusSource::UNSPECIFIED);
+ }
permissions::PermissionResult result = context->GetPermissionStatus(
+
PermissionResult result = context->GetPermissionStatus(
render_frame_host, canonical_requesting_origin.GetOrigin(),
embedding_origin.GetOrigin());
--

View file

@ -3,13 +3,13 @@ Date: Sun, 13 Aug 2017 19:33:04 -0400
Subject: Hide passwords manager link
---
.../chrome/browser/settings/password/PasswordSettings.java | 4 ++--
.../browser/password_manager/settings/PasswordSettings.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/password/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/password/PasswordSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/password/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/password/PasswordSettings.java
@@ -254,7 +254,7 @@ public class PasswordSettings
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -277,7 +277,7 @@ public class PasswordSettings
return;
}
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/passwo
PreferenceGroup passwordParent;
if (mSearchQuery == null) {
@@ -329,7 +329,7 @@ public class PasswordSettings
@@ -353,7 +353,7 @@ public class PasswordSettings
return;
}

View file

@ -5,35 +5,46 @@ Subject: Increase number of autocomplete matches from 5 to 10
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
---
components/omnibox/browser/autocomplete_result.cc | 3 ++-
components/omnibox/browser/omnibox_field_trial.cc | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
components/omnibox/browser/omnibox_field_trial.cc | 7 +++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
@@ -75,7 +75,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
size_t AutocompleteResult::GetMaxMatches() {
#if (defined(OS_ANDROID))
- constexpr size_t kDefaultMaxAutocompleteMatches = 5;
+ // changed from 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
+ constexpr size_t kDefaultMaxAutocompleteMatches = 10;
if (is_zero_suggest)
return kDefaultMaxAutocompleteMatches;
#elif defined(OS_IOS) // !defined(OS_ANDROID)
constexpr size_t kDefaultMaxAutocompleteMatches = 6;
#else // !defined(OS_ANDROID) && !defined(OS_IOS)
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -338,7 +338,8 @@ void OmniboxFieldTrial::GetDemotionsByType(
@@ -343,9 +343,8 @@ void OmniboxFieldTrial::GetDemotionsByType(
size_t OmniboxFieldTrial::GetProviderMaxMatches(
AutocompleteProvider::Type provider) {
- size_t default_max_matches_per_provider = 3;
-
- std::string param_value = base::GetFieldTrialParamValueByFeature(
+ size_t default_max_matches_per_provider = 5; // was 3; this needs to be half the value of kDefaultMaxAutocompleteMatches from components/omnibox/browser/autocomplete_result.cc
+ return default_max_matches_per_provider;
std::string param_value = base::GetFieldTrialParamValueByFeature(
+/* std::string param_value = base::GetFieldTrialParamValueByFeature(
omnibox::kUIExperimentMaxAutocompleteMatches,
OmniboxFieldTrial::kUIMaxAutocompleteMatchesByProviderParam);
@@ -369,7 +368,7 @@ size_t OmniboxFieldTrial::GetProviderMaxMatches(
else if (k == provider)
return v;
}
- }
+ }*/
return default_max_matches_per_provider;
}
--
2.17.1

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 28 Oct 2017 10:09:41 +0200
Subject: Inject scripts for AMP, tracking, ads and video functionality
Subject: Inject scripts for AMP, tracking, ads and video
Remove AMP, tracking and ads from search/news results
Break Page Visibility API and Fullscreen API for youtube.com and vimeo.com to allow playing videos in background (original Javascript code by timdream)
@ -8,20 +8,20 @@ Set proper injection script nonce
Send a random key press to circumvent idle status detection
---
third_party/blink/renderer/core/dom/BUILD.gn | 2 +
.../blink/renderer/core/dom/document.cc | 60 ++++++++++++++++++-
.../blink/renderer/core/dom/document.h | 2 +
.../blink/renderer/core/dom/document.cc | 62 +++++++++++++++++++
.../blink/renderer/core/dom/document.h | 3 +
.../core/dom/extensions/anti_amp_cure.h | 6 ++
.../core/dom/extensions/video_bg_play.h | 6 ++
.../renderer/core/html/html_script_element.cc | 5 ++
.../renderer/core/html/html_script_element.h | 1 +
7 files changed, 81 insertions(+), 1 deletion(-)
7 files changed, 85 insertions(+)
create mode 100644 third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h
create mode 100644 third_party/blink/renderer/core/dom/extensions/video_bg_play.h
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") {
@@ -140,6 +140,8 @@ blink_core_sources("dom") {
"global_event_handlers.h",
"icon_url.cc",
"icon_url.h",
@ -33,7 +33,7 @@ diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/re
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -261,6 +261,7 @@
@@ -266,6 +266,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"
@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
@@ -323,6 +324,8 @@
@@ -330,6 +331,8 @@
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
@ -50,16 +50,11 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#ifndef NDEBUG
using WeakDocumentSet = blink::HeapHashSet<blink::WeakMember<blink::Document>>;
static WeakDocumentSet& liveDocumentSet();
@@ -6418,8 +6421,63 @@ void Document::FinishedParsing() {
// Parser should have picked up all preloads by now
fetcher_->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
@@ -6703,6 +6706,61 @@ void SetOriginTrialFreezePolicy(
- if (IsPrefetchOnly())
+ if (IsPrefetchOnly()) {
WebPrerenderingSupport::Current()->PrefetchFinished();
+ return;
+ }
+
} // namespace
+void Document::injectScripts() {
+ // determine whether this is a search results page
+ const WTF::String& host = url_.Host();
+ if ((host == nullptr) || host.IsEmpty())
@ -112,16 +107,30 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ return nonce;
+ }
+ return g_null_atom;
}
+}
+
void Document::FinishedParsing() {
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
@@ -6755,6 +6813,10 @@ void Document::FinishedParsing() {
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
frame->Loader().FinishedParsing();
+ if (!IsPrefetchOnly()) {
+ injectScripts();
+ }
+
TRACE_EVENT_INSTANT1("devtools.timeline", "MarkDOMContent",
TRACE_EVENT_SCOPE_THREAD, "data",
inspector_mark_load_event::Data(frame));
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
@@ -1681,6 +1681,8 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1821,6 +1821,9 @@ class CORE_EXPORT Document : public ContainerNode,
void AddAXContext(AXContext*);
void RemoveAXContext(AXContext*);
+ void injectScripts();
+ const AtomicString& findFirstScriptNonce();
+
bool IsDocumentFragment() const =
@ -152,7 +161,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
--- a/third_party/blink/renderer/core/html/html_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
@@ -156,6 +156,11 @@ void HTMLScriptElement::setTextContent(
@@ -167,6 +167,11 @@ void HTMLScriptElement::setTextContent(
}
}
@ -167,10 +176,10 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_party/blink/renderer/core/html/html_script_element.h
--- a/third_party/blink/renderer/core/html/html_script_element.h
+++ b/third_party/blink/renderer/core/html/html_script_element.h
@@ -52,6 +52,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
void setText(const StringOrTrustedScript&, ExceptionState&);
@@ -54,6 +54,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
void setInnerText(const StringOrTrustedScript&, ExceptionState&) override;
void setTextContent(const StringOrTrustedScript&, ExceptionState&) override;
void setTextContent(const String&) override;
+ void setTextDirect(const char*);
void setAsync(bool);

View file

@ -1,8 +1,7 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:09:24 +0200
Date: Sat, 2 May 2020 00:25:25 +0200
Subject: Modify default preferences
Do not hide component extensions
---
chrome/browser/background/background_mode_manager.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 2 +-
@ -18,8 +17,7 @@ Do not hide component extensions
components/autofill/core/common/autofill_prefs.cc | 2 +-
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
.../safe_browsing/core/common/safe_browsing_prefs.cc | 4 ++--
extensions/common/extension.cc | 8 --------
15 files changed, 18 insertions(+), 33 deletions(-)
14 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
--- a/chrome/browser/background/background_mode_manager.cc
@ -36,7 +34,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
@@ -1217,7 +1217,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1178,7 +1178,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@ -72,7 +70,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
@@ -149,7 +149,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
@@ -184,7 +184,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@ -84,7 +82,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
+++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
@@ -50,7 +50,7 @@
@@ -51,7 +51,7 @@
</cr-button>
</div>
<div slot="footer">
@ -151,7 +149,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
@@ -883,10 +883,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
@@ -882,10 +882,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
// suggestions available.
// TODO(mathp): Differentiate between number of suggestions available
// (current metric) and number shown to the user.
@ -163,7 +161,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
}
}
@@ -1524,8 +1521,8 @@ void AutofillManager::Reset() {
@@ -1523,8 +1520,8 @@ void AutofillManager::Reset() {
#if defined(OS_ANDROID) || defined(OS_IOS)
autofill_assistant_.Reset();
#endif
@ -207,7 +205,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar
diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
@@ -175,9 +175,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -198,9 +198,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@ -217,26 +215,8 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo
- prefs::kSafeBrowsingEnabled, true,
+ prefs::kSafeBrowsingEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kSafeBrowsingEnhanced, false);
registry->RegisterBooleanPref(prefs::kSafeBrowsingProceedAnywayDisabled,
false);
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -333,14 +333,6 @@ bool Extension::ShouldDisplayInExtensionSettings(Manifest::Type type,
if (type == Manifest::TYPE_THEME)
return false;
- // Hide component extensions because they are only extensions as an
- // implementation detail of Chrome.
- if (Manifest::IsComponentLocation(location) &&
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kShowComponentExtensionOptions)) {
- return false;
- }
-
// Unless they are unpacked, never show hosted apps. Note: We intentionally
// show packaged apps and platform apps because there are some pieces of
// functionality that are only available in chrome://extensions/ but which
--
2.17.1

View file

@ -57,17 +57,17 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2233,6 +2233,7 @@ jumbo_static_library("browser") {
"//third_party/metrics_proto",
"//third_party/re2",
"//third_party/smhasher:cityhash",
"//services/data_decoder/public/cpp",
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/usb",
+ "//third_party/ungoogled:switches",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/widevine/cdm:buildflags",
"//third_party/zlib",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
"//services/image_annotation:service",
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
@@ -153,6 +153,7 @@
@@ -156,6 +156,7 @@
#include "third_party/blink/public/common/experiments/memory_ablation_experiment.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/forcedark/forcedark_switches.h"
@ -75,7 +75,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "third_party/leveldatabase/leveldb_features.h"
#include "ui/accessibility/accessibility_features.h"
#include "ui/accessibility/accessibility_switches.h"
@@ -1584,12 +1585,24 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1807,12 +1808,24 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
@ -103,7 +103,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -205,6 +205,7 @@ jumbo_source_set("browser") {
@@ -209,6 +209,7 @@ jumbo_source_set("browser") {
"//third_party/libyuv",
"//third_party/re2",
"//third_party/sqlite",
@ -114,7 +114,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -223,6 +223,7 @@
@@ -225,6 +225,7 @@
#include "third_party/blink/public/common/page/launching_process_state.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/public_buildflags.h"
@ -122,7 +122,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/accessibility/accessibility_switches.h"
#include "ui/base/ui_base_switches.h"
@@ -3091,6 +3092,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3221,6 +3222,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisablePreferCompositingToLCDText,
switches::kDisableDatabases,
switches::kDisableFileSystem,
@ -135,7 +135,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
@@ -124,6 +124,7 @@ target(link_target_type, "child") {
@@ -123,6 +123,7 @@ target(link_target_type, "child") {
"//third_party/blink/public/common",
"//third_party/blink/public/strings",
"//third_party/ced",
@ -154,7 +154,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#include "third_party/blink/public/platform/web_runtime_features.h"
#include "ui/accessibility/accessibility_features.h"
#include "ui/base/ui_base_features.h"
@@ -518,6 +519,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -525,6 +526,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
// They're moved here to distinguish them from actual base checks
WebRuntimeFeatures::EnableOverlayScrollbars(ui::IsOverlayScrollbarEnabled());
@ -171,7 +171,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
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
@@ -226,6 +226,9 @@ class WebRuntimeFeatures {
@@ -220,6 +220,9 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableTranslateService(bool);
BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/time/time.h"
#include "cc/input/overscroll_behavior.h"
#include "cc/input/scroll_snap_data.h"
@@ -2439,6 +2440,23 @@ void Document::UpdateStyleAndLayoutTree() {
@@ -2631,6 +2632,23 @@ void Document::UpdateStyleAndLayoutTree() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this);
#endif
@ -219,7 +219,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
@@ -417,6 +417,10 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -534,6 +534,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@ -230,7 +230,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
String visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
@@ -1959,6 +1963,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -2109,6 +2113,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@ -243,7 +243,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -1948,6 +1948,11 @@ DOMRectList* Element::getClientRects() {
@@ -1985,6 +1985,11 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@ -255,7 +255,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -1965,6 +1970,9 @@ DOMRect* Element::getBoundingClientRect() {
@@ -2002,6 +2007,9 @@ DOMRect* Element::getBoundingClientRect() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@ -268,7 +268,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
@@ -1631,6 +1631,12 @@ DOMRectList* Range::getClientRects() const {
@@ -1614,6 +1614,12 @@ DOMRectList* Range::getClientRects() const {
Vector<FloatQuad> quads;
GetBorderAndTextQuads(quads);
@ -281,7 +281,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -1758,7 +1764,11 @@ FloatRect Range::BoundingRect() const {
@@ -1741,7 +1747,11 @@ FloatRect Range::BoundingRect() const {
// If all rects are empty, return the first rect.
if (result.IsEmpty() && !quads.IsEmpty())
@ -337,7 +337,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
@@ -822,9 +822,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
@@ -815,9 +815,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
else
direction = ToTextDirection(GetState().GetDirection(), canvas());
@ -357,7 +357,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
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
@@ -1482,7 +1482,9 @@ jumbo_component("platform") {
@@ -1498,7 +1498,9 @@ jumbo_component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@ -368,19 +368,19 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
public_deps = [
":blink_platform_public_deps",
@@ -1521,6 +1523,7 @@ jumbo_component("platform") {
"//third_party/blink/public/mojom:embedded_frame_sink_mojo_bindings_blink",
@@ -1539,6 +1541,7 @@ jumbo_component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
+ "//third_party/ungoogled:switches",
"//third_party/emoji-segmenter",
"//third_party/harfbuzz-ng:hb_scoped_util",
"//third_party/icu",
"//third_party/libyuv",
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
@@ -690,4 +690,16 @@ void WebRuntimeFeatures::EnableAcceleratedSmallCanvases(bool enable) {
RuntimeEnabledFeatures::SetAcceleratedSmallCanvasesEnabled(enable);
@@ -667,4 +667,16 @@ void WebRuntimeFeatures::EnableTrustTokens(bool enable) {
RuntimeEnabledFeatures::SetTrustTokensEnabled(enable);
}
+void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@ -612,7 +612,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
@@ -34,6 +34,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
@@ -35,6 +35,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {}
@ -624,8 +624,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
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
@@ -728,6 +728,15 @@
name: "FetchMetadataDestination",
@@ -731,6 +731,15 @@
origin_trial_feature_name: "FeaturePolicyReporting",
status: "experimental"
},
+ {
@ -638,8 +638,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ name: "FingerprintingCanvasImageDataNoise",
+ },
{
name: "FileHandling",
// NativeFileSystem is in Origin Trial, which doesn't support having
name: "FeaturePolicyVibrateFeature"
},
diff --git a/third_party/ungoogled/BUILD.gn b/third_party/ungoogled/BUILD.gn
new file mode 100644
--- /dev/null

View file

@ -3,25 +3,43 @@ Date: Wed, 14 Feb 2018 12:56:01 +0100
Subject: Never fetch popular sites
---
components/ntp_tiles/popular_sites_impl.cc | 6 ++++++
1 file changed, 6 insertions(+)
components/ntp_tiles/popular_sites_impl.cc | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
--- a/components/ntp_tiles/popular_sites_impl.cc
+++ b/components/ntp_tiles/popular_sites_impl.cc
@@ -275,6 +275,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
@@ -61,7 +61,6 @@ const char kPopularSitesDefaultDirectory[] = "chrome/ntp/";
const char kPopularSitesDefaultCountryCode[] = "DEFAULT";
const char kPopularSitesDefaultVersion[] = "5";
const int kSitesExplorationStartVersion = 6;
-const int kPopularSitesRedownloadIntervalHours = 24;
GURL GetPopularSitesURL(const std::string& directory,
const std::string& country,
@@ -275,7 +274,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
DCHECK(!callback_);
callback_ = std::move(callback);
- const base::Time last_download_time = base::Time::FromInternalValue(
+ if (force_download) {
+ std::move(callback_).Run(true);
+ return true;
+ }
+ return false;
+
const base::Time last_download_time = base::Time::FromInternalValue(
+/* const base::Time last_download_time = base::Time::FromInternalValue(
prefs_->GetInt64(prefs::kPopularSitesLastDownloadPref));
const base::TimeDelta time_since_last_download =
base::Time::Now() - last_download_time;
@@ -292,7 +296,7 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
(time_since_last_download > redownload_interval) || url_changed) {
FetchPopularSites();
return true;
- }
+ }*/
return false;
}
--
2.17.1

View file

@ -3,22 +3,31 @@ Date: Mon, 12 Feb 2018 21:43:35 +0100
Subject: Never send any crash upload data
---
chrome/browser/tracing/crash_service_uploader.cc | 3 +++
1 file changed, 3 insertions(+)
chrome/browser/tracing/crash_service_uploader.cc | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
@@ -126,6 +126,9 @@ void TraceCrashServiceUploader::DoUpload(
@@ -127,14 +127,16 @@ void TraceCrashServiceUploader::DoUpload(
UploadDoneCallback done_callback) {
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
- progress_callback_ = progress_callback;
+ std::move(done_callback).Run(false, "crash uploads are disabled");
+ return;
+
progress_callback_ = progress_callback;
+/* progress_callback_ = progress_callback;
done_callback_ = std::move(done_callback);
base::ThreadPool::PostTask(
FROM_HERE, {base::TaskPriority::BEST_EFFORT},
base::BindOnce(&TraceCrashServiceUploader::DoCompressOnBackgroundThread,
base::Unretained(this), file_contents, upload_mode,
- upload_url_, std::move(metadata)));
+ upload_url_, std::move(metadata)));*/
}
void TraceCrashServiceUploader::DoCompressOnBackgroundThread(
--
2.17.1

View file

@ -3,13 +3,13 @@ Date: Thu, 11 Jan 2018 13:27:34 +0200
Subject: Open YouTube links in Bromite
---
.../browser/externalnav/ExternalNavigationHandler.java | 8 ++++++++
.../external_intents/ExternalNavigationHandler.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -440,6 +440,7 @@ public class ExternalNavigationHandler {
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
@@ -429,6 +429,7 @@ public class ExternalNavigationHandler {
Uri.parse(WebView.SCHEME_TEL
+ params.getUrl().substring(WTAI_MC_URL_PREFIX.length()))),
false);
@ -17,7 +17,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
if (DEBUG) Log.i(TAG, "wtai:// link handled");
RecordUserAction.record("Android.PhoneIntent");
return true;
@@ -804,6 +805,13 @@ public class ExternalNavigationHandler {
@@ -792,6 +793,13 @@ public class ExternalNavigationHandler {
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
}
@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
+
// This should come after file intents, but before any returns of
// OVERRIDE_WITH_EXTERNAL_INTENT.
if (externalIntentRequestsDisabled()) return OverrideUrlLoadingResult.NO_OVERRIDE;
if (externalIntentRequestsDisabledForUrl(params)) {
--
2.17.1

View file

@ -4,9 +4,9 @@ Subject: Reduce HTTP headers in DoH requests to bare minimum
---
net/base/load_flags_list.h | 9 +++++++++
net/dns/dns_transaction.cc | 1 +
net/dns/dns_transaction.cc | 2 +-
net/url_request/url_request_http_job.cc | 16 +++++++++++-----
3 files changed, 21 insertions(+), 5 deletions(-)
3 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
--- a/net/base/load_flags_list.h
@ -27,18 +27,19 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -405,6 +405,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
// perspective to prevent the client from sending AIA requests).
@@ -402,7 +402,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
// Disable secure DNS for any DoH server hostname lookups to avoid deadlock.
request_->SetDisableSecureDns(true);
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
LOAD_BYPASS_PROXY |
+ LOAD_IGNORE_LIMITS | LOAD_MINIMAL_HEADERS |
LOAD_DISABLE_CERT_NETWORK_FETCHES);
- LOAD_BYPASS_PROXY);
+ LOAD_MINIMAL_HEADERS | LOAD_BYPASS_PROXY);
request_->set_allow_credentials(false);
}
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -278,6 +278,7 @@ void URLRequestHttpJob::Start() {
@@ -279,6 +279,7 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
@ -46,7 +47,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Our consumer should have made sure that this is a safe referrer. See for
// instance WebCore::FrameLoader::HideReferrer.
if (referrer.is_valid()) {
@@ -293,11 +294,14 @@ void URLRequestHttpJob::Start() {
@@ -294,11 +295,14 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
referer_value);
}
@ -61,7 +62,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -510,10 +514,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -490,10 +494,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
} else {
// Advertise "br" encoding only if transferred data is opaque to proxy.
bool advertise_brotli = false;
@ -78,7 +79,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
}
@@ -531,7 +537,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -511,7 +517,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}

View file

@ -3,14 +3,15 @@ Date: Sun, 3 Nov 2019 08:22:29 +0100
Subject: Remove SMS integration
---
.../content/browser/sms/SmsReceiver.java | 30 +++----------------
.../content/browser/sms/Wrappers.java | 11 +------
2 files changed, 5 insertions(+), 36 deletions(-)
.../browser/sms/SmsUserConsentReceiver.java | 33 ++-----------------
.../browser/sms/SmsVerificationReceiver.java | 30 ++---------------
.../content/browser/sms/Wrappers.java | 14 +-------
3 files changed, 6 insertions(+), 71 deletions(-)
diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/SmsReceiver.java b/content/public/android/java/src/org/chromium/content/browser/sms/SmsReceiver.java
--- a/content/public/android/java/src/org/chromium/content/browser/sms/SmsReceiver.java
+++ b/content/public/android/java/src/org/chromium/content/browser/sms/SmsReceiver.java
@@ -11,11 +11,6 @@ import android.content.IntentFilter;
diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java b/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java
--- a/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java
+++ b/content/public/android/java/src/org/chromium/content/browser/sms/SmsUserConsentReceiver.java
@@ -12,11 +12,6 @@ import android.content.IntentFilter;
import androidx.annotation.VisibleForTesting;
@ -22,7 +23,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.annotations.CalledByNative;
@@ -42,18 +37,6 @@ public class SmsReceiver extends BroadcastReceiver {
@@ -45,18 +40,6 @@ public class SmsUserConsentReceiver extends BroadcastReceiver {
mSmsProviderAndroid = smsProviderAndroid;
mContext = new Wrappers.SmsReceiverContext(ContextUtils.getApplicationContext());
@ -41,15 +42,97 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm
}
@CalledByNative
@@ -66,7 +49,6 @@ public class SmsReceiver extends BroadcastReceiver {
@@ -69,7 +52,6 @@ public class SmsUserConsentReceiver extends BroadcastReceiver {
private void destroy() {
if (DEBUG) Log.d(TAG, "Destroying SmsReceiver.");
if (DEBUG) Log.d(TAG, "Destroying SmsUserConsentReceiver.");
mDestroyed = true;
- mContext.unregisterReceiver(this);
}
@Override
@@ -77,7 +59,7 @@ public class SmsReceiver extends BroadcastReceiver {
@@ -82,7 +64,7 @@ public class SmsUserConsentReceiver extends BroadcastReceiver {
return;
}
- if (!SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {
+ /*if (!SmsRetriever.SMS_RETRIEVED_ACTION.equals(intent.getAction())) {
return;
}
@@ -114,28 +96,19 @@ public class SmsUserConsentReceiver extends BroadcastReceiver {
if (DEBUG) Log.d(TAG, "Timeout");
SmsUserConsentReceiverJni.get().onTimeout(mSmsProviderAndroid);
break;
- }
+ }*/
}
void onConsentResult(int resultCode, Intent data) {
- if (resultCode == Activity.RESULT_OK) {
- String message = data.getStringExtra(SmsRetriever.EXTRA_SMS_MESSAGE);
- SmsUserConsentReceiverJni.get().onReceive(mSmsProviderAndroid, message);
- } else if (resultCode == Activity.RESULT_CANCELED) {
- if (DEBUG) Log.d(TAG, "Activity result cancelled.");
- }
+ Log.d(TAG, "Activity result discarded.");
}
@CalledByNative
private void listen(WindowAndroid windowAndroid) {
mWindowAndroid = windowAndroid;
- Task<Void> task = getClient().startSmsUserConsent(null);
- if (DEBUG) Log.d(TAG, "Installed task");
}
private Wrappers.SmsRetrieverClientWrapper getClient() {
- if (mClient != null) return mClient;
- mClient = new Wrappers.SmsRetrieverClientWrapper(SmsRetriever.getClient(mContext));
return mClient;
}
diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/SmsVerificationReceiver.java b/content/public/android/java/src/org/chromium/content/browser/sms/SmsVerificationReceiver.java
--- a/content/public/android/java/src/org/chromium/content/browser/sms/SmsVerificationReceiver.java
+++ b/content/public/android/java/src/org/chromium/content/browser/sms/SmsVerificationReceiver.java
@@ -11,11 +11,6 @@ import android.content.IntentFilter;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.auth.api.phone.SmsRetriever;
-import com.google.android.gms.common.api.CommonStatusCodes;
-import com.google.android.gms.common.api.Status;
-import com.google.android.gms.tasks.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.annotations.CalledByNative;
@@ -42,18 +37,6 @@ public class SmsVerificationReceiver extends BroadcastReceiver {
mSmsProviderAndroid = smsProviderAndroid;
mContext = new Wrappers.SmsReceiverContext(ContextUtils.getApplicationContext());
-
- // A broadcast receiver is registered upon the creation of this class
- // which happens when the SMS Retriever API is used for the first time
- // since chrome last restarted (which, on android, happens frequently).
- // The broadcast receiver is fairly lightweight (e.g. it responds
- // quickly without much computation).
- // If this broadcast receiver becomes more heavyweight, we should make
- // this registration expire after the SMS message is received.
- if (DEBUG) Log.d(TAG, "Registering intent filters.");
- IntentFilter filter = new IntentFilter();
- filter.addAction(SmsRetriever.SMS_RETRIEVED_ACTION);
- mContext.registerReceiver(this, filter);
}
@CalledByNative
@@ -66,7 +49,6 @@ public class SmsVerificationReceiver extends BroadcastReceiver {
private void destroy() {
if (DEBUG) Log.d(TAG, "Destroying SmsVerificationReceiver.");
mDestroyed = true;
- mContext.unregisterReceiver(this);
}
@Override
@@ -77,7 +59,7 @@ public class SmsVerificationReceiver extends BroadcastReceiver {
return;
}
@ -58,12 +141,12 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm
return;
}
@@ -104,22 +86,18 @@ public class SmsReceiver extends BroadcastReceiver {
@@ -104,22 +86,14 @@ public class SmsVerificationReceiver extends BroadcastReceiver {
if (DEBUG) Log.d(TAG, "Timeout");
SmsReceiverJni.get().onTimeout(mSmsProviderAndroid);
SmsVerificationReceiverJni.get().onTimeout(mSmsProviderAndroid);
break;
- }
+ } */
+ }*/
}
@CalledByNative
@ -76,11 +159,9 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Sm
private Wrappers.SmsRetrieverClientWrapper getClient() {
- if (mClient != null) {
+/* if (mClient != null) {
return mClient;
}
- return mClient;
- }
- mClient = new Wrappers.SmsRetrieverClientWrapper(SmsRetriever.getClient(mContext));
+ mClient = new Wrappers.SmsRetrieverClientWrapper(SmsRetriever.getClient(mContext)); */
return mClient;
}
@ -110,13 +191,16 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Wr
}
public void setContext(SmsReceiverContext context) {
@@ -35,10 +30,6 @@ class Wrappers {
public SmsReceiverContext getContext() {
@@ -36,13 +31,6 @@ class Wrappers {
return mContext;
}
-
- public Task<Void> startSmsRetriever() {
- return mSmsRetrieverClient.startSmsRetriever();
- }
-
- public Task<Void> startSmsUserConsent(String senderAddress) {
- return mSmsRetrieverClient.startSmsUserConsent(senderAddress);
- }
}

View file

@ -1,8 +1,6 @@
From: Wengling Chen <feiyu2817@gmail.com>
Date: Sat, 2 Nov 2019 08:58:19 +0100
Subject: Remove dependency on
com.google.android.gms.common/auth/signin/dynamic,
com.google.android.gms.tasks
Subject: Remove dependency on auth, signin, dynamic and tasks
---
chrome/android/BUILD.gn | 8 --
@ -19,7 +17,8 @@ Subject: Remove dependency on
.../browser/omaha/UpdateStatusProvider.java | 10 +--
.../PasswordManagerLauncher.java | 20 +----
chrome/test/android/BUILD.gn | 2 -
components/background_task_scheduler/BUILD.gn | 10 ---
components/background_task_scheduler/BUILD.gn | 4 -
.../internal/BUILD.gn | 6 --
.../signin/core/browser/android/BUILD.gn | 2 -
.../signin/GmsAvailabilityException.java | 4 +-
content/public/android/BUILD.gn | 3 -
@ -29,15 +28,15 @@ Subject: Remove dependency on
services/BUILD.gn | 4 -
services/device/geolocation/BUILD.gn | 2 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 34 --------
third_party/android_deps/BUILD.gn | 41 ----------
third_party/cacheinvalidation/BUILD.gn | 1 -
third_party/robolectric/BUILD.gn | 2 -
27 files changed, 16 insertions(+), 271 deletions(-)
28 files changed, 16 insertions(+), 278 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -222,9 +222,6 @@ android_library("chrome_java") {
@@ -262,9 +262,6 @@ android_library("chrome_java") {
":partner_location_descriptor_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@ -46,8 +45,8 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
"//chrome/android/features/keyboard_accessory:public_java",
@@ -622,8 +619,6 @@ junit_binary("chrome_junit_tests") {
"//chrome/android/features/cablev2_authenticator:public_java",
@@ -694,8 +691,6 @@ junit_binary("chrome_junit_tests") {
":chrome_app_java_resources",
":chrome_java",
":partner_location_descriptor_proto_java",
@ -56,7 +55,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -730,9 +725,6 @@ android_library("chrome_test_java") {
@@ -806,9 +801,6 @@ android_library("chrome_test_java") {
":chrome_app_java_resources",
":chrome_test_util_java",
":partner_location_descriptor_proto_java",
@ -81,9 +80,9 @@ diff --git a/chrome/android/features/media_router/BUILD.gn b/chrome/android/feat
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
@@ -9,9 +9,6 @@ import android.support.v7.media.MediaRouter;
import androidx.annotation.Nullable;
@@ -8,9 +8,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.mediarouter.media.MediaRouter;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
@ -91,7 +90,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -44,9 +41,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
@@ -43,9 +40,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
int googleApiAvailabilityResult =
AppHooks.get().isGoogleApiAvailableWithMinApkVersion(
MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
@ -105,7 +104,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
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
@@ -841,15 +841,6 @@ by a child template that "extends" this file.
@@ -842,15 +842,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@ -124,7 +123,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -14,9 +14,6 @@ import android.view.View;
@@ -11,9 +11,6 @@ import android.view.View;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@ -134,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -370,16 +367,7 @@ public abstract class AppHooks {
@@ -326,16 +323,7 @@ public abstract class AppHooks {
* same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
*/
public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
@ -268,9 +267,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Us
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ThreadUtils;
import org.chromium.base.metrics.CachedMetrics.ActionEvent;
import org.chromium.base.metrics.RecordUserAction;
@@ -97,7 +95,6 @@ public abstract class UserRecoverableErrorHandler {
@@ -90,7 +88,6 @@ public abstract class UserRecoverableErrorHandler {
if (!sNotificationShown.getAndSet(true)) {
return;
}
@ -278,7 +277,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Us
}
}
@@ -190,11 +187,7 @@ public abstract class UserRecoverableErrorHandler {
@@ -183,11 +180,7 @@ public abstract class UserRecoverableErrorHandler {
cancelDialog();
}
if (mDialog == null) {
@ -537,7 +536,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.AppHooks;
@@ -89,22 +87,6 @@ public class PasswordManagerLauncher {
@@ -88,22 +86,6 @@ public class PasswordManagerLauncher {
}
private static boolean tryShowingTheGooglePasswordManager(Activity activity) {
@ -564,7 +563,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -177,8 +177,6 @@ android_library("chrome_java_test_support") {
@@ -200,8 +200,6 @@ android_library("chrome_java_test_support") {
"javatests/src/org/chromium/chrome/test/util/browser/webapps/WebappTestPage.java",
]
deps = [
@ -576,37 +575,40 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
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
@@ -52,9 +52,6 @@ if (is_android) {
deps = [
":background_task_scheduler_task_ids_java",
":scheduled_task_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//content/public/android:content_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
@@ -75,9 +72,6 @@ if (is_android) {
deps = [
":background_task_scheduler_java",
":background_task_scheduler_task_ids_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
"//content/public/test/android:content_java_test_support",
@@ -105,10 +99,6 @@ if (is_android) {
@@ -116,10 +116,6 @@ if (is_android) {
]
deps = [
":background_task_scheduler_java",
- "$google_play_services_package:google_play_services_auth_base_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
"internal:internal_java",
"internal:proto_java",
"//base:base_java",
diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
--- a/components/background_task_scheduler/internal/BUILD.gn
+++ b/components/background_task_scheduler/internal/BUILD.gn
@@ -26,9 +26,6 @@ if (is_android) {
deps = [
":proto_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/background_task_scheduler:public_java",
@@ -96,9 +93,6 @@ if (is_android) {
deps = [
":internal_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
diff --git a/components/signin/core/browser/android/BUILD.gn b/components/signin/core/browser/android/BUILD.gn
--- a/components/signin/core/browser/android/BUILD.gn
+++ b/components/signin/core/browser/android/BUILD.gn
@ -642,7 +644,7 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -49,9 +49,6 @@ action("generate_sandboxed_service_srcjar") {
@@ -75,9 +75,6 @@ action("generate_sandboxed_service_srcjar") {
android_library("content_java") {
deps = [
":content_java_resources",
@ -655,7 +657,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -2344,9 +2344,6 @@ if (is_android) {
@@ -2422,9 +2422,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -668,7 +670,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -388,8 +388,6 @@ if (is_android) {
@@ -382,8 +382,6 @@ if (is_android) {
junit_binary("device_junit_tests") {
sources = [ "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java" ]
deps = [
@ -693,7 +695,7 @@ diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_jav
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -103,8 +103,6 @@ if (is_android) {
@@ -102,8 +102,6 @@ if (is_android) {
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
]
deps = [
@ -702,7 +704,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -132,8 +130,6 @@ if (is_android) {
@@ -131,8 +129,6 @@ if (is_android) {
"shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
]
deps = [
@ -738,15 +740,18 @@ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -850,40 +850,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
]
@@ -1133,37 +1133,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
skip_jetify = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_base_java") {
- aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
- deps = [
- ":androidx_collection_collection_java",
- ":androidx_core_core_java",
- ":androidx_fragment_fragment_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
@ -757,18 +762,29 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_basement_java") {
- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info"
- deps = [ ":com_android_support_support_v4_java" ]
- deps = [
- ":androidx_collection_collection_java",
- ":androidx_core_core_java",
- ":androidx_fragment_fragment_java",
- ]
-
- # Removing drawables from GMS .aars as they are unused bloat.
- strip_drawables = true
- input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
-}
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_gcm_java") {
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
@@ -1182,16 +1151,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
strip_drawables = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_tasks_java") {
- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
- deps = [ ":google_play_services_basement_java" ]
-
@ -793,15 +809,15 @@ diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidat
diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
--- a/third_party/robolectric/BUILD.gn
+++ b/third_party/robolectric/BUILD.gn
@@ -939,8 +939,6 @@ java_library("shadows_play_services_java") {
@@ -1162,8 +1162,6 @@ java_library("shadows_play_services_java") {
":robolectric_shadowapi_java",
":robolectric_utils_java",
":shadows_core_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//third_party/android_deps:android_support_v4_java",
"//third_party/android_deps:com_google_guava_guava_java",
"//third_party/gson:gson_java",
"//third_party/android_deps:com_android_support_support_annotations_java",
"//third_party/android_deps:com_google_code_gson_gson_java",
--
2.17.1

View file

@ -3,20 +3,21 @@ Date: Sat, 2 Nov 2019 09:29:52 +0100
Subject: Remove dependency on com.google.android.gcm
---
third_party/android_sdk/BUILD.gn | 3 --
third_party/android_sdk/BUILD.gn | 4 ---
.../client/android2/AndroidManifest.xml | 35 -------------------
.../AndroidMessageReceiverService.java | 17 ---------
.../channel/AndroidMessageSenderService.java | 3 +-
4 files changed, 1 insertion(+), 57 deletions(-)
4 files changed, 1 insertion(+), 58 deletions(-)
diff --git a/third_party/android_sdk/BUILD.gn b/third_party/android_sdk/BUILD.gn
--- a/third_party/android_sdk/BUILD.gn
+++ b/third_party/android_sdk/BUILD.gn
@@ -63,7 +63,4 @@ if (enable_java_templates) {
@@ -64,8 +64,4 @@ if (enable_java_templates) {
testonly = true
sources = [ "//third_party/android_sdk/public/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java" ]
}
- android_java_prebuilt("android_gcm_java") {
- skip_jetify = true
- jar_path = "//third_party/android_sdk/public/extras/google/gcm/gcm-client/dist/gcm.jar"
- }
}

View file

@ -5,18 +5,17 @@ Subject: Remove dependency on com.google.android.gms.auth
---
chrome/android/BUILD.gn | 1 -
.../signin/core/browser/android/BUILD.gn | 1 -
.../components/signin/AccountIdProvider.java | 10 +----
.../signin/SystemAccountManagerDelegate.java | 15 +------
.../signin/SystemAccountManagerDelegate.java | 22 +--------
content/public/android/BUILD.gn | 1 -
content/test/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 44 -------------------
third_party/android_deps/BUILD.gn | 47 -------------------
third_party/robolectric/BUILD.gn | 1 -
8 files changed, 2 insertions(+), 72 deletions(-)
7 files changed, 2 insertions(+), 72 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -222,7 +222,6 @@ android_library("chrome_java") {
@@ -262,7 +262,6 @@ android_library("chrome_java") {
":partner_location_descriptor_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@ -35,39 +34,12 @@ diff --git a/components/signin/core/browser/android/BUILD.gn b/components/signin
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountIdProvider.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountIdProvider.java
--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountIdProvider.java
+++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/AccountIdProvider.java
@@ -6,9 +6,6 @@ package org.chromium.components.signin;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -48,12 +45,7 @@ public class AccountIdProvider {
* Google Play services is available.
*/
public boolean canBeUsed() {
- // TODO(http://crbug.com/577190): Remove StrictMode override.
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
- int resultCode = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext());
- return resultCode == ConnectionResult.SUCCESS;
- }
+ return false;
}
/**
diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
+++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
@@ -24,9 +24,6 @@ import android.os.PatternMatcher;
import android.os.Process;
import android.os.SystemClock;
@@ -26,9 +26,6 @@ import android.os.SystemClock;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
@ -75,7 +47,7 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -82,17 +79,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -85,17 +82,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
}
protected void checkCanUseGooglePlayServices() throws AccountManagerDelegateException {
@ -94,10 +66,24 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
}
@Override
@@ -181,12 +168,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@Override
public boolean isGooglePlayServicesAvailable() {
- // TODO(http://crbug.com/577190): Remove StrictMode override.
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
- int resultCode = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext());
- return resultCode == ConnectionResult.SUCCESS;
- }
+ return false;
}
protected boolean hasGetAccountsPermission() {
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -49,7 +49,6 @@ action("generate_sandboxed_service_srcjar") {
@@ -75,7 +75,6 @@ action("generate_sandboxed_service_srcjar") {
android_library("content_java") {
deps = [
":content_java_resources",
@ -108,7 +94,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -2344,7 +2344,6 @@ if (is_android) {
@@ -2422,7 +2422,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -119,15 +105,17 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -850,50 +850,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
]
@@ -1133,53 +1133,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
skip_jetify = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_auth_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info"
- deps = [
- ":androidx_fragment_fragment_java",
- ":androidx_loader_loader_java",
- ":google_play_services_auth_api_phone_java",
- ":google_play_services_auth_base_java",
- ":google_play_services_base_java",
@ -141,7 +129,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_auth_api_phone_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-17.1.0.aar"
- info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info"
- deps = [
- ":google_play_services_base_java",
@ -155,9 +143,10 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_auth_base_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info"
- deps = [
- ":androidx_collection_collection_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
@ -169,11 +158,11 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_base_java") {
aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-15.0.1.aar"
aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-17.0.0.aar"
diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
--- a/third_party/robolectric/BUILD.gn
+++ b/third_party/robolectric/BUILD.gn
@@ -939,7 +939,6 @@ java_library("shadows_play_services_java") {
@@ -1162,7 +1162,6 @@ java_library("shadows_play_services_java") {
":robolectric_shadowapi_java",
":robolectric_utils_java",
":shadows_core_java",

View file

@ -23,13 +23,13 @@ Subject: Remove dependency on com.google.android.gms.cast
.../remoting/RemotingSessionController.java | 21 ----
chrome/android/java/AndroidManifest.xml | 28 -----
chrome/test/android/cast_emulator/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 33 -----
21 files changed, 27 insertions(+), 784 deletions(-)
third_party/android_deps/BUILD.gn | 39 ------
21 files changed, 27 insertions(+), 790 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -224,8 +224,6 @@ android_library("chrome_java") {
@@ -264,8 +264,6 @@ android_library("chrome_java") {
":usage_stats_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
@@ -626,8 +624,6 @@ junit_binary("chrome_junit_tests") {
@@ -698,8 +696,6 @@ junit_binary("chrome_junit_tests") {
":partner_location_descriptor_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -47,7 +47,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -736,8 +732,6 @@ android_library("chrome_test_java") {
@@ -812,8 +808,6 @@ android_library("chrome_test_java") {
":partner_location_descriptor_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -121,9 +121,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
@@ -9,41 +9,24 @@ import android.support.v7.media.MediaRouter.RouteInfo;
import androidx.annotation.Nullable;
@@ -8,41 +8,24 @@ import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
-import com.google.android.gms.cast.CastDevice;
-
@ -165,7 +165,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/**
@@ -53,17 +36,8 @@ public class MediaSink {
@@ -52,17 +35,8 @@ public class MediaSink {
return CAST_SINK_URN_PREFIX + getId();
}
@ -183,7 +183,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
return false;
}
@@ -71,23 +45,15 @@ public class MediaSink {
@@ -70,23 +44,15 @@ public class MediaSink {
public int hashCode() {
final int prime = 31;
int result = 1;
@ -208,7 +208,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/**
@@ -98,10 +64,6 @@ public class MediaSink {
@@ -97,10 +63,6 @@ public class MediaSink {
*/
@Nullable
public static MediaSink fromSinkId(String sinkId, MediaRouter router) {
@ -630,9 +630,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
@@ -12,9 +12,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@@ -12,9 +12,6 @@ import androidx.mediarouter.media.MediaRouteSelector;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
-import com.google.android.gms.cast.framework.CastSession;
-import com.google.android.gms.cast.framework.SessionManagerListener;
@ -771,16 +771,16 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMediaRouteProvider.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMediaRouteProvider.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMediaRouteProvider.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMediaRouteProvider.java
@@ -12,8 +12,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -11,8 +11,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.mediarouter.media.MediaRouter;
-import com.google.android.gms.cast.framework.CastSession;
-
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.ChromeMediaRouter;
import org.chromium.chrome.browser.media.router.ClientRecord;
@@ -148,20 +146,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
@@ -147,20 +145,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
return mMessageHandler;
}
@ -805,8 +805,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMessageHandler.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafMessageHandler.java
@@ -13,10 +13,6 @@ import android.util.SparseArray;
import androidx.annotation.VisibleForTesting;
import androidx.collection.ArrayMap;
-import com.google.android.gms.cast.ApplicationMetadata;
-import com.google.android.gms.common.api.PendingResult;
@ -949,9 +949,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastMediaSource.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastMediaSource.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastMediaSource.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastMediaSource.java
@@ -9,8 +9,6 @@ import android.support.v7.media.MediaRouteSelector;
@@ -9,8 +9,6 @@ import android.net.Uri;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
@ -1167,7 +1167,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafExpandedControllerActivity.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafExpandedControllerActivity.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafExpandedControllerActivity.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafExpandedControllerActivity.java
@@ -44,15 +44,11 @@ public class CafExpandedControllerActivity
@@ -45,15 +45,11 @@ public class CafExpandedControllerActivity
@Override
public void play() {
if (!mSessionController.isConnected()) return;
@ -1183,7 +1183,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
@Override
@@ -70,27 +66,19 @@ public class CafExpandedControllerActivity
@@ -71,27 +67,19 @@ public class CafExpandedControllerActivity
@Override
public void seekTo(long pos) {
if (!mSessionController.isConnected()) return;
@ -1212,7 +1212,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
return flags;
}
};
@@ -179,20 +167,10 @@ public class CafExpandedControllerActivity
@@ -180,20 +168,10 @@ public class CafExpandedControllerActivity
private void updateUi() {
if (!mSessionController.isConnected()) return;
@ -1353,8 +1353,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingMediaSource.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingMediaSource.java
@@ -12,8 +12,6 @@ import android.util.Base64;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
@ -1429,7 +1429,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
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
@@ -163,12 +163,6 @@ by a child template that "extends" this file.
@@ -164,12 +164,6 @@ by a child template that "extends" this file.
<meta-data android:name="com.google.ar.core" android:value="optional" />
{% endif %}
@ -1442,7 +1442,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Note: All activities directly or indirectly derived from ChromeActivity
must specify android:hardwareAccelerated="false".
@@ -767,16 +761,6 @@ by a child template that "extends" this file.
@@ -768,16 +762,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@ -1459,7 +1459,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- This activity is used to restart the main Chrome process. Should never be exported. -->
<activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
android:launchMode="singleInstance"
@@ -1200,18 +1184,6 @@ android:value="true" />
@@ -1205,18 +1189,6 @@ android:value="true" />
{% endif %}
{% block extra_application_definitions %}
@ -1488,20 +1488,21 @@ diff --git a/chrome/test/android/cast_emulator/BUILD.gn b/chrome/test/android/ca
- "$google_play_services_package:google_play_services_cast_java",
"//base:base_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/android_deps:com_android_support_mediarouter_v7_java",
"//third_party/android_deps:androidx_mediarouter_mediarouter_java",
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -874,39 +874,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
@@ -1164,45 +1164,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_cast_java") {
- aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-16.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info"
- deps = [
- ":com_android_support_mediarouter_v7_java",
- ":androidx_core_core_java",
- ":androidx_mediarouter_mediarouter_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_flags_java",
@ -1514,11 +1515,16 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_cast_framework_java") {
- aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-16.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info"
- deps = [
- ":com_android_support_mediarouter_v7_java",
- ":com_android_support_recyclerview_v7_java",
- ":androidx_appcompat_appcompat_java",
- ":androidx_collection_collection_java",
- ":androidx_core_core_java",
- ":androidx_fragment_fragment_java",
- ":androidx_media_media_java",
- ":androidx_mediarouter_mediarouter_java",
- ":androidx_recyclerview_recyclerview_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_cast_java",
@ -1530,8 +1536,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-}
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_tasks_java") {
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-15.0.1.aar"
android_aar_prebuilt("google_play_services_gcm_java") {
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
--
2.17.1

View file

@ -9,11 +9,11 @@ The snippets are already disabled in native codes, this will disable it on Java
.../browser/ChromeBackgroundService.java | 4 -
.../ntp/snippets/SnippetsLauncher.java | 2 +-
.../gcm/ChromeGcmListenerService.java | 58 +-----------
components/background_task_scheduler/BUILD.gn | 3 -
.../BackgroundTaskGcmTaskService.java | 63 +------------
.../BackgroundTaskSchedulerFactory.java | 6 +-
components/background_task_scheduler/BUILD.gn | 1 -
.../internal/BUILD.gn | 2 -
.../BackgroundTaskGcmTaskService.java | 78 +---------------
...ackgroundTaskSchedulerFactoryInternal.java | 6 +-
...kgroundTaskSchedulerGcmNetworkManager.java | 14 +--
third_party/android_deps/BUILD.gn | 15 ----
third_party/cacheinvalidation/BUILD.gn | 1 -
.../android2/AndroidManifestUpdatedGcm.xml | 20 -----
.../channel/AndroidGcmController.java | 42 +--------
@ -24,7 +24,7 @@ The snippets are already disabled in native codes, this will disable it on Java
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -227,7 +227,6 @@ android_library("chrome_java") {
@@ -267,7 +267,6 @@ android_library("chrome_java") {
"$google_play_services_package:google_play_services_cast_framework_java",
"$google_play_services_package:google_play_services_cast_java",
"$google_play_services_package:google_play_services_fido_java",
@ -32,7 +32,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_iid_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
@@ -744,7 +743,6 @@ android_library("chrome_test_java") {
@@ -820,7 +819,6 @@ android_library("chrome_test_java") {
"$google_play_services_package:google_play_services_cast_framework_java",
"$google_play_services_package:google_play_services_cast_java",
"$google_play_services_package:google_play_services_fido_java",
@ -40,14 +40,14 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_iid_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
@@ -1526,7 +1524,6 @@ android_library("browser_java_test_support") {
@@ -1659,7 +1657,6 @@ android_library("browser_java_test_support") {
]
deps = [
":chrome_java",
- "$google_play_services_package:google_play_services_gcm_java",
"//base:base_java",
"//base:base_java_test_support",
"//chrome/android/public/profiles:java",
"//chrome/browser/profiles/android:java",
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
@ -161,33 +161,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/Ch
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
@@ -54,7 +54,6 @@ if (is_android) {
":scheduled_task_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//content/public/android:content_java",
@@ -78,7 +77,6 @@ if (is_android) {
":background_task_scheduler_task_ids_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
@@ -110,7 +108,6 @@ if (is_android) {
@@ -119,7 +119,6 @@ if (is_android) {
"$google_play_services_package:google_play_services_auth_base_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"internal:internal_java",
"internal:proto_java",
diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
--- a/components/background_task_scheduler/internal/BUILD.gn
+++ b/components/background_task_scheduler/internal/BUILD.gn
@@ -28,7 +28,6 @@ if (is_android) {
":proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
@@ -99,7 +98,6 @@ if (is_android) {
":internal_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_gcm_java",
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskService.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskService.java
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskService.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskService.java
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
@@ -8,10 +8,6 @@ import android.os.Build;
import androidx.annotation.VisibleForTesting;
@ -199,7 +202,7 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
@@ -21,7 +17,7 @@ import java.util.concurrent.TimeUnit;
@@ -23,16 +19,9 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
/** Delegates calls out to various tasks that need to run in the background. */
@ -207,8 +210,17 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
+public class BackgroundTaskGcmTaskService {
private static final String TAG = "BkgrdTaskGcmTS";
private BackgroundTaskSchedulerGcmNetworkManager.Clock mClock = System::currentTimeMillis;
@@ -90,63 +86,6 @@ public class BackgroundTaskGcmTaskService extends GcmTaskService {
- private BackgroundTaskSchedulerGcmNetworkManager.Clock mClock = System::currentTimeMillis;
-
- @VisibleForTesting
- void setClockForTesting(BackgroundTaskSchedulerGcmNetworkManager.Clock clock) {
- mClock = clock;
- }
-
/** Class that waits for the processing to be done. */
private static class Waiter {
// Wakelock is only held for 3 minutes by default for GcmTaskService.
@@ -92,69 +81,4 @@ public class BackgroundTaskGcmTaskService extends GcmTaskService {
}
}
@ -218,12 +230,13 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
- BackgroundTaskSchedulerGcmNetworkManager.getTaskParametersFromTaskParams(params);
-
- final BackgroundTask backgroundTask =
- BackgroundTaskSchedulerFactory.getBackgroundTaskFromTaskId(taskParams.getTaskId());
- BackgroundTaskSchedulerFactoryInternal.getBackgroundTaskFromTaskId(
- taskParams.getTaskId());
- if (backgroundTask == null) {
- Log.w(TAG, "Failed to start task. Could not instantiate BackgroundTask class.");
- // Cancel task if the BackgroundTask class is not found anymore. We assume this means
- // that the task has been deprecated.
- BackgroundTaskSchedulerFactory.getScheduler().cancel(
- BackgroundTaskSchedulerFactoryInternal.getScheduler().cancel(
- ContextUtils.getApplicationContext(), taskParams.getTaskId());
- return GcmNetworkManager.RESULT_FAILURE;
- }
@ -269,13 +282,18 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
- return GcmNetworkManager.RESULT_SUCCESS;
- }
-
@Override
public void onInitializeTasks() {
// Ignore the event on OSs supporting JobScheduler.
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerFactory.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerFactory.java
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerFactory.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerFactory.java
@@ -18,11 +18,7 @@ public final class BackgroundTaskSchedulerFactory {
- @Override
- public void onInitializeTasks() {
- // Ignore the event on OSs supporting JobScheduler.
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
- BackgroundTaskSchedulerFactoryInternal.getScheduler().reschedule(
- ContextUtils.getApplicationContext());
- }
}
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
@@ -21,11 +21,7 @@ public final class BackgroundTaskSchedulerFactoryInternal {
private static BackgroundTaskFactory sBackgroundTaskFactory;
static BackgroundTaskSchedulerDelegate getSchedulerDelegateForSdk(int sdkInt) {
@ -288,10 +306,10 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
}
/**
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit;
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit;
* An implementation of {@link BackgroundTaskSchedulerDelegate} that uses the Play Services
* {@link GcmNetworkManager} to schedule jobs.
*/
@ -300,7 +318,7 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
private static final String TAG = "BkgrdTaskSchedGcmNM";
/** Delta time for expiration checks, after the end time. */
@@ -35,18 +35,6 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
@@ -37,18 +37,6 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
sClock = clock;
}
@ -319,31 +337,6 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
private static String taskIdToTaskTag(int taskId) {
return Integer.toString(taskId);
}
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -921,21 +921,6 @@ android_aar_prebuilt("google_play_services_fido_java") {
strip_drawables = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_gcm_java") {
- aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-15.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_iid_java",
- ":google_play_services_stats_java",
- ]
-
- # Removing drawables from GMS .aars as they are unused bloat.
- strip_drawables = true
-}
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_iid_java") {
aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-15.0.1.aar"
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn

View file

@ -14,9 +14,9 @@ Subject: Remove dependency on com.google.android.play
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -363,7 +363,6 @@ android_library("chrome_java") {
@@ -432,7 +432,6 @@ android_library("chrome_java") {
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
"//third_party/cacheinvalidation:cacheinvalidation_proto_java",
"//third_party/cct_dynamic_module:cct_dynamic_module_java",
"//third_party/gif_player:gif_player_java",
- "//third_party/google_android_play_core:com_google_android_play_core_java",
"//third_party/jsr-305:jsr_305_javalib",

View file

@ -1,27 +1,29 @@
From: Wengling Chen <feiyu2817@gmail.com>
Date: Sat, 2 Nov 2019 07:58:48 +0100
Subject: Remove dependency on com.google.android.gms.fido,
com.google.android.gms.iid, com.google.android.gms.instantapps,
com.google.android.gms.location
Subject: Remove dependency on fido, iid, instantapps and location
---
chrome/android/BUILD.gn | 5 -
.../ExternalNavigationHandler.java | 4 -
.../instantapps/InstantAppsHandler.java | 59 +---------
chrome/android/chrome_java_sources.gni | 3 -
.../org/chromium/chrome/browser/AppHooks.java | 9 --
.../ExternalNavigationDelegateImpl.java | 8 +-
.../instantapps/InstantAppsHandler.java | 62 -----------
.../browser/webauth/AuthenticatorImpl.java | 30 +----
.../gcm_driver/instance_id/android/BUILD.gn | 2 -
.../instance_id/InstanceIDWithSubtype.java | 28 +----
content/public/common/content_features.cc | 2 +-
device/BUILD.gn | 1 -
services/device/geolocation/BUILD.gn | 1 -
.../geolocation/LocationProviderGmsCore.java | 103 +-----------------
third_party/android_deps/BUILD.gn | 58 ----------
third_party/android_deps/BUILD.gn | 60 ----------
third_party/cacheinvalidation/BUILD.gn | 1 -
.../android2/AndroidManifestUpdatedGcm.xml | 3 -
11 files changed, 9 insertions(+), 256 deletions(-)
15 files changed, 16 insertions(+), 302 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -226,8 +226,6 @@ android_library("chrome_java") {
@@ -266,8 +266,6 @@ android_library("chrome_java") {
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_cast_framework_java",
"$google_play_services_package:google_play_services_cast_java",
@ -30,7 +32,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
@@ -630,7 +628,6 @@ junit_binary("chrome_junit_tests") {
@@ -702,7 +700,6 @@ junit_binary("chrome_junit_tests") {
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_cast_framework_java",
"$google_play_services_package:google_play_services_cast_java",
@ -38,7 +40,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -741,8 +738,6 @@ android_library("chrome_test_java") {
@@ -817,8 +814,6 @@ android_library("chrome_test_java") {
"$google_play_services_package:google_play_services_basement_java",
"$google_play_services_package:google_play_services_cast_framework_java",
"$google_play_services_package:google_play_services_cast_java",
@ -47,24 +49,67 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -679,10 +679,6 @@ public class ExternalNavigationHandler {
if (shouldProxyForInstantApps) {
RecordHistogram.recordEnumeratedHistogram("Android.InstantApps.DirectInstantAppsIntent",
AiaIntent.SERP, AiaIntent.NUM_ENTRIES);
- targetIntent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
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
@@ -1860,9 +1860,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/webapps/dependency_injection/WebappActivityModule.java",
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorFactory.java",
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java",
- "java/src/org/chromium/chrome/browser/webauth/Fido2ApiHandler.java",
- "java/src/org/chromium/chrome/browser/webauth/Fido2CredentialRequest.java",
- "java/src/org/chromium/chrome/browser/webauth/Fido2Helper.java",
"java/src/org/chromium/chrome/browser/webauth/HandlerResponseCallback.java",
"java/src/org/chromium/chrome/browser/webshare/BlobReceiver.java",
"java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -50,7 +50,6 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.ui.ImmersiveModeManager;
import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient;
import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
-import org.chromium.chrome.browser.webauth.Fido2ApiHandler;
import org.chromium.chrome.browser.xsurface.SurfaceDependencyProvider;
import org.chromium.chrome.browser.xsurface.SurfaceRenderer;
import org.chromium.components.browser_ui.widget.FeatureHighlightProvider;
@@ -300,14 +299,6 @@ public abstract class AppHooks {
return new FeedbackSourceProvider() {};
}
- /**
- * @return a new {@link Fido2ApiHandler} instance.
- */
- public Fido2ApiHandler createFido2ApiHandler() {
- // TODO(nsatragno): remove after cleaning up Fido2ApiHandlerInternal.
- return new Fido2ApiHandler();
- }
-
/**
* @return A new {@link FeatureHighlightProvider}.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -572,12 +572,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public void maybeAdjustInstantAppExtras(Intent intent, boolean isIntentToInstantApp) {
- if (isIntentToInstantApp) {
- intent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
- } else {
- // Make sure this extra is not sent unless we've done the verification.
- targetIntent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
}
- intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
- }
+ // Always remove this extra
+ intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
}
// The intent can be used to launch Chrome itself, record the user
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
@@ -44,36 +44,6 @@ public class InstantAppsHandler {
@@ -43,36 +43,9 @@ public class InstantAppsHandler {
// TODO(mariakhomenko): Use system once we roll to O SDK.
private static final int FLAG_DO_NOT_LAUNCH = 0x00000200;
@ -81,9 +126,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
- protected static final String TRUSTED_REFERRER_PKG_EXTRA =
- "com.google.android.gms.instantapps.TRUSTED_REFERRER_PKG";
-
- public static final String IS_GOOGLE_SEARCH_REFERRER =
- "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
-
public static final String IS_GOOGLE_SEARCH_REFERRER =
"com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
- private static final String BROWSER_LAUNCH_REASON =
- "com.google.android.gms.instantapps.BROWSER_LAUNCH_REASON";
-
@ -101,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
/** Finch experiment name. */
private static final String INSTANT_APPS_EXPERIMENT_NAME = "InstantApps";
@@ -125,14 +95,6 @@ public class InstantAppsHandler {
@@ -101,14 +74,6 @@ public class InstantAppsHandler {
* @return Whether the given intent is going to open an Instant App.
*/
public static boolean isIntentToInstantApp(Intent intent) {
@ -116,22 +161,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
return false;
}
@@ -169,13 +131,7 @@ public class InstantAppsHandler {
sFallbackIntentTimes.record(SystemClock.elapsedRealtime() - startTime);
intent.removeExtra(INSTANT_APP_START_TIME_EXTRA);
}
@@ -143,20 +108,6 @@ public class InstantAppsHandler {
* @param intent The current intent.
*/
private void maybeRecordFallbackStats(Intent intent) {
- Long startTime = IntentUtils.safeGetLongExtra(intent, INSTANT_APP_START_TIME_EXTRA, 0);
- if (startTime > 0) {
- RecordHistogram.recordTimesHistogram("Android.InstantApps.FallbackDuration",
- SystemClock.elapsedRealtime() - startTime);
- intent.removeExtra(INSTANT_APP_START_TIME_EXTRA);
- }
- int callSource = IntentUtils.safeGetIntExtra(intent, BROWSER_LAUNCH_REASON, 0);
- if (callSource > 0 && callSource < SOURCE_BOUNDARY) {
- sFallbackCallSource.record(callSource);
- RecordHistogram.recordEnumeratedHistogram(
- "Android.InstantApps.CallSource", callSource, SOURCE_BOUNDARY);
- intent.removeExtra(BROWSER_LAUNCH_REASON);
- } else if (callSource >= SOURCE_BOUNDARY) {
- Log.e(TAG, "Unexpected call source constant for Instant Apps: " + callSource);
- }
+ Log.e(TAG, "Unexpected call source constant for Instant Apps");
}
/**
@@ -210,14 +166,6 @@ public class InstantAppsHandler {
@@ -191,14 +142,6 @@ public class InstantAppsHandler {
return false;
}
@ -146,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
if (IntentUtils.safeGetBooleanExtra(
intent, IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, false)
|| IntentUtils.safeHasExtra(intent, ShortcutHelper.EXTRA_SOURCE)
@@ -242,7 +190,6 @@ public class InstantAppsHandler {
@@ -223,7 +166,6 @@ public class InstantAppsHandler {
}
Intent callbackIntent = new Intent(intent);
@ -154,7 +205,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
callbackIntent.putExtra(INSTANT_APP_START_TIME_EXTRA, startTime);
return tryLaunchingInstantApp(context, intent, isCustomTabsIntent, callbackIntent);
@@ -345,12 +292,9 @@ public class InstantAppsHandler {
@@ -326,12 +268,9 @@ public class InstantAppsHandler {
Intent iaIntent = data.getIntent();
if (data.getReferrer() != null) {
iaIntent.putExtra(Intent.EXTRA_REFERRER, data.getReferrer());
@ -167,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
try {
appContext.startActivity(iaIntent);
@@ -396,7 +340,6 @@ public class InstantAppsHandler {
@@ -377,7 +316,6 @@ public class InstantAppsHandler {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return info.isInstantAppAvailable;
} else if (info.activityInfo != null) {
@ -175,6 +226,60 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
}
return false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
@@ -69,14 +69,8 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
mMakeCredentialCallback = callback;
Context context = ChromeActivity.fromWebContents(mWebContents);
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
- return;
- }
-
- mIsOperationPending = true;
- Fido2ApiHandler.getInstance().makeCredential(options, mRenderFrameHost, this);
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
+ return;
}
@Override
@@ -89,14 +83,7 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
mGetAssertionCallback = callback;
Context context = ChromeActivity.fromWebContents(mWebContents);
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
- return;
- }
-
- mIsOperationPending = true;
- Fido2ApiHandler.getInstance().getAssertion(options, mRenderFrameHost, this);
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
}
@Override
@@ -115,15 +102,8 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
return;
}
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
- callback.call(false);
- return;
- }
-
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(callback);
- Fido2ApiHandler.getInstance().isUserVerifyingPlatformAuthenticatorAvailable(
- mRenderFrameHost, this);
+ callback.call(false);
+ return;
}
@Override
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
--- a/components/gcm_driver/instance_id/android/BUILD.gn
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
@ -279,10 +384,22 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
}
/** Fake subclasses can set {@link #sFakeFactoryForTesting} to an implementation of this. */
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
@@ -730,7 +730,7 @@ const base::Feature kWebContentsOcclusion {
// Controls whether the WebAuthentication API is enabled:
// https://w3c.github.io/webauthn
const base::Feature kWebAuth{"WebAuthentication",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether CTAP2 devices can communicate via the WebAuthentication API
// using pairingless BLE protocol.
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -390,7 +390,6 @@ if (is_android) {
@@ -384,7 +384,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -454,13 +571,13 @@ diff --git a/services/device/geolocation/android/java/src/org/chromium/device/ge
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -907,64 +907,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
@@ -1203,20 +1203,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
strip_resources = !is_java_debug
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_fido_java") {
- aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-18.1.0.aar"
- info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info"
- deps = [
- ":google_play_services_base_java",
@ -472,11 +589,20 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- strip_drawables = true
-}
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_gcm_java") {
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
@@ -1235,52 +1221,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
strip_drawables = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_iid_java") {
- aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info"
- deps = [
- ":androidx_collection_collection_java",
- ":androidx_core_core_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_stats_java",
@ -489,7 +615,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_instantapps_java") {
- aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-16.0.0.aar"
- aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info"
- deps = [
- ":google_play_services_base_java",
@ -503,7 +629,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_location_java") {
- aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info"
- deps = [
- ":google_play_services_base_java",
@ -518,7 +644,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_tasks_java") {
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-15.0.1.aar"
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-17.0.0.aar"
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn

View file

@ -1,22 +1,21 @@
From: Wengling Chen <feiyu2817@gmail.com>
Date: Sat, 2 Nov 2019 07:57:37 +0100
Subject: Remove dependency on com.google.android.gms.flags,
com.google.android.gms.location.places, com.google.android.gms.stats
Subject: Remove dependency on flags, places and stats
---
third_party/android_deps/BUILD.gn | 28 ----------------------------
1 file changed, 28 deletions(-)
third_party/android_deps/BUILD.gn | 31 -------------------------------
1 file changed, 31 deletions(-)
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -1709,34 +1709,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
@@ -2067,37 +2067,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
visibility = [ ":*" ]
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_places_placereport_java") {
- aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_places_placereport/com_google_android_gms_play_services_places_placereport.info"
-
- # To remove visibility constraint, add this dependency to
@ -30,13 +29,16 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_stats_java") {
- aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [ ":*" ]
- deps = [ ":google_play_services_basement_java" ]
- deps = [
- ":androidx_legacy_legacy_support_core_utils_java",
- ":google_play_services_basement_java",
- ]
-
- # Removing drawables from GMS .aars as they are unused bloat.
- strip_drawables = true

View file

@ -1,22 +1,21 @@
From: Wengling Chen <feiyu2817@gmail.com>
Date: Fri, 1 Nov 2019 23:10:47 +0100
Subject: Remove dependency on com.google.android.gms.vision,
com.google.android.gms.clearcut, com.google.android.gms.phenotype
Subject: Remove dependency on vision, clearcut and phenotype
---
services/BUILD.gn | 4 -
services/shape_detection/BUILD.gn | 2 -
.../shape_detection/BarcodeDetectionImpl.java | 114 +---------------
.../BarcodeDetectionProviderImpl.java | 18 +--
.../BarcodeDetectionProviderImpl.java | 30 +----
.../FaceDetectionImplGmsCore.java | 122 +-----------------
.../shape_detection/TextDetectionImpl.java | 60 +--------
third_party/android_deps/BUILD.gn | 83 ------------
7 files changed, 10 insertions(+), 393 deletions(-)
third_party/android_deps/BUILD.gn | 86 ------------
7 files changed, 10 insertions(+), 408 deletions(-)
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -105,8 +105,6 @@ if (is_android) {
@@ -104,8 +104,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -25,7 +24,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -136,8 +134,6 @@ if (is_android) {
@@ -135,8 +133,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -199,9 +198,9 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java
@@ -4,9 +4,6 @@
package org.chromium.shape_detection;
@@ -8,9 +8,6 @@ import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
@ -209,7 +208,7 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.mojo.bindings.InterfaceRequest;
@@ -35,12 +32,6 @@ public class BarcodeDetectionProviderImpl implements BarcodeDetectionProvider {
@@ -39,12 +36,6 @@ public class BarcodeDetectionProviderImpl implements BarcodeDetectionProvider {
// Keep this list in sync with the constants defined in
// com.google.android.gms.vision.barcode.Barcode and the format hints
// supported by BarcodeDetectionImpl.
@ -222,18 +221,30 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect
}
@Override
@@ -50,12 +41,7 @@ public class BarcodeDetectionProviderImpl implements BarcodeDetectionProvider {
@@ -54,24 +45,7 @@ public class BarcodeDetectionProviderImpl implements BarcodeDetectionProvider {
public void onConnectionError(MojoException e) {}
public static BarcodeDetectionProvider create() {
- if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext())
- Context ctx = ContextUtils.getApplicationContext();
- if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(ctx)
- != ConnectionResult.SUCCESS) {
- Log.e(TAG, "Google Play Services not available");
- Log.w(TAG, "Google Play Services not available");
- return null;
- }
- try {
- PackageInfo playServicesPackage = ctx.getPackageManager().getPackageInfo(
- GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, 0);
- if (playServicesPackage.versionCode < 19742000) {
- // https://crbug.com/1020746
- Log.w(TAG, "Detection disabled (%s < 19.7.42)", playServicesPackage.versionName);
- return null;
- }
- } catch (NameNotFoundException e) {
- Log.w(TAG, "Google Play Services not available");
- return null;
- }
- return new BarcodeDetectionProviderImpl();
+ Log.e(TAG, "Google Play Services not available");
+ Log.w(TAG, "Google Play Services not available");
+ return null;
}
}
@ -483,13 +494,13 @@ diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detect
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -975,35 +975,6 @@ android_aar_prebuilt("google_play_services_tasks_java") {
@@ -1291,36 +1291,6 @@ android_aar_prebuilt("google_play_services_tasks_java") {
strip_drawables = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_vision_java") {
- aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-18.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_vision/com_google_android_gms_play_services_vision.info"
- deps = [
- ":google_play_services_base_java",
@ -503,13 +514,14 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_vision_common_java") {
- aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-18.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_vision_common/com_google_android_gms_play_services_vision_common.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_clearcut_java",
- ":google_play_services_flags_java",
- ":google_play_services_phenotype_java",
- ]
-
- # Removing drawables from GMS .aars as they are unused bloat.
@ -519,19 +531,20 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path = "libs/com_google_android_material_material/material-1.0.0-rc02.aar"
@@ -1738,60 +1709,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
@@ -2097,62 +2067,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
visibility = [ ":*" ]
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_clearcut_java") {
- aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [ ":*" ]
- deps = [
- ":androidx_core_core_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_phenotype_java",
@ -544,7 +557,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_flags_java") {
- aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info"
-
- # To remove visibility constraint, add this dependency to
@ -561,13 +574,14 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_phenotype_java") {
- aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-15.0.1.aar"
- aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_phenotype/com_google_android_gms_play_services_phenotype.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [ ":*" ]
- deps = [
- ":androidx_core_core_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
@ -579,7 +593,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_places_placereport_java") {
aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-15.0.1.aar"
aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-17.0.0.aar"
--
2.17.1

View file

@ -0,0 +1,39 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 3 May 2020 12:15:33 +0200
Subject: Remove google_services_gcm
---
third_party/android_deps/BUILD.gn | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -1133,24 +1133,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
skip_jetify = true
}
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_gcm_java") {
- aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info"
- deps = [
- ":androidx_collection_collection_java",
- ":androidx_core_core_java",
- ":androidx_legacy_legacy_support_core_utils_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_iid_java",
- ":google_play_services_stats_java",
- ]
-
- # Removing drawables from GMS .aars as they are unused bloat.
- strip_drawables = true
-}
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path = "libs/com_google_android_material_material/material-1.0.0-rc02.aar"
--
2.17.1

View file

@ -25,15 +25,15 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -1979,15 +1979,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1895,15 +1895,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
- if (id == R.id.help_id) {
- String url = currentTab != null ? currentTab.getUrl() : "";
- String url = currentTab != null ? currentTab.getUrlString() : "";
- Profile profile = mTabModelSelector.isIncognitoSelected()
- ? Profile.getLastUsedProfile().getOffTheRecordProfile()
- : Profile.getLastUsedProfile().getOriginalProfile();
- ? Profile.getLastUsedRegularProfile().getOffTheRecordProfile()
- : Profile.getLastUsedRegularProfile();
- startHelpAndFeedback(url, "MobileMenuFeedback", profile);
- return true;
- }
@ -57,7 +57,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/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -229,7 +229,7 @@ public abstract class BaseCustomTabActivity<C extends BaseCustomTabActivityCompo
@@ -270,7 +270,7 @@ public abstract class BaseCustomTabActivity<C extends BaseCustomTabActivityCompo
@Override
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.

View file

@ -20,23 +20,23 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
chrome/android/java/AndroidManifest.xml | 28 ------
.../android/java/res/xml/main_preferences.xml | 14 ---
.../chrome/browser/ChromeActivity.java | 34 -------
.../chrome/browser/settings/MainSettings.java | 90 +------------------
.../DataReductionPreferenceFragment.java | 24 ++---
.../settings/privacy/PrivacySettings.java | 7 --
.../sync/SyncAndServicesSettings.java | 8 --
.../chrome/browser/signin/SigninManager.java | 68 ++------------
.../privacy/settings/PrivacySettings.java | 6 --
.../chrome/browser/settings/MainSettings.java | 90 +------------------
.../chrome/browser/signin/SigninManager.java | 58 ++----------
.../settings/SyncAndServicesSettings.java | 8 --
.../android/signin/signin_manager_android.cc | 1 -
.../strings/android_chrome_strings.grd | 18 ----
.../strings/android_chrome_strings.grd | 15 ----
.../signin/SystemAccountManagerDelegate.java | 38 +-------
.../components/sync/AndroidSyncSettings.java | 24 +----
.../net/HttpNegotiateAuthenticator.java | 88 +-----------------
.../chromoting/base/OAuthTokenFetcher.java | 2 -
15 files changed, 25 insertions(+), 422 deletions(-)
15 files changed, 25 insertions(+), 408 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1121,8 +1121,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
@@ -1248,8 +1248,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
resources = [
"java/res_template/xml/file_paths.xml",
"java/res_template/xml/launchershortcuts.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
@@ -43,22 +43,16 @@ by a child template that "extends" this file.
@@ -43,23 +43,17 @@ by a child template that "extends" this file.
{% if target_sdk_version|int > 27 or target_sdk_version == "Q" %}
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
{% endif %}
@ -64,6 +64,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
- <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
@ -72,7 +73,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" %}
<!-- Indicates use of Android's VR-mode, available only on Android N+. -->
@@ -99,8 +93,6 @@ by a child template that "extends" this file.
@@ -100,8 +94,6 @@ by a child template that "extends" this file.
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
@ -81,7 +82,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
{% endblock %}
@@ -961,16 +953,6 @@ by a child template that "extends" this file.
@@ -962,16 +954,6 @@ by a child template that "extends" this file.
android:resource="@xml/file_paths" />
</provider>
@ -98,7 +99,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Broadcast receiver that will be notified of account changes -->
<receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
<intent-filter>
@@ -1078,16 +1060,6 @@ by a child template that "extends" this file.
@@ -1079,16 +1061,6 @@ by a child template that "extends" this file.
<service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
android:exported="false"/>
@ -126,7 +127,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
- android:key="account_section"
- android:order="0"
- android:title="@string/prefs_section_account"/>
- <org.chromium.chrome.browser.settings.sync.SignInPreference
- <org.chromium.chrome.browser.sync.settings.SignInPreference
- android:key="sign_in"
- android:order="1"
- android:title="@string/sign_in_to_chrome"/>
@ -138,29 +139,29 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
android:key="languages"
android:order="15"
android:title="@string/language_settings"/>
- <org.chromium.chrome.browser.settings.ChromeBasePreference
- android:fragment="org.chromium.chrome.browser.settings.datareduction.DataReductionPreferenceFragment"
- <org.chromium.components.browser_ui.settings.ChromeBasePreference
- android:fragment="org.chromium.chrome.browser.datareduction.settings.DataReductionPreferenceFragment"
- android:key="data_reduction"
- android:order="16"
- android:title="@string/data_reduction_title_lite_mode"/>
<org.chromium.chrome.browser.settings.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.settings.download.DownloadSettings"
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.download.settings.DownloadSettings"
android:key="downloads"
diff --git a/chrome/android/java/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
@@ -125,8 +125,6 @@ import org.chromium.chrome.browser.profiles.Profile;
@@ -119,8 +119,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegateImpl;
-import org.chromium.chrome.browser.sync.ProfileSyncService;
-import org.chromium.chrome.browser.sync.SyncController;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabHidingType;
@@ -252,9 +250,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@SuppressLint("NewApi")
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
@@ -241,9 +239,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private boolean mRemoveWindowBackgroundDone;
protected AccessibilityVisibilityHandler mAccessibilityVisibilityHandler;
- // Observes when sync becomes ready to create the mContextReporter.
- private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
@ -168,7 +169,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
@Nullable
private ChromeFullscreenManager mFullscreenManager;
@@ -873,28 +868,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -847,28 +842,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private void createContextReporterIfNeeded() {
if (!mStarted) return; // Sync state reporting should work only in started state.
if (mContextReporter != null || getActivityTab() == null) return;
@ -197,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
}
@Override
@@ -966,13 +939,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -940,13 +913,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
GSAAccountChangeListener.getInstance().disconnect();
}
@ -211,31 +212,94 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
if (mContextReporter != null) mContextReporter.disable();
super.onStopWithNative();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/settings/DataReductionPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/datareduction/settings/DataReductionPreferenceFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/settings/DataReductionPreferenceFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/datareduction/settings/DataReductionPreferenceFragment.java
@@ -52,10 +52,10 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
SettingsUtils.addPreferencesFromResource(this, R.xml.data_reduction_preferences);
getActivity().setTitle(R.string.data_reduction_title_lite_mode);
- boolean isEnabled = DataReductionProxySettings.getInstance().isDataReductionProxyEnabled();
- mIsEnabled = !isEnabled;
- mWasEnabledAtCreation = isEnabled;
- updatePreferences(isEnabled);
+
+ mIsEnabled = false;
+ mWasEnabledAtCreation = false;
+ updatePreferences(false);
setHasOptionsMenu(true);
@@ -150,21 +150,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
* Returns summary string.
*/
public static String generateSummary(Resources resources) {
- if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) {
- ContentLengths length = DataReductionProxySettings.getInstance().getContentLengths();
-
- // If received is less than show chart threshold than don't show summary.
- if (ConversionUtils.bytesToKilobytes(length.getReceived())
- < DataReductionProxySettings.DATA_REDUCTION_SHOW_CHART_KB_THRESHOLD) {
- return "";
- }
-
- String percent = generatePercentSavings(length);
- return resources.getString(
- R.string.data_reduction_menu_item_summary_lite_mode, percent);
- } else {
- return (String) resources.getText(R.string.text_off);
- }
+ return (String) resources.getText(R.string.text_off);
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -41,9 +41,6 @@ public class PrivacySettings
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
- private static final String PREF_SYNC_AND_SERVICES_LINK_DIVIDER =
- "sync_and_services_link_divider";
- private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -66,9 +63,6 @@ public class PrivacySettings
networkPredictionPref.setOnPreferenceChangeListener(this);
networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER));
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK));
-
ChromeBaseCheckBoxPreference searchSuggestionsPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
searchSuggestionsPref.setOnPreferenceChangeListener(this);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
@@ -19,20 +19,14 @@ import org.chromium.base.ContextUtils;
@@ -17,19 +17,13 @@ import androidx.preference.PreferenceFragmentCompat;
import org.chromium.base.ContextUtils;
import org.chromium.chrome.R;
-import org.chromium.chrome.browser.datareduction.settings.DataReductionPreferenceFragment;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.FeatureUtilities;
import org.chromium.chrome.browser.homepage.HomepageManager;
-import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.night_mode.NightModeUtils;
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchConfiguration;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.settings.datareduction.DataReductionPreferenceFragment;
import org.chromium.chrome.browser.settings.developer.DeveloperSettings;
-import org.chromium.chrome.browser.settings.sync.SignInPreference;
import org.chromium.chrome.browser.settings.sync.SyncSettingsUtils;
-import org.chromium.chrome.browser.signin.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.SigninManager;
-import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.components.search_engines.TemplateUrl;
import org.chromium.components.search_engines.TemplateUrlService;
@@ -43,16 +37,11 @@ import java.util.Map;
-import org.chromium.chrome.browser.sync.settings.SignInPreference;
import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
import org.chromium.chrome.browser.tracing.settings.DeveloperSettings;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
@@ -45,23 +39,17 @@ import java.util.Map;
* The main settings screen, shown when the user first opens Settings.
*/
public class MainSettings extends PreferenceFragmentCompat
@ -251,9 +315,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
public static final String PREF_UI_THEME = "ui_theme";
- public static final String PREF_DATA_REDUCTION = "data_reduction";
public static final String PREF_NOTIFICATIONS = "notifications";
public static final String PREF_LANGUAGES = "languages";
public static final String PREF_DOWNLOADS = "downloads";
@@ -60,7 +49,6 @@ public class MainSettings extends PreferenceFragmentCompat
public static final String PREF_DEVELOPER = "developer";
private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
private final Map<String, Preference> mAllPreferences = new HashMap<>();
@ -261,7 +324,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
public MainSettings() {
setHasOptionsMenu(true);
@@ -83,35 +71,16 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -84,35 +72,16 @@ public class MainSettings extends PreferenceFragmentCompat
@Override
public void onDestroy() {
super.onDestroy();
@ -297,7 +360,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
}
@Override
@@ -124,12 +93,9 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -125,12 +94,9 @@ public class MainSettings extends PreferenceFragmentCompat
SettingsUtils.addPreferencesFromResource(this, R.xml.main_preferences);
cachePreferences();
@ -310,7 +373,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// If we are on Android O+ the Notifications preference should lead to the Android
@@ -175,7 +141,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -176,7 +142,6 @@ public class MainSettings extends PreferenceFragmentCompat
Preference preference = getPreferenceScreen().getPreference(index);
mAllPreferences.put(preference.getKey(), preference);
}
@ -318,7 +381,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
}
private void setManagedPreferenceDelegateForPreference(String key) {
@@ -184,13 +149,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -185,13 +150,6 @@ public class MainSettings extends PreferenceFragmentCompat
}
private void updatePreferences() {
@ -332,7 +395,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
updateSearchEnginePreference();
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
@@ -207,10 +165,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -208,10 +166,6 @@ public class MainSettings extends PreferenceFragmentCompat
} else {
removePreferenceIfPresent(PREF_DEVELOPER);
}
@ -343,7 +406,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
}
private Preference addPreferenceIfAbsent(String key) {
@@ -224,13 +178,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -225,13 +179,6 @@ public class MainSettings extends PreferenceFragmentCompat
if (preference != null) getPreferenceScreen().removePreference(preference);
}
@ -357,7 +420,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
private void updateSearchEnginePreference() {
if (!TemplateUrlServiceFactory.get().isLoaded()) {
ChromeBasePreference searchEnginePref =
@@ -262,28 +209,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -263,28 +210,6 @@ public class MainSettings extends PreferenceFragmentCompat
pref.setSummary(isOn ? R.string.text_on : R.string.text_off);
}
@ -386,7 +449,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
// TemplateUrlService.LoadListener implementation.
@Override
public void onTemplateUrlServiceLoaded() {
@@ -291,11 +216,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -292,11 +217,6 @@ public class MainSettings extends PreferenceFragmentCompat
updateSearchEnginePreference();
}
@ -398,8 +461,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
@VisibleForTesting
public ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
return mManagedPreferenceDelegate;
@@ -305,9 +225,6 @@ public class MainSettings extends PreferenceFragmentCompat
return new ManagedPreferenceDelegate() {
@@ -306,9 +226,6 @@ public class MainSettings extends PreferenceFragmentCompat
return new ChromeManagedPreferenceDelegate() {
@Override
public boolean isPreferenceControlledByPolicy(Preference preference) {
- if (PREF_DATA_REDUCTION.equals(preference.getKey())) {
@ -408,7 +471,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
return TemplateUrlServiceFactory.get().isDefaultSearchManaged();
}
@@ -316,11 +233,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -317,11 +234,6 @@ public class MainSettings extends PreferenceFragmentCompat
@Override
public boolean isPreferenceClickDisabledByPolicy(Preference preference) {
@ -420,105 +483,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
return TemplateUrlServiceFactory.get().isDefaultSearchManaged();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/datareduction/DataReductionPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/datareduction/DataReductionPreferenceFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/datareduction/DataReductionPreferenceFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/datareduction/DataReductionPreferenceFragment.java
@@ -50,10 +50,10 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
SettingsUtils.addPreferencesFromResource(this, R.xml.data_reduction_preferences);
getActivity().setTitle(R.string.data_reduction_title_lite_mode);
- boolean isEnabled = DataReductionProxySettings.getInstance().isDataReductionProxyEnabled();
- mIsEnabled = !isEnabled;
- mWasEnabledAtCreation = isEnabled;
- updatePreferences(isEnabled);
+
+ mIsEnabled = false;
+ mWasEnabledAtCreation = false;
+ updatePreferences(false);
setHasOptionsMenu(true);
@@ -148,21 +148,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
* Returns summary string.
*/
public static String generateSummary(Resources resources) {
- if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) {
- ContentLengths length = DataReductionProxySettings.getInstance().getContentLengths();
-
- // If received is less than show chart threshold than don't show summary.
- if (ConversionUtils.bytesToKilobytes(length.getReceived())
- < DataReductionProxySettings.DATA_REDUCTION_SHOW_CHART_KB_THRESHOLD) {
- return "";
- }
-
- String percent = generatePercentSavings(length);
- return resources.getString(
- R.string.data_reduction_menu_item_summary_lite_mode, percent);
- } else {
- return (String) resources.getText(R.string.text_off);
- }
+ return (String) resources.getText(R.string.text_off);
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference;
import org.chromium.chrome.browser.settings.ManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsUtils;
-import org.chromium.chrome.browser.settings.sync.SyncAndServicesSettings;
import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
@@ -39,9 +38,6 @@ public class PrivacySettings
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
- private static final String PREF_SYNC_AND_SERVICES_LINK_DIVIDER =
- "sync_and_services_link_divider";
- private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -64,9 +60,6 @@ public class PrivacySettings
networkPredictionPref.setOnPreferenceChangeListener(this);
networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER));
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK));
-
ChromeBaseCheckBoxPreference searchSuggestionsPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
searchSuggestionsPref.setOnPreferenceChangeListener(this);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncAndServicesSettings.java
@@ -162,15 +162,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
mPrivacyPrefManager.migrateNetworkPredictionPreferences();
- getActivity().setTitle(R.string.prefs_sync_and_services);
setHasOptionsMenu(true);
- if (mIsFromSigninScreen) {
- ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
- assert actionBar != null;
- actionBar.setHomeActionContentDescription(
- R.string.prefs_sync_and_services_content_description);
- RecordUserAction.record("Signin_Signin_ShowAdvancedSyncSettings");
- }
SettingsUtils.addPreferencesFromResource(this, R.xml.sync_and_services_preferences);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
@@ -23,8 +23,6 @@ import org.chromium.base.metrics.RecordUserAction;
@@ -22,9 +22,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.components.signin.AccountManagerFacade;
-import org.chromium.components.signin.AccountTrackerService;
import org.chromium.components.signin.AccountUtils;
-import org.chromium.components.signin.ChromeSigninController;
import org.chromium.components.signin.base.CoreAccountInfo;
import org.chromium.components.signin.identitymanager.ClearAccountsAction;
@ -590,11 +563,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
public boolean isSignInAllowed() {
- return !mFirstRunCheckIsPending && mSignInState == null && mSigninAllowedByPolicy
- && ChromeSigninController.get().getSignedInUser() == null && isSigninSupported();
+ return false;
+ return false;
}
/**
@@ -340,27 +332,6 @@ public class SigninManager
@@ -340,17 +332,6 @@ public class SigninManager
});
}
@ -608,21 +581,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
- progressSignInFlowCheckPolicy();
- }
- }
-
- /**
- * Clear pending sign in when system accounts in AccountTrackerService were refreshed.
- */
- @Override
- public void onSystemAccountsChanged() {
- if (mSignInState != null) {
- abortSignIn();
- }
- }
-
/**
* Starts the sign-in flow, and executes the callback when finished.
*
@@ -430,11 +401,8 @@ public class SigninManager
@@ -419,11 +400,8 @@ public class SigninManager
}
private void progressSignInFlowSeedSystemAccounts() {
@ -636,7 +599,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
@@ -471,18 +439,6 @@ public class SigninManager
@@ -460,18 +438,6 @@ public class SigninManager
// The user should not be already signed in
assert !mIdentityManager.hasPrimaryAccount();
@ -655,7 +618,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
if (mSignInState.mCallback != null) {
mSignInState.mCallback.onSignInComplete();
}
@@ -640,10 +596,8 @@ public class SigninManager
@@ -629,10 +595,8 @@ public class SigninManager
// Native sign-out must happen before resetting the account so data is deleted correctly.
// http://crbug.com/589028
@ -666,7 +629,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
void finishSignOut() {
@@ -703,14 +657,6 @@ public class SigninManager
@@ -692,14 +656,6 @@ public class SigninManager
SigninManagerJni.get().stopApplyingCloudPolicy(mNativeSigninManagerAndroid);
}
@ -674,17 +637,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
- // Cache the signed-in account name. This must be done after the native call, otherwise
- // sync tries to start without being signed in the native code and crashes.
- mAndroidSyncSettings.updateAccount(
- AccountManagerFacade.createAccountFromName(accountInfo.getEmail()));
- AccountUtils.createAccountFromName(accountInfo.getEmail()));
- mAndroidSyncSettings.enableChromeSync();
- }
-
private void disableSyncAndWipeData(
boolean shouldWipeUserData, final Runnable wipeDataCallback) {
mAndroidSyncSettings.updateAccount(null);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/SyncAndServicesSettings.java
@@ -164,15 +164,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
mPrivacyPrefManager.migrateNetworkPredictionPreferences();
- getActivity().setTitle(R.string.prefs_sync_and_services);
setHasOptionsMenu(true);
- if (mIsFromSigninScreen) {
- ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
- assert actionBar != null;
- actionBar.setHomeActionContentDescription(
- R.string.prefs_sync_and_services_content_description);
- RecordUserAction.record("Signin_Signin_ShowAdvancedSyncSettings");
- }
SettingsUtils.addPreferencesFromResource(this, R.xml.sync_and_services_preferences);
diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/browser/android/signin/signin_manager_android.cc
--- a/chrome/browser/android/signin/signin_manager_android.cc
+++ b/chrome/browser/android/signin/signin_manager_android.cc
@@ -138,7 +138,6 @@ SigninManagerAndroid::SigninManagerAndroid(
@@ -139,7 +139,6 @@ SigninManagerAndroid::SigninManagerAndroid(
java_signin_manager_ = Java_SigninManager_create(
base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this),
@ -695,7 +677,7 @@ diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/br
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -273,24 +273,12 @@ CHAR-LIMIT guidelines:
@@ -262,18 +262,9 @@ CHAR-LIMIT guidelines:
</message>
<!-- Sign-in, sync and personalization preferences -->
@ -714,13 +696,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_SIGNIN_PREF_SUMMARY" desc="Summary for the entry in Settings to sign in to Chrome, explaining benefits of signing in.">
Sync and personalize across devices
</message>
- <message name="IDS_SYNC_AND_SERVICES_SUMMARY_SYNC_ON" desc="Summary for 'Sync and Google services' preference row when sync is enabled.">
- Sync is on
- </message>
<message name="IDS_SIGN_IN_TO_CHROME_DISABLED_SUMMARY" desc="A descriptive line of text that appears under the 'Sign in to Chrome' option, in Chrome Settings on Android. The text explains why 'Sign in to Chrome' is disabled. 'Administrator' refers to the IT administrator of the company/organization that owns the users device.">
Disabled by the administrator of this device
</message>
@@ -340,9 +328,6 @@ CHAR-LIMIT guidelines:
@@ -329,9 +320,6 @@ CHAR-LIMIT guidelines:
<message name="IDS_URL_KEYED_ANONYMIZED_DATA_SUMMARY" desc="Summary for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
Sends URLs of pages you visit to Google
</message>
@ -730,7 +706,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_CANCEL_SYNC_DIALOG_TITLE" desc="The title of a dialog that is shown when users tries closing 'Sync and Google services' preferences without confirming the changes.">
Cancel sync?
</message>
@@ -1231,9 +1216,6 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1247,9 +1235,6 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DATA_REDUCTION_DESCRIPTION_LITE_MODE" desc="Text describing how the Lite mode feature works. Seen only before the user has enabled the feature.">
When Lite mode is on, Chrome uses Google servers to make pages load faster. Lite mode rewrites very slow pages to load only essential content. Lite mode does not apply to Incognito tabs.
</message>
@ -743,7 +719,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
+++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
@@ -167,16 +167,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -170,16 +170,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@Override
public boolean hasFeatures(Account account, String[] features) {
@ -760,7 +736,7 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
return false;
}
@@ -216,32 +206,10 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -219,32 +209,10 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
public void updateCredentials(
Account account, Activity activity, final Callback<Boolean> callback) {
ThreadUtils.assertOnUiThread();
@ -795,7 +771,7 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
+ return;
}
protected boolean hasGetAccountsPermission() {
@Nullable
diff --git a/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java b/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java
--- a/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java
+++ b/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java

View file

@ -9,7 +9,7 @@ Subject: Replace DoH probe domain with RIPE domain
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -824,7 +824,7 @@ class DnsTCPAttempt : public DnsAttempt {
@@ -821,7 +821,7 @@ class DnsTCPAttempt : public DnsAttempt {
// ----------------------------------------------------------------------------

View file

@ -0,0 +1,41 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 15 Feb 2020 08:20:40 +0100
Subject: Restore GPU bug blacklist for AImageReader on ARM CPUs
Restore the AImageReader blacklist for ARM/ARM64 devices which causes
crashes on Android 9 and 10 (at different code locations).
See discussion at https://github.com/bromite/bromite/issues/445
---
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -3568,6 +3568,22 @@
"dont_delete_source_texture_for_egl_image"
]
},
+ {
+ "id":335,
+ "cr_bugs": [1051705],
+ "description": "Disable AImageReader on ARM GPUs",
+ "os": {
+ "type": "android",
+ "version": {
+ "op": "<",
+ "value": "10"
+ }
+ },
+ "gl_vendor": "ARM.*",
+ "features": [
+ "disable_aimagereader"
+ ]
+ },
{
"id": 336,
"cr_bugs": [625785],
--
2.17.1

View file

@ -3,27 +3,62 @@ Date: Sun, 26 Nov 2017 11:40:05 +0100
Subject: Restore classic new tab page
---
chrome/browser/search/search.cc | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
chrome/browser/search/search.cc | 42 +++------------------------------
1 file changed, 3 insertions(+), 39 deletions(-)
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
--- a/chrome/browser/search/search.cc
+++ b/chrome/browser/search/search.cc
@@ -156,13 +156,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
return true;
@@ -90,16 +90,6 @@ enum NewTabURLState {
NEW_TAB_URL_MAX
};
-const TemplateURL* GetDefaultSearchProviderTemplateURL(Profile* profile) {
- if (profile) {
- TemplateURLService* template_url_service =
- TemplateURLServiceFactory::GetForProfile(profile);
- if (template_url_service)
- return template_url_service->GetDefaultSearchProvider();
- }
- return nullptr;
-}
-
bool IsMatchingServiceWorker(const GURL& my_url, const GURL& document_url) {
// The origin should match.
if (!MatchesOrigin(my_url, document_url))
@@ -139,31 +129,6 @@ GURL RemoveQueryParam(const GURL& url) {
return url.ReplaceComponents(replacements);
}
-bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
-#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
- // If this isn't a supervised user, skip the URL filter check, since it can be
- // fairly expensive.
- if (!profile->IsSupervised())
- return true;
- SupervisedUserService* supervised_user_service =
- SupervisedUserServiceFactory::GetForProfile(profile);
- SupervisedUserURLFilter* url_filter = supervised_user_service->GetURLFilter();
- if (url_filter->GetFilteringBehaviorForURL(url) ==
- SupervisedUserURLFilter::BLOCK) {
- return false;
- }
-#endif
- return true;
-}
-
-bool ShouldShowLocalNewTab(Profile* profile) {
-#if !defined(OS_ANDROID)
- return DefaultSearchProviderIsGoogle(profile);
-#endif
-#else
- return false;
-#endif
-}
-
// Used to look up the URL to use for the New Tab page. Also tracks how we
// arrived at that URL so it can be logged with UMA.
struct NewTabURLDetails {
@@ -182,8 +175,7 @@ struct NewTabURLDetails {
@@ -183,10 +148,9 @@ struct NewTabURLDetails {
: chrome::kChromeSearchLocalNtpUrl);
#endif
@ -31,8 +66,20 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
- return NewTabURLDetails(local_url, NEW_TAB_URL_VALID);
+ return NewTabURLDetails(local_url, NEW_TAB_URL_VALID);
const TemplateURL* template_url =
- const TemplateURL* template_url =
+/* const TemplateURL* template_url =
GetDefaultSearchProviderTemplateURL(profile);
if (!profile || !template_url)
return NewTabURLDetails(local_url, NEW_TAB_URL_BAD);
@@ -202,7 +166,7 @@ struct NewTabURLDetails {
if (!IsURLAllowedForSupervisedUser(search_provider_url, profile))
return NewTabURLDetails(local_url, NEW_TAB_URL_BLOCKED);
- return NewTabURLDetails(search_provider_url, NEW_TAB_URL_VALID);
+ return NewTabURLDetails(search_provider_url, NEW_TAB_URL_VALID);*/
}
const GURL url;
--
2.17.1

View file

@ -9,7 +9,7 @@ Subject: Restore enable-horizontal-tab-switcher flag
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -1464,7 +1464,7 @@
@@ -1552,7 +1552,7 @@
{
"name": "enable-horizontal-tab-switcher",
"owners": [ "memex-team@google.com" ],

View file

@ -4,37 +4,37 @@ Subject: Revert "Cleanup Search Ready Omnibox flag since it has launched"
This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
---
.../browser/omnibox/suggestions/AutocompleteMediator.java | 7 +++++++
chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
8 files changed, 29 insertions(+)
.../browser/omnibox/suggestions/AutocompleteMediator.java | 6 +++++-
chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
8 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
@@ -435,6 +435,13 @@ class AutocompleteMediator
void onNativeInitialized() {
mNativeInitialized = true;
@@ -220,8 +220,12 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, StartStopWi
+ // The feature is instantiated in the constructor to simplify plumbing. If the feature is
+ // actually disabled, null out the coordinator.
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SEARCH_READY_OMNIBOX)) {
+ mEditUrlProcessor.destroy();
+ mEditUrlProcessor = null;
SuggestionHost host = this::createSuggestionViewDelegate;
- mEditUrlProcessor =
+ // Do not initialize coordinator if the feature is disabled.
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.SEARCH_READY_OMNIBOX)) {
+ mEditUrlProcessor =
new EditUrlSuggestionProcessor(mContext, host, mDelegate, iconBridgeSupplier);
+ }
+
mShowSuggestionFavicons =
ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_SHOW_SUGGESTION_FAVICONS);
registerSuggestionProcessor(new AnswerSuggestionProcessor(
mContext, host, mUrlBarEditingTextProvider, imageFetcherSupplier));
registerSuggestionProcessor(
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
@@ -2078,6 +2078,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2308,6 +2308,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidAutofillAccessibilityName,
flag_descriptions::kAndroidAutofillAccessibilityDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kAndroidAutofillAccessibility)},
@ -47,7 +47,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -1768,6 +1768,11 @@
@@ -1880,6 +1880,11 @@
"owners": [ "ginko", "newcomer" ],
"expiry_milestone": 78
},
@ -62,7 +62,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -2631,6 +2631,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
@@ -2614,6 +2614,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
"process to check the Safe Browsing reputation of URLs without calling "
"into GmsCore for every URL.";
@ -77,7 +77,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
@@ -1524,6 +1524,9 @@ extern const char kRecoverFromNeverSaveAndroidDescription[];
@@ -1507,6 +1507,9 @@ extern const char kRelatedSearchesDescription[];
extern const char kSafeBrowsingUseLocalBlacklistsV2Name[];
extern const char kSafeBrowsingUseLocalBlacklistsV2Description[];
@ -90,15 +90,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -181,6 +181,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kReorderBookmarks,
@@ -170,6 +170,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kRelatedSearches,
&kRevampedContextMenu,
&kScrollToExpandPaymentHandler,
+ &kSearchReadyOmniboxFeature,
&kSearchEnginePromoExistingDevice,
&kSearchEnginePromoNewDevice,
&kServiceManagerForBackgroundPrefetch,
@@ -550,6 +551,9 @@ const base::Feature kRevampedContextMenu{"RevampedContextMenu",
@@ -514,6 +515,9 @@ const base::Feature kRevampedContextMenu{"RevampedContextMenu",
const base::Feature kScrollToExpandPaymentHandler{
"ScrollToExpandPaymentHandler", base::FEATURE_DISABLED_BY_DEFAULT};
@ -111,25 +111,25 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -108,6 +108,7 @@ extern const base::Feature kRevampedContextMenu;
@@ -97,6 +97,7 @@ extern const base::Feature kRevampedContextMenu;
extern const base::Feature kScrollToExpandPaymentHandler;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoNewDevice;
+extern const base::Feature kSearchReadyOmniboxFeature;
extern const base::Feature kServiceManagerForBackgroundPrefetch;
extern const base::Feature kServiceManagerForDownload;
extern const base::Feature kShoppingAssist;
extern const base::Feature kShareButtonInTopToolbar;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -319,6 +319,7 @@ public abstract class ChromeFeatureList {
public static final String QUIET_NOTIFICATION_PROMPTS = "QuietNotificationPrompts";
public static final String REACHED_CODE_PROFILER = "ReachedCodeProfiler";
public static final String READER_MODE_IN_CCT = "ReaderModeInCCT";
public static final String OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT =
"OmniboxAdaptiveSuggestionsCount";
public static final String OMNIBOX_ASSISTANT_VOICE_SEARCH = "OmniboxAssistantVoiceSearch";
+ public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
public static final String REMOVE_NAVIGATION_HISTORY = "RemoveNavigationHistory";
public static final String REORDER_BOOKMARKS = "ReorderBookmarks";
public static final String REVAMPED_CONTEXT_MENU = "RevampedContextMenu";
public static final String OMNIBOX_COMPACT_SUGGESTIONS = "OmniboxCompactSuggestions";
public static final String OMNIBOX_DEFERRED_KEYBOARD_POPUP = "OmniboxDeferredKeyboardPopup";
public static final String OMNIBOX_HIDE_SCHEME_IN_STEADY_STATE =
--
2.17.1

View file

@ -0,0 +1,134 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 5 May 2020 07:26:55 +0200
Subject: Revert "Remove flags to enable/disable AImageReader."
This reverts commit 463fa0f2e3b9e418bc26e2c8954463f0b0f76634.
---
.../service/image_reader_gl_owner_unittest.cc | 5 +++++
gpu/config/gpu_finch_features.cc | 4 ++++
gpu/config/gpu_finch_features.h | 1 +
gpu/ipc/service/stream_texture_android.cc | 10 ++++++++--
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
media/gpu/android/video_frame_factory_impl.cc | 3 ++-
7 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/gpu/command_buffer/service/image_reader_gl_owner_unittest.cc b/gpu/command_buffer/service/image_reader_gl_owner_unittest.cc
--- a/gpu/command_buffer/service/image_reader_gl_owner_unittest.cc
+++ b/gpu/command_buffer/service/image_reader_gl_owner_unittest.cc
@@ -8,10 +8,12 @@
#include <memory>
#include <utility>
+#include "base/test/scoped_feature_list.h"
#include "base/test/task_environment.h"
#include "gpu/command_buffer/service/abstract_texture.h"
#include "gpu/command_buffer/service/image_reader_gl_owner.h"
#include "gpu/command_buffer/service/mock_abstract_texture.h"
+#include "media/base/media_switches.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context_egl.h"
@@ -30,6 +32,8 @@ class ImageReaderGLOwnerTest : public testing::Test {
if (!IsImageReaderSupported())
return;
+ scoped_feature_list_.InitAndEnableFeature(media::kAImageReaderVideoOutput);
+
gl::init::InitializeStaticGLBindingsImplementation(
gl::kGLImplementationEGLGLES2, false);
gl::init::InitializeGLOneOffPlatformImplementation(false, false, true);
@@ -69,6 +73,7 @@ class ImageReaderGLOwnerTest : public testing::Test {
return base::android::AndroidImageReader::GetInstance().IsSupported();
}
+ base::test::ScopedFeatureList scoped_feature_list_;
scoped_refptr<TextureOwner> image_reader_;
GLuint texture_id_ = 0;
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -13,6 +13,10 @@
namespace features {
#if defined(OS_ANDROID)
+// Use android AImageReader when playing videos with MediaPlayer.
+const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// Used only by webview to disable SurfaceControl.
const base::Feature kDisableSurfaceControlForWebview{
"DisableSurfaceControlForWebview", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features {
// All features in alphabetical order. The features should be documented
// alongside the definition of their values in the .cc file.
#if defined(OS_ANDROID)
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
GPU_EXPORT extern const base::Feature kDisableSurfaceControlForWebview;
#endif // defined(OS_ANDROID)
diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_texture_android.cc
--- a/gpu/ipc/service/stream_texture_android.cc
+++ b/gpu/ipc/service/stream_texture_android.cc
@@ -51,8 +51,14 @@ TextureOwner::Mode GetTextureOwnerMode() {
const bool a_image_reader_supported =
base::android::AndroidImageReader::GetInstance().IsSupported();
- return a_image_reader_supported ? TextureOwner::Mode::kAImageReaderInsecure
- : TextureOwner::Mode::kSurfaceTextureInsecure;
+ // TODO(vikassoni) : Currently we have 2 different flags to enable/disable
+ // AImageReader - one for MCVD and other for MediaPlayer here. Merge those 2
+ // flags into a single flag. Keeping the 2 flags separate for now since finch
+ // experiment using this flag is in progress.
+ return a_image_reader_supported && base::FeatureList::IsEnabled(
+ features::kAImageReaderMediaPlayer)
+ ? TextureOwner::Mode::kAImageReaderInsecure
+ : TextureOwner::Mode::kSurfaceTextureInsecure;
}
} // namespace
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
@@ -519,6 +519,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// Prevents using SurfaceLayer for videos. This is meant to be used by embedders
// that cannot support SurfaceLayer at the moment.
const base::Feature kDisableSurfaceLayerForVideo{
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -184,6 +184,7 @@ MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
MEDIA_EXPORT extern const base::Feature kDisableSurfaceLayerForVideo;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
MEDIA_EXPORT extern const base::Feature kPictureInPictureAPI;
diff --git a/media/gpu/android/video_frame_factory_impl.cc b/media/gpu/android/video_frame_factory_impl.cc
--- a/media/gpu/android/video_frame_factory_impl.cc
+++ b/media/gpu/android/video_frame_factory_impl.cc
@@ -41,7 +41,8 @@ gpu::TextureOwner::Mode GetTextureOwnerMode(
switch (overlay_mode) {
case VideoFrameFactory::OverlayMode::kDontRequestPromotionHints:
case VideoFrameFactory::OverlayMode::kRequestPromotionHints:
- return a_image_reader_supported
+ return a_image_reader_supported && base::FeatureList::IsEnabled(
+ media::kAImageReaderVideoOutput)
? gpu::TextureOwner::Mode::kAImageReaderInsecure
: gpu::TextureOwner::Mode::kSurfaceTextureInsecure;
case VideoFrameFactory::OverlayMode::kSurfaceControlSecure:
--
2.17.1

View file

@ -1,7 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 25 Sep 2019 10:59:28 +0200
Subject: Revert "Remove pre unified consent code in sync and privacy
directory"
Subject: Revert "Remove pre-unified consent code"
This reverts commit c672a0683e89eba3554e2562156b3c8532136f21.
@ -9,11 +8,8 @@ Restore translations
Disable unified consent on Android
Unified consent miscellanous backport fixes
---
.../chrome/browser/feed/FeedNewTabPage.java | 2 +-
.../browser/feed/TestNetworkClient.java | 2 +-
.../java/res/xml/privacy_preferences.xml | 26 +++++
.../settings/privacy/PrivacySettings.java | 96 ++++++++++++++++---
.../settings/sync/SyncSettingsUtils.java | 2 +-
.../privacy/settings/PrivacySettings.java | 96 ++++++++++++++++---
.../sync/SyncNotificationController.java | 8 +-
.../chrome/browser/sync/SyncTestRule.java | 9 +-
.../chromium/chrome/browser/sync/UkmTest.java | 50 +++++++++-
@ -71,32 +67,8 @@ Unified consent miscellanous backport fixes
.../android_chrome_strings_zh-CN.xtb | 19 +++-
.../android_chrome_strings_zh-TW.xtb | 19 +++-
.../unified_consent_service_factory.cc | 5 +-
62 files changed, 1127 insertions(+), 76 deletions(-)
59 files changed, 1124 insertions(+), 73 deletions(-)
diff --git a/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java b/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
--- a/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
+++ b/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
@@ -4,7 +4,7 @@
package org.chromium.chrome.browser.feed;
-import org.chromium.base.VisibleForTesting;
+import androidx.annotation.VisibleForTesting;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
diff --git a/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java b/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
--- a/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
+++ b/chrome/android/feed/dummy/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
@@ -4,7 +4,7 @@
package org.chromium.chrome.browser.feed;
-import org.chromium.base.VisibleForTesting;
+import androidx.annotation.VisibleForTesting;
/**
* A network client that returns configurable responses
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@ -104,25 +76,25 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="navigation_error"
+ android:title="@string/navigation_error_title"
+ android:summary="@string/navigation_error_summary"
+ android:defaultValue="true" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="search_suggestions"
+ android:title="@string/search_suggestions_title"
+ android:summary="@string/search_suggestions_summary"
+ android:defaultValue="true" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="safe_browsing_scout_reporting"
+ android:title="@string/safe_browsing_scout_reporting_title"
+ android:summary="@string/safe_browsing_scout_reporting_summary" />
+ <org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
+ android:key="safe_browsing"
+ android:title="@string/safe_browsing_title"
+ android:summary="@string/safe_browsing_summary" />
<org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference
<org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
android:key="can_make_payment"
android:title="@string/can_make_payment_title"
@@ -19,6 +37,10 @@
@ -134,23 +106,23 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:title="@string/usage_and_crash_reports_title"
+ android:fragment="org.chromium.chrome.browser.settings.privacy.UsageAndCrashReportsPreferenceFragment" />
<Preference
android:fragment="org.chromium.chrome.browser.settings.privacy.DoNotTrackSettings"
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
@@ -28,6 +50,10 @@
android:title="@string/clear_browsing_data_title"
android:summary="@string/clear_browsing_data_summary"
android:fragment="org.chromium.chrome.browser.settings.privacy.ClearBrowsingDataTabsFragment" />
android:fragment="org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment" />
+ <android.support.v7.preference.Preference
+ android:key="sync_and_services_link_divider"
+ android:layout="@layout/divider_preference"
+ android:selectable="false"/>
<org.chromium.chrome.browser.settings.TextMessagePreference
<org.chromium.components.browser_ui.settings.TextMessagePreference
android:key="sync_and_services_link"
android:summary="@string/privacy_sync_and_services_link"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/PrivacySettings.java
@@ -15,10 +15,12 @@ import android.view.MenuItem;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -16,10 +16,12 @@ import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
@ -160,10 +132,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.safe_browsing.SafeBrowsingBridge;
import org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference;
import org.chromium.chrome.browser.settings.ManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
@@ -33,18 +35,24 @@ import org.chromium.ui.text.SpanApplier;
import org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings;
@@ -35,18 +37,24 @@ import org.chromium.ui.text.SpanApplier;
*/
public class PrivacySettings
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
@ -191,7 +163,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy);
setHasOptionsMenu(true);
@@ -62,14 +70,30 @@ public class PrivacySettings
@@ -64,14 +72,30 @@ public class PrivacySettings
networkPredictionPref.setOnPreferenceChangeListener(this);
networkPredictionPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
@ -230,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
updateSummaries();
}
@@ -82,6 +106,15 @@ public class PrivacySettings
@@ -84,6 +108,15 @@ public class PrivacySettings
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
@ -246,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
}
return true;
@@ -99,6 +132,35 @@ public class PrivacySettings
@@ -101,6 +134,35 @@ public class PrivacySettings
public void updateSummaries() {
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
@ -282,8 +254,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
CheckBoxPreference canMakePaymentPref =
(CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
if (canMakePaymentPref != null) {
@@ -136,6 +198,18 @@ public class PrivacySettings
private ManagedPreferenceDelegate createManagedPreferenceDelegate() {
@@ -138,6 +200,18 @@ public class PrivacySettings
private ChromeManagedPreferenceDelegate createManagedPreferenceDelegate() {
return preference -> {
String key = preference.getKey();
+ if (PREF_NAVIGATION_ERROR.equals(key)) {
@ -301,18 +273,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/privac
if (PREF_NETWORK_PREDICTIONS.equals(key)) {
return PrivacyPreferencesManager.getInstance().isNetworkPredictionManaged();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncSettingsUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncSettingsUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncSettingsUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/SyncSettingsUtils.java
@@ -191,7 +191,7 @@ public class SyncSettingsUtils {
: context.getString(R.string.sync_passwords_error_card_title);
}
- return context.getString(R.string.sync_and_services_summary_sync_on);
+ return context.getString(R.string.account_management_sync_summary, accountName);
}
return context.getString(R.string.sync_is_disabled);
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotificationController.java
@ -328,11 +288,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotifi
import org.chromium.chrome.browser.notifications.NotificationUmaTracker;
import org.chromium.chrome.browser.notifications.PendingIntentProvider;
import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions;
+import org.chromium.chrome.browser.settings.sync.AccountManagementFragment;
+import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.sync.SyncAndServicesSettings;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
@@ -196,9 +198,11 @@ public class SyncNotificationController implements ProfileSyncService.SyncStateC
import org.chromium.chrome.browser.sync.GoogleServiceAuthError.State;
@@ -197,9 +199,11 @@ public class SyncNotificationController implements ProfileSyncService.SyncStateC
* @return the intent for opening the settings
*/
private Intent createSettingsIntent() {
@ -349,7 +309,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncNotifi
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTestRule.java
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncTestRule.java
@@ -17,6 +17,7 @@ import org.chromium.chrome.browser.ChromeActivity;
@@ -18,6 +18,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.SyncFirstSetupCompleteSource;
import org.chromium.chrome.browser.autofill.PersonalDataManager;
import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard;
@ -357,7 +317,7 @@ diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/SyncT
import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
import org.chromium.chrome.browser.identity.UniqueIdentificationGeneratorFactory;
import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator;
@@ -352,8 +353,12 @@ public class SyncTestRule extends ChromeActivityTestRule<ChromeActivity> {
@@ -365,8 +366,12 @@ public class SyncTestRule extends ChromeActivityTestRule<ChromeActivity> {
Assert.fail("Sign-in was aborted");
}
});
@ -380,7 +340,7 @@ diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/UkmTe
import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.metrics.UmaSessionStats;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@ -452,7 +412,7 @@ diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/sync/UkmTe
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -648,6 +648,18 @@ CHAR-LIMIT guidelines:
@@ -646,6 +646,18 @@ CHAR-LIMIT guidelines:
<message name="IDS_PREFS_PRIVACY" desc="Title for the Privacy preferences. [CHAR-LIMIT=32]">
Privacy
</message>
@ -471,7 +431,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_SAFE_BROWSING_SCOUT_REPORTING_TITLE" desc="Title for checkbox that controls reporting data to detect bad apps/sites. Please ensure Safe Browsing in this message matches the Safe Browsing settings title.">
Help improve Chrome security
</message>
@@ -1458,6 +1470,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1474,6 +1486,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR-LIMIT=32]">
Signed in to Google as
</message>
@ -484,7 +444,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">ይህ ለሁሉም ጣቢያዎች ውሂብን ያጸዳል፣ የሚከተሉትን ጨምሮ፦</translation>
<translation id="983192555821071799">ሁሉንም ትሮች ይዝጉ</translation>
<translation id="987264212798334818">አጠቃላይ</translation>
@ -511,7 +471,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">سيؤدي هذا إلى محو بيانات جميع المواقع، بما في ذلك:</translation>
<translation id="983192555821071799">إغلاق جميع علامات التبويب</translation>
<translation id="987264212798334818">عام</translation>
@ -538,7 +498,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">Това действие ще изчисти данните за всички сайтове, включително:</translation>
<translation id="983192555821071799">Затваряне на всички раздели</translation>
<translation id="987264212798334818">Общи</translation>
@ -565,7 +525,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
@@ -1102,4 +1102,21 @@
@@ -1120,4 +1120,21 @@
<translation id="982182592107339124">এটা সব সাইটের জন্য ডেটা সাফ করবে, এতে অন্তর্ভুক্ত আছে:</translation>
<translation id="983192555821071799">সমস্ত ট্যাবগুলি বন্ধ করুন</translation>
<translation id="987264212798334818">সাধারণ</translation>
@ -592,7 +552,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
@@ -1100,4 +1100,21 @@ Mantén premuda qualsevol paraula per cercar-la. Per definir millor la cerca, aj
@@ -1118,4 +1118,21 @@ Per exemple, és possible que alguns llocs web responguin a aquesta sol·licitud
<translation id="982182592107339124">S'esborraran les dades de tots els llocs web, com ara:</translation>
<translation id="983192555821071799">Tanca totes les pestanyes</translation>
<translation id="987264212798334818">General</translation>
@ -619,7 +579,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
@@ -1100,4 +1100,21 @@ Dlouhým stisknutím jakéhokoli slova z něj vytvoříte vyhledávací dotaz.
@@ -1118,4 +1118,21 @@ Některé weby mohou například na tento požadavek reagovat tak, že vám zobr
<translation id="982182592107339124">Tímto vymažete data všech webů včetně těchto:</translation>
<translation id="983192555821071799">Zavřít všechny karty</translation>
<translation id="987264212798334818">Všeobecné</translation>
@ -646,7 +606,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -1100,4 +1100,21 @@ Tryk længe på et ord for at søge efter det. Du kan tilpasse søgningen ved at
@@ -1118,4 +1118,21 @@ Nogle websites kan f.eks. reagere på denne anmodning ved at vise dig annoncer,
<translation id="982182592107339124">Denne handling rydder dataene for alle websites, herunder:</translation>
<translation id="983192555821071799">Luk alle faner</translation>
<translation id="987264212798334818">Generelt</translation>
@ -673,7 +633,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
@@ -1100,4 +1100,21 @@ Halten Sie ein Wort lange gedrückt, um eine Suche damit zu starten. Sie können
@@ -1118,4 +1118,21 @@ Einige Websites schalten möglicherweise Werbeanzeigen, deren Auswahl nicht dara
<translation id="982182592107339124">Alle Daten für alle Websites werden gelöscht, darunter:</translation>
<translation id="983192555821071799">Alle Tabs schließen</translation>
<translation id="987264212798334818">Allgemein</translation>
@ -700,7 +660,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">Αυτή η ενέργεια θα εκκαθαρίσει τα δεδομένα για όλους τους ιστότοπους, όπως:</translation>
<translation id="983192555821071799">Κλείσιμο όλων των καρτελών</translation>
<translation id="987264212798334818">Γενικά</translation>
@ -727,7 +687,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
@@ -1100,4 +1100,21 @@ Long-press any word to create a search for it. To refine your search adjust the
@@ -1118,4 +1118,21 @@ For example, some websites may respond to this request by showing you ads that a
<translation id="982182592107339124">This will clear data for all sites, including:</translation>
<translation id="983192555821071799">Close all tabs</translation>
<translation id="987264212798334818">General</translation>
@ -754,7 +714,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
@@ -1100,4 +1100,21 @@ Mantén presionada cualquier palabra para buscarla. Para definir mejor la búsqu
@@ -1118,4 +1118,21 @@ Por ejemplo, algunos sitios web pueden responder a la solicitud mediante anuncio
<translation id="982182592107339124">Esta acción borrará los datos de todos los sitios, entre los que se incluyen:</translation>
<translation id="983192555821071799">Cerrar todas las pestañas</translation>
<translation id="987264212798334818">General</translation>
@ -781,7 +741,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
@@ -1100,4 +1100,21 @@ Mantén pulsada cualquier palabra para buscarla. Para acotar la búsqueda, ajust
@@ -1118,4 +1118,21 @@ Por ejemplo, algunos sitios web pueden responder a la solicitud mostrándote anu
<translation id="982182592107339124">Se borrarán los datos de todos los sitios web, incluidos:</translation>
<translation id="983192555821071799">Cerrar todas las pestañas</translation>
<translation id="987264212798334818">General</translation>
@ -808,7 +768,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
@@ -1100,4 +1100,21 @@ Puudutage pikalt mis tahes sõnal, et seda otsida. Otsingu täpsustamiseks kohan
@@ -1118,4 +1118,21 @@ Näiteks võivad mõned veebisaidid taotlusele reageerida nii, et näitavad teil
<translation id="982182592107339124">See kustutab kõikide saitide andmed, sealhulgas:</translation>
<translation id="983192555821071799">Sule kõik vahelehed</translation>
<translation id="987264212798334818">Üldine</translation>
@ -835,7 +795,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">با این کار داده‌های همه سایت‌ها پاک می‌شود، از جمله:</translation>
<translation id="983192555821071799">بستن همه برگه‌ها</translation>
<translation id="987264212798334818">موارد کلی</translation>
@ -862,7 +822,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
@@ -1100,4 +1100,21 @@ Hae sanaa painamalla sitä pitkään. Jos haluat tarkentaa hakuasi, muuta valint
@@ -1118,4 +1118,21 @@ Jotkin verkkosivustot voivat vastata tähän pyyntöön esimerkiksi näyttämäl
<translation id="982182592107339124">Kaikkien sivustojen tiedot poistetaan, esimerkiksi:</translation>
<translation id="983192555821071799">Sulje kaikki välilehdet</translation>
<translation id="987264212798334818">Yleistä</translation>
@ -889,7 +849,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
@@ -1100,4 +1100,21 @@ Pindutin nang matagal ang anumang salita para hanapin ito. Para pinuhin ang iyon
@@ -1118,4 +1118,21 @@ Halimbawa, puwedeng tumugon ang ilang website sa kahilingang ito sa pamamagitan
<translation id="982182592107339124">Iki-clear nito ang data para sa lahat ng site, kabilang ang:</translation>
<translation id="983192555821071799">Isara ang lahat ng tab</translation>
<translation id="987264212798334818">Pangkalahatan</translation>
@ -916,7 +876,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
@@ -1100,4 +1100,21 @@ Pour sélectionner un mot, appuyez dessus de manière prolongée. Vous pouvez en
@@ -1118,4 +1118,21 @@ Par exemple, certains sites Web peuvent répondre à cette demande en diffusant
<translation id="982182592107339124">Cette action entraînera la suppression des données pour tous les sites, y compris :</translation>
<translation id="983192555821071799">Fermer tous les onglets</translation>
<translation id="987264212798334818">Général</translation>
@ -943,7 +903,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">આ બધી સાઇટ્સ પરથી ડેટા સાફ કરશે, આ સહિત:</translation>
<translation id="983192555821071799">બધા ટેબ્સ બંધ કરો</translation>
<translation id="987264212798334818">સામાન્ય</translation>
@ -970,7 +930,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">इससे इन सभी साइटों का डेटा साफ़ हो जाएगा:</translation>
<translation id="983192555821071799">सभी टैब बंद करें</translation>
<translation id="987264212798334818">सामान्य</translation>
@ -997,7 +957,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
@@ -1100,4 +1100,21 @@ Dugo pritisnite željenu riječ da biste je pretražili. Da biste precizirali pr
@@ -1118,4 +1118,21 @@ Na primjer, neke web-lokacije na taj zahtjev mogu odgovoriti tako da vam prikaž
<translation id="982182592107339124">Izbrisat će se podaci za sve web-lokacije, uključujući:</translation>
<translation id="983192555821071799">Zatvori sve kartice</translation>
<translation id="987264212798334818">Općenito</translation>
@ -1024,7 +984,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
@@ -1100,4 +1100,21 @@ A kívánt szó hosszú lenyomásával keresést végezhet. A keresés finomít
@@ -1118,4 +1118,21 @@ Egyes webhelyek például válaszolhatnak rá úgy, hogy olyan hirdetéseket jel
<translation id="982182592107339124">Ezzel törli az összes webhely adatait, beleértve a következőket:</translation>
<translation id="983192555821071799">Az összes lap bezárása</translation>
<translation id="987264212798334818">Általános</translation>
@ -1051,7 +1011,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
@@ -1100,4 +1100,21 @@ Tekan lama kata apa pun untuk menelusurinya. Untuk menyaring penelusuran, Anda d
@@ -1118,4 +1118,21 @@ Misalnya, beberapa situs web mungkin menanggapi permintaan ini dengan menayangka
<translation id="982182592107339124">Tindakan ini akan menghapus data untuk semua situs, termasuk:</translation>
<translation id="983192555821071799">Tutup semua tab</translation>
<translation id="987264212798334818">Umum</translation>
@ -1078,7 +1038,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
@@ -1100,4 +1100,21 @@ Premi a lungo qualsiasi parola per creare una ricerca associata. Per perfezionar
@@ -1118,4 +1118,21 @@ Ad esempio, alcuni siti web potrebbero rispondere alla richiesta mostrando annun
<translation id="982182592107339124">Questa operazione cancellerà i dati di tutti i siti, inclusi:</translation>
<translation id="983192555821071799">Chiudi tutte le schede</translation>
<translation id="987264212798334818">Generali</translation>
@ -1105,7 +1065,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">פעולה זו תמחק נתונים של כל האתרים, כולל:</translation>
<translation id="983192555821071799">סגור את כל הכרטיסיות</translation>
<translation id="987264212798334818">כללי</translation>
@ -1132,7 +1092,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">この操作を行うと、次を含むすべてのサイトのデータが削除されます。</translation>
<translation id="983192555821071799">すべてのタブを閉じる</translation>
<translation id="987264212798334818">全般</translation>
@ -1159,7 +1119,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
@@ -1101,4 +1101,21 @@
@@ -1119,4 +1119,21 @@
<translation id="982182592107339124">ಇದು ಎಲ್ಲಾ ಸೈಟ್‌ಗಳಿಗೆ ಡೇಟಾ ತೆರವುಗೊಳಿಸುತ್ತದೆ, ಇವುಗಳನ್ನೂ ಒಳಗೊಂಡು:</translation>
<translation id="983192555821071799">ಎಲ್ಲ ಟ್ಯಾಬ್‌ಗಳನ್ನು ಮುಚ್ಚಿ</translation>
<translation id="987264212798334818">ಸಾಮಾನ್ಯ</translation>
@ -1186,7 +1146,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">다음을 포함한 모든 사이트의 데이터가 삭제됩니다.</translation>
<translation id="983192555821071799">탭 모두 닫기</translation>
<translation id="987264212798334818">일반</translation>
@ -1213,7 +1173,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
@@ -1100,4 +1100,21 @@ Palaikykite paspaudę bet kurį žodį, kad sukurtumėte jo paiešką. Jei norit
@@ -1118,4 +1118,21 @@ Pavyzdžiui, kai kurios svetainės gali atsakyti į šią užklausą rodydamos j
<translation id="982182592107339124">Bus išvalyti visų svetainių duomenys, įskaitant:</translation>
<translation id="983192555821071799">Uždar. visų skirtukų lapus</translation>
<translation id="987264212798334818">Bendra</translation>
@ -1240,7 +1200,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
@@ -1100,4 +1100,21 @@ Turiet nospiestu jebkuru vārdu, lai izveidotu tā meklēšanas vienumu. Lai pre
@@ -1118,4 +1118,21 @@ Piemēram, dažas vietnes, reaģējot uz šo pieprasījumu, var rādīt jums rek
<translation id="982182592107339124">Tādējādi tiks dzēsti dati no visām vietnēm, tostarp:</translation>
<translation id="983192555821071799">Aizvērt visas cilnes</translation>
<translation id="987264212798334818">Vispārīgi</translation>
@ -1267,7 +1227,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">ഇത് ഇനിപ്പറയുന്നവ ഉൾപ്പെടെയുള്ള എല്ലാ സൈറ്റുകളുടെയും വിവരങ്ങൾ മായ്‌ക്കുന്നതിനിടയാക്കും:</translation>
<translation id="983192555821071799">എല്ലാ ടാബുകളും അടയ്‌ക്കുക</translation>
<translation id="987264212798334818">പൊതുവായ</translation>
@ -1294,7 +1254,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">हे यासह सर्व साइटसाठी डेटा साफ करेल:</translation>
<translation id="983192555821071799">सर्व टॅब बंद करा</translation>
<translation id="987264212798334818">सामान्य</translation>
@ -1321,7 +1281,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
@@ -1100,4 +1100,21 @@ Tekan lama-lama pada mana-mana perkataan untuk membuat carian tentang perkataan
@@ -1118,4 +1118,21 @@ Sebagai contoh, sesetengah tapak web mungkin memberi respons kepada permintaan i
<translation id="982182592107339124">Ini akan memadamkan data untuk semua tapak web, termasuk:</translation>
<translation id="983192555821071799">Tutup semua tab</translation>
<translation id="987264212798334818">Umum</translation>
@ -1348,7 +1308,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
@@ -1100,4 +1100,21 @@ Druk lang op een woord om er een zoekopdracht voor te maken. Pas de selectie aan
@@ -1118,4 +1118,21 @@ Zo kunnen sommige websites op dit verzoek reageren door advertenties weer te gev
<translation id="982182592107339124">Hiermee worden de gegevens voor alle sites gewist, inclusief:</translation>
<translation id="983192555821071799">Alle tabbladen sluiten</translation>
<translation id="987264212798334818">Algemeen</translation>
@ -1375,7 +1335,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
@@ -1100,4 +1100,21 @@ Utfør lange trykk på ord for å søke etter dem. For å finstemme søket, just
@@ -1118,4 +1118,21 @@ Noen nettsteder kan for eksempel svare på denne forespørselen ved å vise deg
<translation id="982182592107339124">Dette fører til at dataene for alle nettsteder slettes, deriblant disse:</translation>
<translation id="983192555821071799">Lukk alle faner</translation>
<translation id="987264212798334818">Generelt</translation>
@ -1402,7 +1362,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
@@ -1100,4 +1100,21 @@ Przytrzymaj dowolne słowo, by rozpocząć wyszukiwanie. Jeśli chcesz je doprec
@@ -1118,4 +1118,21 @@ Na przykład niektóre strony mogą na nie zareagować, wyświetlając reklamy b
<translation id="982182592107339124">Spowoduje to usunięcie danych wszystkich witryn, w tym:</translation>
<translation id="983192555821071799">Zamknij wszystkie karty</translation>
<translation id="987264212798334818">Ogólne</translation>
@ -1429,7 +1389,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -1101,4 +1101,21 @@ Toque em qualquer palavra e a mantenha pressionada para criar uma pesquisa. Para
@@ -1119,4 +1119,21 @@ Por exemplo, alguns sites podem responder a esse pedido mostrando anúncios que
<translation id="982182592107339124">Essa ação limpará os dados de todos os sites, incluindo:</translation>
<translation id="983192555821071799">Fechar todas as guias</translation>
<translation id="987264212798334818">Geral</translation>
@ -1456,7 +1416,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -1100,4 +1100,21 @@ Mantenha premida qualquer palavra para criar uma pesquisa para a mesma. Para ref
@@ -1118,4 +1118,21 @@ Por exemplo, alguns Sites podem responder a este pedido ao mostrar-lhe anúncios
<translation id="982182592107339124">Esta ação limpa os dados de todos os sites, incluindo:</translation>
<translation id="983192555821071799">Fechar todos os separadores</translation>
<translation id="987264212798334818">Geral</translation>
@ -1483,7 +1443,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
@@ -1100,4 +1100,21 @@ Apasă lung pe orice cuvânt ca să creezi o căutare pentru acesta. Pentru a ra
@@ -1118,4 +1118,21 @@ De exemplu, unele site-uri pot răspunde la această solicitare afișând anunț
<translation id="982182592107339124">Astfel, se vor șterge datele pentru toate site-urile, inclusiv:</translation>
<translation id="983192555821071799">Închide toate filele</translation>
<translation id="987264212798334818">General</translation>
@ -1510,7 +1470,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">Будут удалены данные всех сайтов, в том числе:</translation>
<translation id="983192555821071799">Закрыть все вкладки</translation>
<translation id="987264212798334818">Общие</translation>
@ -1537,7 +1497,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
@@ -1100,4 +1100,21 @@ Ak chcete vyhľadať nejaké slovo, dlho ho stlačte. Ak chcete vyhľadávanie s
@@ -1118,4 +1118,21 @@ Niektoré weby môžu napríklad na túto žiadosť reagovať tak, že vám zobr
<translation id="982182592107339124">Vymažete dáta všetkých webov vrátane týchto:</translation>
<translation id="983192555821071799">Zavrieť všetky karty</translation>
<translation id="987264212798334818">Všeobecné</translation>
@ -1564,7 +1524,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
@@ -1100,4 +1100,21 @@ Za dalj časa pritisnite poljubno besedo, če želite ustvariti iskanje zanjo.
@@ -1118,4 +1118,21 @@ Nekatera spletna mesta se lahko na primer na zahtevo odzovejo tako, da prikažej
<translation id="982182592107339124">S tem bodo izbrisani podatki za vsa spletna mesta, vključno s temi:</translation>
<translation id="983192555821071799">Zapri vse zavihke</translation>
<translation id="987264212798334818">Splošno</translation>
@ -1591,7 +1551,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
@@ -1100,4 +1100,21 @@ Google налог можда има друге облике историје п
@@ -1118,4 +1118,21 @@ Google налог можда има друге облике историје п
<translation id="982182592107339124">Овим бришете податке за све сајтове, укључујући:</translation>
<translation id="983192555821071799">Затвори све картице</translation>
<translation id="987264212798334818">Опште</translation>
@ -1618,7 +1578,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
@@ -1100,4 +1100,21 @@ Tryck länge på ett ord för att söka efter det. Om du vill finjustera söknin
@@ -1118,4 +1118,21 @@ Vissa webbplatser kan till exempel svara på begäran genom att visa annonser so
<translation id="982182592107339124">Åtgärden raderar data för alla webbplatser, inklusive:</translation>
<translation id="983192555821071799">Stäng alla flikar</translation>
<translation id="987264212798334818">Allmänt</translation>
@ -1645,7 +1605,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
@@ -1100,4 +1100,21 @@ Bonyeza neno lolote kwa muda mrefu ili utunge utafutaji wake. Ili uchuje utafuta
@@ -1118,4 +1118,21 @@ Kwa mfano, baadhi ya tovuti zinaweza kujibu ombi hili kwa kukuonyesha matangazo
<translation id="982182592107339124">Hatua hii itafuta data ya tovuti zote, ikiwa ni pamoja na:</translation>
<translation id="983192555821071799">Funga vichupo vyote</translation>
<translation id="987264212798334818">Jumla</translation>
@ -1672,7 +1632,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">இதனால் எல்லா தளங்களுக்கான தரவும் அழிக்கப்படும், இதில் அடங்குபவை:</translation>
<translation id="983192555821071799">எல்லா தாவல்களையும் மூடு</translation>
<translation id="987264212798334818">பொது</translation>
@ -1699,7 +1659,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">ఇది వీటితో సహా అన్ని సైట్‌ల డేటాను తీసివేస్తుంది:</translation>
<translation id="983192555821071799">అన్ని ట్యాబ్‌లను మూసివేయి</translation>
<translation id="987264212798334818">సాధారణం</translation>
@ -1726,7 +1686,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">การดำเนินการนี้จะล้างข้อมูลสำหรับทุกเว็บไซต์ รวมถึง</translation>
<translation id="983192555821071799">ปิดแท็บทั้งหมด</translation>
<translation id="987264212798334818">ทั่วไป</translation>
@ -1753,7 +1713,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -1100,4 +1100,21 @@ Herhangi bir kelimeye uzun basarak o kelime için arama oluşturun. Aramanızı
@@ -1118,4 +1118,21 @@ Bu ayarı değiştirmek için <ph name="BEGIN_LINK" />senkronizasyonu sıfırlay
<translation id="982182592107339124">Bu işlem, aşağıdakiler de dahil olmak üzere tüm sitelere ilişkin verileri temizleyecek:</translation>
<translation id="983192555821071799">Tüm sekmeleri kapat</translation>
<translation id="987264212798334818">Genel</translation>
@ -1780,7 +1740,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">Буде видалено дані всіх сайтів, зокрема:</translation>
<translation id="983192555821071799">Закрити всі вкладки</translation>
<translation id="987264212798334818">Загальне</translation>
@ -1807,7 +1767,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
@@ -1100,4 +1100,21 @@ Hãy nhấn và giữ từ bất kỳ để bắt đầu tìm kiếm từ đó.
@@ -1118,4 +1118,21 @@ Ví dụ: một số trang web có thể phản hồi yêu cầu này bằng cá
<translation id="982182592107339124">Thao tác này sẽ xóa dữ liệu của tất cả các trang web, bao gồm:</translation>
<translation id="983192555821071799">Đóng tất cả các tab</translation>
<translation id="987264212798334818">Chung</translation>
@ -1834,7 +1794,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">这会清除所有网站的数据,包括:</translation>
<translation id="983192555821071799">关闭所有标签页</translation>
<translation id="987264212798334818">常规</translation>
@ -1861,7 +1821,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -1100,4 +1100,21 @@
@@ -1118,4 +1118,21 @@
<translation id="982182592107339124">這會清除所有網站的資料,包括:</translation>
<translation id="983192555821071799">關閉所有分頁</translation>
<translation id="987264212798334818">一般</translation>

View file

@ -13,7 +13,7 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
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
@@ -2103,6 +2103,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2333,6 +2333,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
#endif // OS_MACOSX
#if defined(OS_ANDROID)
@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -780,6 +780,11 @@
@@ -829,6 +829,11 @@
// enable-javascript-harmony.
"expiry_milestone": -1
},
@ -42,9 +42,9 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -2609,6 +2609,10 @@ const char kProcessSharingWithStrictSiteInstancesDescription[] =
"separated like strict site isolation, but process selection puts multiple "
"site instances in a single process.";
@@ -2584,6 +2584,10 @@ const char kProcessSharingWithStrictSiteInstancesDescription[] =
const char kQueryTilesName[] = "Show query tiles";
const char kQueryTilesDescription[] = "Shows query tiles in Chrome";
+const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
+const char kPullToRefreshEffectDescription[] =
@ -56,9 +56,9 @@ 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
@@ -1510,6 +1510,9 @@ extern const char kProcessSharingWithDefaultSiteInstancesDescription[];
extern const char kProcessSharingWithStrictSiteInstancesName[];
extern const char kProcessSharingWithStrictSiteInstancesDescription[];
@@ -1490,6 +1490,9 @@ extern const char kProcessSharingWithStrictSiteInstancesDescription[];
extern const char kQueryTilesName[];
extern const char kQueryTilesDescription[];
+extern const char kPullToRefreshEffectName[];
+extern const char kPullToRefreshEffectDescription[];

View file

@ -0,0 +1,127 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 5 May 2020 07:22:20 +0200
Subject: Revert "gpu/android: Remove setup for disabling AImageReader."
This reverts commit dcd5a39518246eb999f1cc63bf1ec95d93fd5b2f.
---
base/android/android_image_reader_compat.cc | 8 +++++++-
base/android/android_image_reader_compat.h | 4 ++++
gpu/config/gpu_util.cc | 8 ++++++++
gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 11 +++++++++++
5 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
--- a/base/android/android_image_reader_compat.cc
+++ b/base/android/android_image_reader_compat.cc
@@ -22,6 +22,8 @@
namespace base {
namespace android {
+bool AndroidImageReader::disable_support_ = false;
+
AndroidImageReader& AndroidImageReader::GetInstance() {
// C++11 static local variable initialization is
// thread-safe.
@@ -29,8 +31,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
return *instance;
}
+void AndroidImageReader::DisableSupport() {
+ disable_support_ = true;
+}
+
bool AndroidImageReader::IsSupported() {
- return is_supported_;
+ return !disable_support_ && is_supported_;
}
AndroidImageReader::AndroidImageReader() {
diff --git a/base/android/android_image_reader_compat.h b/base/android/android_image_reader_compat.h
--- a/base/android/android_image_reader_compat.h
+++ b/base/android/android_image_reader_compat.h
@@ -22,6 +22,9 @@ class BASE_EXPORT AndroidImageReader {
// Thread safe GetInstance.
static AndroidImageReader& GetInstance();
+ // Disable image reader support.
+ static void DisableSupport();
+
// Check if the image reader usage is supported. This function returns TRUE
// if android version is >=OREO, image reader support is not disabled and all
// the required functions are loaded.
@@ -64,6 +67,7 @@ class BASE_EXPORT AndroidImageReader {
AndroidImageReader();
bool LoadFunctions();
+ static bool disable_support_;
bool is_supported_;
pAImage_delete AImage_delete_;
pAImage_deleteAsync AImage_deleteAsync_;
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@@ -108,6 +108,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !defined(OS_ANDROID)
return kGpuFeatureStatusDisabled;
#else
+ if (blacklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
+ return kGpuFeatureStatusBlacklisted;
+
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -349,6 +352,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_ACCELERATED_WEBGL2] =
kGpuFeatureStatusBlacklisted;
}
+
+ if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
+ gpu_feature_info->status_values[GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL] =
+ kGpuFeatureStatusBlacklisted;
+ }
}
// Estimates roughly user total disk space by counting in the drives where
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
--- a/gpu/config/gpu_workaround_list.txt
+++ b/gpu/config/gpu_workaround_list.txt
@@ -13,6 +13,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush
disable_accelerated_vpx_decode
+disable_aimagereader
disable_async_readpixels
disable_av_sample_buffer_display_layer
disable_blend_equation_advanced
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -524,6 +524,12 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
ui::OzonePlatform::GetInstance()->AfterSandboxEntry();
#endif
+#if defined(OS_ANDROID)
+ // Disable AImageReader if the workaround is enabled.
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
+ base::android::AndroidImageReader::DisableSupport();
+ }
+#endif
#if defined(USE_OZONE)
gpu_feature_info_.supported_buffer_formats_for_allocation_and_texturing =
std::move(supported_buffer_formats_for_texturing);
@@ -550,6 +556,11 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
default_offscreen_surface_ = gl::init::CreateOffscreenGLSurface(gfx::Size());
+ // Disable AImageReader if the workaround is enabled.
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
+ base::android::AndroidImageReader::DisableSupport();
+ }
+
UMA_HISTOGRAM_ENUMERATION("GPU.GLImplementation", gl::GetGLImplementation());
}
#else
--
2.17.1

View file

@ -1,17 +1,17 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 28 Dec 2019 10:23:04 +0100
Subject: Always show site settings for cookies, javascript and ads
Subject: Show site settings for cookies, javascript and ads
Avoid displaying info about intrusive ads
---
.../website/SingleWebsiteSettings.java | 46 +++++++++----------
.../browser/settings/website/Website.java | 20 ++++++++
.../site_settings/SingleWebsiteSettings.java | 46 +++++++++----------
.../chrome/browser/site_settings/Website.java | 20 ++++++++
2 files changed, 42 insertions(+), 24 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleWebsiteSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleWebsiteSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleWebsiteSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/SingleWebsiteSettings.java
@@ -72,6 +72,7 @@ public class SingleWebsiteSettings extends PreferenceFragmentCompat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleWebsiteSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleWebsiteSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleWebsiteSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/SingleWebsiteSettings.java
@@ -70,6 +70,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// Buttons:
public static final String PREF_RESET_SITE = "reset_site_button";
@ -19,7 +19,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
// Website permissions (if adding new, see hasPermissionsPreferences and resetSite below)
// All permissions from the permissions preference category must be listed here.
private static final String[] PERMISSION_PREFERENCE_KEYS = {
@@ -349,7 +350,24 @@ public class SingleWebsiteSettings extends PreferenceFragmentCompat
@@ -347,7 +348,24 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} else if (i == ContentSettingException.Type.SOUND) {
setUpSoundPreference(preference);
} else {
@ -45,7 +45,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
}
return;
}
@@ -646,17 +664,8 @@ public class SingleWebsiteSettings extends PreferenceFragmentCompat
@@ -635,17 +653,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
private void setUpAdsInformationalBanner() {
@ -65,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
}
private SiteSettingsCategory getWarningCategory() {
@@ -733,6 +742,7 @@ public class SingleWebsiteSettings extends PreferenceFragmentCompat
@@ -724,6 +733,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
// TODO(crbug.com/735110): Figure out if this is the correct thing to do - here we are
// effectively treating non-ALLOW values as BLOCK.
int index = (value == ContentSettingValues.ALLOW ? 0 : 1);
@ -73,7 +73,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
listPreference.setValueIndex(index);
listPreference.setOnPreferenceChangeListener(this);
listPreference.setSummary("%s");
@@ -802,22 +812,10 @@ public class SingleWebsiteSettings extends PreferenceFragmentCompat
@@ -793,22 +803,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpListPreference(preference, null);
return;
}
@ -96,9 +96,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/websit
// However, if the blocking is activated, we still want to show the permission, even if it
// is in the default state.
if (permission == null) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/Website.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/Website.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/website/Website.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/website/Website.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/Website.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/Website.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/Website.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/Website.java
@@ -197,6 +197,26 @@ public class Website implements Serializable {
new ContentSettingException(ContentSettingsType.ADS,
getAddress().getOrigin(), ContentSettingValues.BLOCK, "");

View file

@ -32,7 +32,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
@@ -36,16 +36,11 @@ public class FirstRunUtils {
@@ -37,16 +37,11 @@ public class FirstRunUtils {
boolean javaPrefValue =
javaPrefs.readBoolean(ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, false);
boolean nativePrefValue = isFirstRunEulaAccepted();
@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
@@ -75,7 +75,7 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
@@ -76,7 +76,7 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
}
});
@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAnd
int paddingStart = getResources().getDimensionPixelSize(
R.dimen.fre_tos_checkbox_padding);
ViewCompat.setPaddingRelative(mSendReportCheckBox,
@@ -87,8 +87,10 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
@@ -88,8 +88,10 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
mSendReportCheckBox.setChecked(FirstRunActivity.DEFAULT_METRICS_AND_CRASH_REPORTING);
} else {
mSendReportCheckBox.setVisibility(View.GONE);

View file

@ -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
@@ -283,16 +283,12 @@ config("compiler") {
@@ -284,16 +284,12 @@ config("compiler") {
cflags += [ "-fstack-protector" ]
}
} else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) {

View file

@ -0,0 +1,67 @@
From: mars <gzhqyz@gmail.com>
Date: Thu, 7 May 2020 17:02:17 +0800
Subject: Update i18n zh_CN support
---
.../resources/generated_resources_zh-CN.xtb | 4 +++-
.../resources/google_chrome_strings_zh-CN.xtb | 3 ++-
.../android_chrome_strings_zh-CN.xtb | 23 +++++++++++++++++++
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -6227,4 +6227,6 @@
<translation id="995782501881226248">YouTube</translation>
<translation id="996250603853062861">正在建立安全连接...</translation>
<translation id="998747458861718449">检查(&amp;N)</translation>
-</translationbundle>
\ No newline at end of file
+<translation id="2649331484502514724">安全 DNS</translation>
+<translation id="3570978159297582979">配置 DNS-over-HTTPS (DoH) 安全 DNS</translation>
+</translationbundle>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
--- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -246,4 +246,5 @@
<translation id="9138603949443464873">要想应用您的更改,请重新启动 Chrome</translation>
<translation id="919706545465235479">更新 Chrome 以开始同步</translation>
<translation id="989369509083708165">Google Chrome 是您的默认浏览器</translation>
-</translationbundle>
\ No newline at end of file
+<translation id="9090881409075599658">关于 Bromite</translation>
+</translationbundle>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -1135,4 +1135,27 @@
<translation id="666268767214822976">当您在地址栏中输入查询内容时,使用联想查询服务显示相关查询和热门网站</translation>
<translation id="8283853025636624853">正在同步到 <ph name="SYNC_ACCOUNT_USER_NAME" /></translation>
<translation id="8981454092730389528">Google 活动控件</translation>
+<translation id="9090881409075599658">关于 Bromite</translation>
+<translation id="9148058034647219655">退出</translation>
+<translation id="6544149167512551709">保留 Cookies 直到您退出浏览器</translation>
+<translation id="5097570298965261538">启用后,所有 Cookies 将在浏览器会话结束时清除</translation>
+<translation id="8275038454117074363">导入</translation>
+<translation id="42126664696688958">导出</translation>
+<translation id="2664074085387024071">始终在隐身窗口中打开新标签页</translation>
+<translation id="2299991736030477757">当您点击新标签页或链接时,在隐身窗口中打开链接</translation>
+<translation id="8082300724182262861">允许自定义标签页意图</translation>
+<translation id="3872079764041807613">允许应用打开自定义标签页意图,类似 WebView。</translation>
+<translation id="7407707055453283472">退出时关闭所有打开的标签页</translation>
+<translation id="1680858055899097121">浏览会话期间不保存标签页</translation>
+<translation id="8129266367131301611">代理设置</translation>
+<translation id="2649331484502514724">安全 DNS</translation>
+<translation id="3570978159297582979">配置 DNS-over-HTTPS (DoH) 安全 DNS</translation>
+<translation id="5358709067738333200">编辑 DoH 模板地址</translation>
+<translation id="8392533174213166336">DoH 模板地址</translation>
+<translation id="2243924551662516171">广告拦截</translation>
+<translation id="6262611605884902060">配置广告拦截和过滤器地址</translation>
+<translation id="1596617375011985756">广告拦截设置</translation>
+<translation id="3544784763752062458">编辑过滤器地址</translation>
+<translation id="4456370887631736415">过滤器地址</translation>
+<translation id="8189997785233370573">访问帮助页面</translation>
</translationbundle>
--
2.17.1

View file

@ -1,805 +0,0 @@
From: Min Qin <qinmin@chromium.org>
Date: Wed, 4 Mar 2020 19:08:17 +0000
Subject: Upstream internal DownloadCollectionBridge code
This will allow download in public chromium build to work on Q with MediaStore.
BUG=1052490
Change-Id: I31476292b92c7a5882fa4ad80cc60b29f6b14dba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2057806
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Min Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746867}
---
.../org/chromium/chrome/browser/AppHooks.java | 8 -
.../download/DownloadManagerService.java | 2 +
.../infobar/DuplicateDownloadInfoBar.java | 8 +-
.../init/ProcessInitializationHandler.java | 6 -
chrome/browser/download/android/BUILD.gn | 2 +
chrome/browser/download/android/DEPS | 1 +
.../download/DownloadDelegateImpl.java | 31 ++
components/download/internal/common/BUILD.gn | 6 +-
.../download/DownloadCollectionBridge.java | 413 ++++++++++++------
.../components/download/DownloadDelegate.java | 47 ++
10 files changed, 363 insertions(+), 161 deletions(-)
create mode 100644 chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDelegateImpl.java
create mode 100644 components/download/internal/common/android/java/src/org/chromium/components/download/DownloadDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -54,7 +54,6 @@ import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient;
import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
import org.chromium.chrome.browser.webauth.Fido2ApiHandler;
import org.chromium.chrome.browser.widget.FeatureHighlightProvider;
-import org.chromium.components.download.DownloadCollectionBridge;
import org.chromium.components.signin.AccountManagerDelegate;
import org.chromium.components.signin.SystemAccountManagerDelegate;
import org.chromium.content_public.browser.UiThreadTaskTraits;
@@ -340,13 +339,6 @@ public abstract class AppHooks {
return new FeatureHighlightProvider();
}
- /**
- * @return A new {@link DownloadCollectionBridge} instance.
- */
- public DownloadCollectionBridge getDownloadCollectionBridge() {
- return DownloadCollectionBridge.getDownloadCollectionBridge();
- }
-
/**
* @return A new {@link DigitalWellbeingClient} instance.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadManagerService.java
@@ -51,6 +51,7 @@ import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.util.ConversionUtils;
+import org.chromium.components.download.DownloadCollectionBridge;
import org.chromium.components.download.DownloadState;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.feature_engagement.Tracker;
@@ -288,6 +289,7 @@ public class DownloadManagerService implements DownloadController.DownloadNotifi
mHandler = handler;
mDownloadSnackbarController = new DownloadSnackbarController();
mOMADownloadHandler = new OMADownloadHandler(applicationContext);
+ DownloadCollectionBridge.setDownloadDelegate(new DownloadDelegateImpl());
// Note that this technically leaks the native object, however, DownloadManagerService
// is a singleton that lives forever and there's no clean shutdown of Chrome on Android.
init();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/DuplicateDownloadInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/DuplicateDownloadInfoBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/DuplicateDownloadInfoBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/DuplicateDownloadInfoBar.java
@@ -16,7 +16,6 @@ import android.text.style.StyleSpan;
import android.view.View;
import android.webkit.MimeTypeMap;
-import org.chromium.base.BuildInfo;
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.task.AsyncTask;
@@ -84,11 +83,8 @@ public class DuplicateDownloadInfoBar extends ConfirmInfoBar {
new AsyncTask<String>() {
@Override
protected String doInBackground() {
- if (BuildInfo.isAtLeastQ()
- && DownloadCollectionBridge.getDownloadCollectionBridge()
- .needToPublishDownload(mFilePath)) {
- Uri uri = DownloadCollectionBridge.getDownloadCollectionBridge()
- .getDownloadUriForFileName(filename);
+ if (DownloadCollectionBridge.shouldPublishDownload(mFilePath)) {
+ Uri uri = DownloadCollectionBridge.getDownloadUriForFileName(filename);
return uri == null ? null : uri.toString();
} else {
if (file.exists()) return mFilePath;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -81,7 +81,6 @@ import org.chromium.chrome.browser.util.ConversionUtils;
import org.chromium.chrome.browser.webapps.WebApkVersionManager;
import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
-import org.chromium.components.download.DownloadCollectionBridge;
import org.chromium.components.minidump_uploader.CrashFileManager;
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.AccountsChangeObserver;
@@ -185,11 +184,6 @@ public class ProcessInitializationHandler {
application, ChromePreferenceKeys.SYNC_SESSIONS_UUID),
false);
- // Set up the DownloadCollectionBridge early as display names may be immediately retrieved
- // after native is loaded.
- DownloadCollectionBridge.setDownloadCollectionBridge(
- AppHooks.get().getDownloadCollectionBridge());
-
// De-jelly can also be controlled by a system property. As sandboxed processes can't
// read this property directly, convert it to the equivalent command line flag.
if (DeJellyUtils.externallyEnableDeJelly()) {
diff --git a/chrome/browser/download/android/BUILD.gn b/chrome/browser/download/android/BUILD.gn
--- a/chrome/browser/download/android/BUILD.gn
+++ b/chrome/browser/download/android/BUILD.gn
@@ -8,6 +8,7 @@ android_library("java") {
sources = [
"java/src/org/chromium/chrome/browser/download/DirectoryOption.java",
"java/src/org/chromium/chrome/browser/download/DownloadConstants.java",
+ "java/src/org/chromium/chrome/browser/download/DownloadDelegateImpl.java",
"java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java",
"java/src/org/chromium/chrome/browser/download/DownloadFileProvider.java",
"java/src/org/chromium/chrome/browser/download/DownloadFilter.java",
@@ -24,6 +25,7 @@ android_library("java") {
"//base:base_java",
"//base:jni_java",
"//chrome/browser/util:java",
+ "//components/download/internal/common:internal_java",
"//components/download/public/common:public_java",
"//components/offline_items_collection/core:core_java",
"//content/public/android:content_java",
diff --git a/chrome/browser/download/android/DEPS b/chrome/browser/download/android/DEPS
--- a/chrome/browser/download/android/DEPS
+++ b/chrome/browser/download/android/DEPS
@@ -1,4 +1,5 @@
include_rules = [
"+media/video",
"+content/public/android/java/src/org/chromium/content_public",
+ "+components/download/internal/common",
]
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDelegateImpl.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDelegateImpl.java
new file mode 100644
--- /dev/null
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDelegateImpl.java
@@ -0,0 +1,31 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.download;
+
+import android.net.Uri;
+
+import org.chromium.components.download.DownloadDelegate;
+
+/**
+ * Utility class that implements DownloadDelegate.
+ */
+public class DownloadDelegateImpl extends DownloadDelegate {
+ public DownloadDelegateImpl() {}
+
+ @Override
+ public String remapGenericMimeType(String mimeType, String url, String filename) {
+ return MimeUtils.remapGenericMimeType(mimeType, url, filename);
+ }
+
+ @Override
+ public Uri parseOriginalUrl(String originalUrl) {
+ return UriUtils.parseOriginalUrl(originalUrl);
+ }
+
+ @Override
+ public boolean isDownloadOnSDCard(String filePath) {
+ return DownloadDirectoryProvider.isDownloadOnSDCard(filePath);
+ }
+}
diff --git a/components/download/internal/common/BUILD.gn b/components/download/internal/common/BUILD.gn
--- a/components/download/internal/common/BUILD.gn
+++ b/components/download/internal/common/BUILD.gn
@@ -101,11 +101,15 @@ source_set("internal") {
if (is_android) {
android_library("internal_java") {
- sources = [ "android/java/src/org/chromium/components/download/DownloadCollectionBridge.java" ]
+ sources = [
+ "android/java/src/org/chromium/components/download/DownloadCollectionBridge.java",
+ "android/java/src/org/chromium/components/download/DownloadDelegate.java",
+ ]
deps = [
"//base:base_java",
"//base:jni_java",
+ "//third_party/android_provider:android_provider_java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
diff --git a/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadCollectionBridge.java b/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadCollectionBridge.java
--- a/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadCollectionBridge.java
+++ b/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadCollectionBridge.java
@@ -4,26 +4,59 @@
package org.chromium.components.download;
+import android.annotation.TargetApi;
import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
+import android.database.Cursor;
import android.net.Uri;
+import android.os.Build;
+import android.os.FileUtils;
import android.os.ParcelFileDescriptor;
+import android.provider.BaseColumns;
+import android.provider.MediaStore;
+import android.provider.MediaStore.Downloads;
+import android.provider.MediaStore.MediaColumns;
+import android.text.TextUtils;
+import android.text.format.DateUtils;
+import androidx.annotation.NonNull;
+
+import org.chromium.base.BuildInfo;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.NativeMethods;
+import org.chromium.third_party.android.provider.MediaStoreUtils;
+import org.chromium.third_party.android.provider.MediaStoreUtils.PendingParams;
+import org.chromium.third_party.android.provider.MediaStoreUtils.PendingSession;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
/**
* Helper class for publishing download files to the public download collection.
*/
@JNINamespace("download")
public class DownloadCollectionBridge {
- // Singleton instance that allows embedders to replace their implementation.
- private static DownloadCollectionBridge sDownloadCollectionBridge;
private static final String TAG = "DownloadCollection";
- // Guards access to sDownloadCollectionBridge.
- private static final Object sLock = new Object();
+
+ // File name pattern to be used when media store has too many duplicates. This matches
+ // that of download_path_reservation_tracker.cc.
+ private static final String FILE_NAME_PATTERN = "yyyy-MM-dd'T'HHmmss.SSS";
+
+ private static final List<String> COMMON_DOUBLE_EXTENSIONS =
+ new ArrayList<String>(Arrays.asList("tar.gz", "tar.z", "tar.bz2", "tar.bz", "user.js"));
+
+ private static DownloadDelegate sDownloadDelegate = new DownloadDelegate();
/**
* Class representing the Uri and display name pair for downloads.
@@ -49,127 +82,13 @@ public class DownloadCollectionBridge {
}
/**
- * Return getDownloadCollectionBridge singleton.
- */
- public static DownloadCollectionBridge getDownloadCollectionBridge() {
- synchronized (sLock) {
- if (sDownloadCollectionBridge == null) {
- sDownloadCollectionBridge = new DownloadCollectionBridge();
- }
- }
- return sDownloadCollectionBridge;
- }
-
- /**
- * Sets the singlton object to use later.
- */
- public static void setDownloadCollectionBridge(DownloadCollectionBridge bridge) {
- synchronized (sLock) {
- sDownloadCollectionBridge = bridge;
- }
- }
-
- /**
- * Returns whether a download needs to be published.
- * @param filePath File path of the download.
- * @return True if the download needs to be published, or false otherwise.
- */
- public boolean needToPublishDownload(final String filePath) {
- return false;
- }
-
- /**
- * Creates a pending session for download to be written into.
- * @param fileName Name of the file.
- * @param mimeType Mime type of the file.
- * @param originalUrl Originating URL of the download.
- * @param referrer Referrer of the download.
- * @return Uri created for the pending session.
- */
- protected Uri createPendingSession(final String fileName, final String mimeType,
- final String originalUrl, final String referrer) {
- return null;
- }
-
- /**
- * Copy file content from a source file to the pending Uri.
- * @param sourcePath File content to be copied from.
- * @param pendingUri Destination Uri to be copied to.
- * @return true on success, or false otherwise.
- */
- protected boolean copyFileToPendingUri(final String sourcePath, final String pendingUri) {
- return false;
- }
-
- /**
- * Abandon the the intermediate Uri.
- * @param pendingUri Intermediate Uri that is going to be deleted.
- */
- protected void abandonPendingUri(final String pendingUri) {}
-
- /**
- * Publish a completed download to public repository.
- * @param pendingUri Pending uri to publish.
- * @return Uri of the published file.
- */
- protected Uri publishCompletedDownload(final String pendingUri) {
- return null;
- }
-
- /**
- * Gets the content URI of the download that has the given file name.
- * @param pendingUri name of the file.
- * @return Uri of the download with the given display name.
+ * Sets the DownloadDelegate to be used for utility methods.
+ * TODO(qinmin): remove this method once we moved all the utility methods into
+ * components/.
+ * @param downloadDelegate The new delegate to be used.
*/
- public Uri getDownloadUriForFileName(final String fileName) {
- return null;
- }
-
- /**
- * Renames a download Uri with a display name.
- * @param downloadUri Uri of the download.
- * @param displayName New display name for the download.
- * @return whether rename was successful.
- */
- protected boolean rename(final String downloadUri, final String displayName) {
- return false;
- }
-
- /**
- * @return Whether download display names needs to be retrieved.
- */
- protected boolean needToGetDisplayNames() {
- return false;
- }
-
- /**
- * Gets the display names for all downloads
- * @return an array of download Uri and display name pair.
- */
- protected DisplayNameInfo[] getDisplayNames() {
- return null;
- }
-
- /**
- * @return whether download collection is supported.
- */
- protected boolean isDownloadCollectionSupported() {
- return false;
- }
-
- /**
- * Refreshes the expiration date so the unpublished download won't get abandoned.
- * @param intermediateUri The intermediate Uri that is not yet published.
- */
- protected void refreshExpirationDate(final String intermediateUri) {}
-
- /**
- * Gets the display name for a download.
- * @param downloadUri Uri of the download.
- * @return the display name of the download.
- */
- protected String getDisplayNameForUri(final String downloadUri) {
- return null;
+ public static void setDownloadDelegate(DownloadDelegate downloadDelegate) {
+ sDownloadDelegate = downloadDelegate;
}
/**
@@ -183,8 +102,20 @@ public class DownloadCollectionBridge {
@CalledByNative
public static String createIntermediateUriForPublish(final String fileName,
final String mimeType, final String originalUrl, final String referrer) {
- Uri uri = getDownloadCollectionBridge().createPendingSession(
- fileName, mimeType, originalUrl, referrer);
+ Uri uri = createPendingSessionInternal(fileName, mimeType, originalUrl, referrer);
+ if (uri != null) return uri.toString();
+
+ // If there are too many duplicates on the same file name, createPendingSessionInternal()
+ // will return null. Generate a new file name with timestamp.
+ SimpleDateFormat sdf = new SimpleDateFormat(FILE_NAME_PATTERN, Locale.getDefault());
+ // Remove the extension first.
+ String baseName = getBaseName(fileName);
+ String extension = fileName.substring(baseName.length());
+ StringBuilder sb = new StringBuilder(baseName);
+ sb.append(" - ");
+ sb.append(sdf.format(new Date()));
+ sb.append(extension);
+ uri = createPendingSessionInternal(sb.toString(), mimeType, originalUrl, referrer);
return uri == null ? null : uri.toString();
}
@@ -194,8 +125,13 @@ public class DownloadCollectionBridge {
* @return True if the download needs to be published, or false otherwise.
*/
@CalledByNative
- private static boolean shouldPublishDownload(final String filePath) {
- return getDownloadCollectionBridge().needToPublishDownload(filePath);
+ public static boolean shouldPublishDownload(final String filePath) {
+ if (isAtLeastQ()) {
+ if (filePath == null) return false;
+ // Only need to publish downloads that are on primary storage.
+ return !sDownloadDelegate.isDownloadOnSDCard(filePath);
+ }
+ return false;
}
/**
@@ -205,9 +141,21 @@ public class DownloadCollectionBridge {
* @return True on success, or false otherwise.
*/
@CalledByNative
+ @TargetApi(29)
public static boolean copyFileToIntermediateUri(
final String sourcePath, final String destinationUri) {
- return getDownloadCollectionBridge().copyFileToPendingUri(sourcePath, destinationUri);
+ try {
+ PendingSession session = openPendingUri(destinationUri);
+ OutputStream out = session.openOutputStream();
+ InputStream in = new FileInputStream(sourcePath);
+ FileUtils.copy(in, out);
+ in.close();
+ out.close();
+ return true;
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to copy content to pending Uri.", e);
+ }
+ return false;
}
/**
@@ -216,7 +164,8 @@ public class DownloadCollectionBridge {
*/
@CalledByNative
public static void deleteIntermediateUri(final String uri) {
- getDownloadCollectionBridge().abandonPendingUri(uri);
+ PendingSession session = openPendingUri(uri);
+ session.abandon();
}
/**
@@ -226,8 +175,34 @@ public class DownloadCollectionBridge {
*/
@CalledByNative
public static String publishDownload(final String intermediateUri) {
- Uri uri = getDownloadCollectionBridge().publishCompletedDownload(intermediateUri);
- return uri == null ? null : uri.toString();
+ // Android Q's MediaStore.Downloads has an issue that the custom mime type which is not
+ // supported by MimeTypeMap is overridden to "application/octet-stream" when publishing.
+ // To deal with this issue we set the mime type again after publishing.
+ // See crbug.com/1010829 for more details.
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
+ String mimeType = null;
+ Cursor cursor = null;
+ try {
+ cursor = resolver.query(Uri.parse(intermediateUri),
+ new String[] {MediaColumns.MIME_TYPE}, null, null, null);
+ if (cursor != null && cursor.getCount() != 0 && cursor.moveToNext()) {
+ mimeType = cursor.getString(cursor.getColumnIndex(MediaColumns.MIME_TYPE));
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to get mimeType.", e);
+ } finally {
+ if (cursor != null) cursor.close();
+ }
+
+ PendingSession session = openPendingUri(intermediateUri);
+ Uri publishedUri = session.publish();
+
+ if (!TextUtils.isEmpty(mimeType)) {
+ final ContentValues updateValues = new ContentValues();
+ updateValues.put(MediaColumns.MIME_TYPE, mimeType);
+ resolver.update(publishedUri, updateValues, null, null);
+ }
+ return publishedUri.toString();
}
/**
@@ -241,7 +216,10 @@ public class DownloadCollectionBridge {
ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
ParcelFileDescriptor pfd =
resolver.openFileDescriptor(Uri.parse(intermediateUri), "rw");
- getDownloadCollectionBridge().refreshExpirationDate(intermediateUri);
+ ContentValues updateValues = new ContentValues();
+ updateValues.put("date_expires", getNewExpirationTime());
+ ContextUtils.getApplicationContext().getContentResolver().update(
+ Uri.parse(intermediateUri), updateValues, null, null);
return pfd.detachFd();
} catch (Exception e) {
Log.e(TAG, "Cannot open intermediate Uri.", e);
@@ -250,12 +228,13 @@ public class DownloadCollectionBridge {
}
/**
+ * Check if a download with the same name already exists.
+ * @param fileName The name of the file to check.
* @return whether a download with the file name exists.
*/
@CalledByNative
private static boolean fileNameExists(final String fileName) {
- Uri uri = getDownloadCollectionBridge().getDownloadUriForFileName(fileName);
- return uri != null;
+ return getDownloadUriForFileName(fileName) != null;
}
/**
@@ -266,7 +245,12 @@ public class DownloadCollectionBridge {
*/
@CalledByNative
private static boolean renameDownloadUri(final String downloadUri, final String displayName) {
- return getDownloadCollectionBridge().rename(downloadUri, displayName);
+ final ContentValues updateValues = new ContentValues();
+ Uri uri = Uri.parse(downloadUri);
+ updateValues.put(MediaColumns.DISPLAY_NAME, displayName);
+ return ContextUtils.getApplicationContext().getContentResolver().update(
+ uri, updateValues, null, null)
+ == 1;
}
/**
@@ -274,7 +258,7 @@ public class DownloadCollectionBridge {
*/
@CalledByNative
private static boolean needToRetrieveDisplayNames() {
- return getDownloadCollectionBridge().needToGetDisplayNames();
+ return isAtLeastQ();
}
/**
@@ -282,15 +266,63 @@ public class DownloadCollectionBridge {
* @return an array of download Uri and display name pair.
*/
@CalledByNative
+ @TargetApi(29)
private static DisplayNameInfo[] getDisplayNamesForDownloads() {
- return getDownloadCollectionBridge().getDisplayNames();
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
+ Cursor cursor = null;
+ try {
+ Uri uri = Downloads.EXTERNAL_CONTENT_URI;
+ cursor = resolver.query(MediaStore.setIncludePending(uri),
+ new String[] {BaseColumns._ID, MediaColumns.DISPLAY_NAME}, null, null, null);
+ if (cursor == null || cursor.getCount() == 0) return null;
+ List<DisplayNameInfo> infos = new ArrayList<DisplayNameInfo>();
+ while (cursor.moveToNext()) {
+ String displayName =
+ cursor.getString(cursor.getColumnIndex(MediaColumns.DISPLAY_NAME));
+ Uri downloadUri = ContentUris.withAppendedId(
+ uri, cursor.getInt(cursor.getColumnIndex(BaseColumns._ID)));
+ infos.add(new DisplayNameInfo(downloadUri.toString(), displayName));
+ }
+ return infos.toArray(new DisplayNameInfo[0]);
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to get display names for downloads.", e);
+ } finally {
+ if (cursor != null) cursor.close();
+ }
+ return null;
}
/**
* @return whether download collection is supported.
*/
public static boolean supportsDownloadCollection() {
- return getDownloadCollectionBridge().isDownloadCollectionSupported();
+ return isAtLeastQ();
+ }
+
+ /**
+ * Gets the content URI of the download that has the given file name.
+ * @param pendingUri name of the file.
+ * @return Uri of the download with the given display name.
+ */
+ @TargetApi(29)
+ public static Uri getDownloadUriForFileName(String fileName) {
+ Cursor cursor = null;
+ try {
+ Uri uri = Downloads.EXTERNAL_CONTENT_URI;
+ cursor = ContextUtils.getApplicationContext().getContentResolver().query(
+ MediaStore.setIncludePending(uri), new String[] {BaseColumns._ID},
+ "_display_name LIKE ?1", new String[] {fileName}, null);
+ if (cursor == null) return null;
+ if (cursor.moveToNext()) {
+ return ContentUris.withAppendedId(
+ uri, cursor.getInt(cursor.getColumnIndex(BaseColumns._ID)));
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to check file name existence.", e);
+ } finally {
+ if (cursor != null) cursor.close();
+ }
+ return null;
}
/**
@@ -300,6 +332,93 @@ public class DownloadCollectionBridge {
return DownloadCollectionBridgeJni.get().getExpirationDurationInDays();
}
+ private static boolean isAtLeastQ() {
+ return BuildInfo.isAtLeastQ() || Build.VERSION.SDK_INT >= 29;
+ }
+
+ /**
+ * Helper method to create a pending session for download to be written into.
+ * @param fileName Name of the file.
+ * @param mimeType Mime type of the file.
+ * @param originalUrl Originating URL of the download.
+ * @param referrer Referrer of the download.
+ * @return Uri created for the pending session, or null if failed.
+ */
+ private static Uri createPendingSessionInternal(final String fileName, final String mimeType,
+ final String originalUrl, final String referrer) {
+ PendingParams pendingParams =
+ createPendingParams(fileName, mimeType, originalUrl, referrer);
+ pendingParams.setExpirationTime(getNewExpirationTime());
+ try {
+ return MediaStoreUtils.createPending(
+ ContextUtils.getApplicationContext(), pendingParams);
+ } catch (Exception e) {
+ return null;
+ }
+ }
+
+ /**
+ * Helper method to create PendingParams needed for PendingSession creation.
+ * @param fileName Name of the file.
+ * @param mimeType Mime type of the file.
+ * @param originalUrl Originating URL of the download.
+ * @param referrer Referrer of the download.
+ * @return PendingParams needed for creating the PendingSession.
+ */
+ @TargetApi(29)
+ private static PendingParams createPendingParams(final String fileName, final String mimeType,
+ final String originalUrl, final String referrer) {
+ Uri downloadsUri = Downloads.EXTERNAL_CONTENT_URI;
+ String newMimeType =
+ sDownloadDelegate.remapGenericMimeType(mimeType, originalUrl, fileName);
+ PendingParams pendingParams = new PendingParams(downloadsUri, fileName, newMimeType);
+ Uri originalUri = sDownloadDelegate.parseOriginalUrl(originalUrl);
+ Uri referrerUri = TextUtils.isEmpty(referrer) ? null : Uri.parse(referrer);
+ pendingParams.setDownloadUri(originalUri);
+ pendingParams.setRefererUri(referrerUri);
+ return pendingParams;
+ }
+
+ /**
+ * Gets the base name, without extension, from a file name.
+ * TODO(qinmin): move this into a common utility class.
+ * @param fileName Name of the file.
+ * @return Base name of the file.
+ */
+ private static String getBaseName(final String fileName) {
+ for (String extension : COMMON_DOUBLE_EXTENSIONS) {
+ if (fileName.endsWith(extension)) {
+ String name = fileName.substring(0, fileName.length() - extension.length());
+ // remove the "." at the end.
+ if (name.endsWith(".")) {
+ return name.substring(0, name.length() - 1);
+ }
+ }
+ }
+ int index = fileName.lastIndexOf('.');
+ if (index == -1) {
+ return fileName;
+ } else {
+ return fileName.substring(0, index);
+ }
+ }
+
+ private static @NonNull PendingSession openPendingUri(final String pendingUri) {
+ return MediaStoreUtils.openPending(
+ ContextUtils.getApplicationContext(), Uri.parse(pendingUri));
+ }
+
+ /**
+ * Helper method to generate a new expiration epoch time in seconds.
+ * @return Epoch time value in seconds for the download to expire.
+ */
+ private static long getNewExpirationTime() {
+ return (System.currentTimeMillis()
+ + DownloadCollectionBridge.getExpirationDurationInDays()
+ * DateUtils.DAY_IN_MILLIS)
+ / 1000;
+ }
+
/**
* Gets the display name for a download.
* @param downloadUri Uri of the download.
@@ -307,7 +426,21 @@ public class DownloadCollectionBridge {
*/
@CalledByNative
private static String getDisplayName(final String downloadUri) {
- return getDownloadCollectionBridge().getDisplayNameForUri(downloadUri);
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
+ Cursor cursor = null;
+ try {
+ cursor = resolver.query(Uri.parse(downloadUri),
+ new String[] {MediaColumns.DISPLAY_NAME}, null, null, null);
+ if (cursor == null || cursor.getCount() == 0) return null;
+ if (cursor.moveToNext()) {
+ return cursor.getString(cursor.getColumnIndex(MediaColumns.DISPLAY_NAME));
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "Unable to get display name for download.", e);
+ } finally {
+ if (cursor != null) cursor.close();
+ }
+ return null;
}
@NativeMethods
diff --git a/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadDelegate.java b/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadDelegate.java
new file mode 100644
--- /dev/null
+++ b/components/download/internal/common/android/java/src/org/chromium/components/download/DownloadDelegate.java
@@ -0,0 +1,47 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.components.download;
+
+import android.net.Uri;
+
+/**
+ * Helper class for providering some helper method needed by DownloadCollectionBridge.
+ */
+public class DownloadDelegate {
+ public DownloadDelegate() {}
+
+ /**
+ * If the given MIME type is null, or one of the "generic" types (text/plain
+ * or application/octet-stream) map it to a type that Android can deal with.
+ * If the given type is not generic, return it unchanged.
+ *
+ * @param mimeType MIME type provided by the server.
+ * @param url URL of the data being loaded.
+ * @param filename file name obtained from content disposition header
+ * @return The MIME type that should be used for this data.
+ */
+ public String remapGenericMimeType(String mimeType, String url, String filename) {
+ return mimeType;
+ }
+
+ /**
+ * Parses an originating URL string and returns a valid Uri that can be inserted into
+ * DownloadManager. The returned Uri has to be null or non-empty http(s) scheme.
+ * @param originalUrl String representation of the originating URL.
+ * @return A valid Uri that can be accepted by DownloadManager.
+ */
+ public Uri parseOriginalUrl(String originalUrl) {
+ return Uri.parse(originalUrl);
+ }
+
+ /**
+ * Returns whether the downloaded file path is on an external SD card.
+ * @param filePath The download file path.
+ * @return Whether download is on external sd card.
+ */
+ public boolean isDownloadOnSDCard(String filePath) {
+ return false;
+ }
+}
--
2.17.1

View file

@ -13,7 +13,7 @@ Subject: Use 4 tile rows, never show logo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -119,7 +119,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -121,7 +121,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
/** Observer for overview mode. */
private EmptyOverviewModeObserver mOverviewObserver;
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mInitialized;
@@ -523,7 +523,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -530,7 +530,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
&& mInitialized) {
return;
}
@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSearchProviderIsGoogle = isGoogle;
updateTileGridPadding();
@@ -789,7 +789,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -796,7 +796,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
}
private static int getMaxTileRows() {

View file

@ -1,49 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 9 Jan 2020 19:59:08 +0100
Subject: Use a minimum DoH timeout of 400ms
---
net/dns/dns_session.cc | 7 ++++++-
net/dns/dns_session.h | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/net/dns/dns_session.cc b/net/dns/dns_session.cc
--- a/net/dns/dns_session.cc
+++ b/net/dns/dns_session.cc
@@ -118,6 +118,8 @@ DnsSession::DnsSession(const DnsConfig& config,
socket_pool_->Initialize(&config_.nameservers, net_log);
UMA_HISTOGRAM_CUSTOM_COUNTS("AsyncDNS.ServerCount",
config_.nameservers.size(), 1, 10, 11);
+ // minimum timeout for all DoH requests
+ min_doh_timeout_ = base::TimeDelta::FromMilliseconds(400);
UpdateTimeouts(NetworkChangeNotifier::GetConnectionType());
InitializeServerStats();
}
@@ -334,9 +336,12 @@ base::TimeDelta DnsSession::NextTimeout(unsigned server_index, int attempt) {
}
base::TimeDelta DnsSession::NextDohTimeout(unsigned doh_server_index) {
- return NextTimeoutHelper(
+ base::TimeDelta timeout = NextTimeoutHelper(
GetServerStats(doh_server_index, true /* is _doh_server */),
0 /* num_backoffs */);
+ if (timeout < min_doh_timeout_)
+ return min_doh_timeout_;
+ return timeout;
}
base::TimeDelta DnsSession::NextTimeoutHelper(ServerStats* server_stats,
diff --git a/net/dns/dns_session.h b/net/dns/dns_session.h
--- a/net/dns/dns_session.h
+++ b/net/dns/dns_session.h
@@ -176,6 +176,7 @@ class NET_EXPORT_PRIVATE DnsSession : public base::RefCounted<DnsSession> {
base::TimeDelta initial_timeout_;
base::TimeDelta max_timeout_;
+ base::TimeDelta min_doh_timeout_;
// TODO(crbug.com/1022059): Move all handling of ServerStats (both for DoH and
// non-DoH) to ResolveContext.
--
2.17.1

View file

@ -19,8 +19,8 @@ Subject: Use dummy DFM installer
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -125,10 +125,6 @@ public class ChromeApplication extends Application {
ChromeBackgroundTaskFactory.setAsDefault();
@@ -132,10 +132,6 @@ public class ChromeApplication extends Application {
}
}
- // Write installed modules to crash keys. This needs to be done as early as possible so that
@ -409,9 +409,9 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.metrics.CachedMetrics.EnumeratedHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
@@ -53,21 +49,6 @@ public class SplitAvailabilityLogger {
@@ -52,21 +48,6 @@ public class SplitAvailabilityLogger {
Set<String> requestedModules = new HashSet<>();
requestedModules.addAll(prefs.getStringSet(ONDEMAND_REQ_PREV, new HashSet<>()));
requestedModules.addAll(prefs.getStringSet(DEFERRED_REQ_PREV, new HashSet<>()));
@ -433,7 +433,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
}
private static void recordAvailabilityStatus(String moduleName, int status) {
@@ -82,14 +63,6 @@ public class SplitAvailabilityLogger {
@@ -80,14 +61,6 @@ public class SplitAvailabilityLogger {
* @param moduleName The module name.
*/
public void logInstallTimes(String moduleName) {
@ -448,7 +448,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
}
/**
@@ -169,7 +142,6 @@ public class SplitAvailabilityLogger {
@@ -167,7 +140,6 @@ public class SplitAvailabilityLogger {
public InstallTimes(boolean isCached) {
mIsCached = isCached;
@ -465,7 +465,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
-
import org.chromium.base.metrics.CachedMetrics.EnumeratedHistogramSample;
import org.chromium.base.metrics.RecordHistogram;
class SplitInstallStatusLogger {
@@ -28,33 +26,7 @@ class SplitInstallStatusLogger {

Some files were not shown because too many files have changed in this diff Show more