Updated patches for v87

This commit is contained in:
csagan5 2020-11-14 17:58:46 +01:00
parent 578556604a
commit 9a1f7c4242
112 changed files with 3546 additions and 5185 deletions

View file

@ -20,7 +20,6 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true
enable_remoting=false
enable_reporting=true
enable_resource_whitelist_generation=false
enable_vr=false
ffmpeg_branding="Chrome"
fieldtrial_testing_like_official_build=true

View file

@ -1 +1 @@
86.0.4240.194
87.0.4280.57

View file

@ -38,7 +38,6 @@ Disable-Omaha-update-checks.patch
Disable-update-scheduler.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
Fix-crash-when-accessing-page-info-site-settings.patch
openH264-enable-ARM-ARM64-optimizations.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
@ -51,7 +50,7 @@ Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch
Remove-help-menu-item.patch
AudioBuffer-AnalyserNode-fp-mitigations.patch
Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
Multiple-fingerprinting-mitigations.patch
Add-flags-to-disable-device-motion-orientation-APIs.patch
Disable-metrics-on-all-I-O-threads.patch
Always-respect-async-dns-flag-regardless-of-SDK-version.patch
@ -114,7 +113,7 @@ Increase-number-of-autocomplete-matches-from-5-to-10.patch
Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
Enable-DoH.patch
DoH-secure-mode-by-default.patch
Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
Revert-flags-remove-disable-pull-to-refresh-effect.patch
Use-dummy-DFM-installer.patch
@ -147,9 +146,8 @@ Disable-the-DIAL-repeating-discovery.patch
Block-all-connection-requests-with-qjz9zk-in-the-domain-name-or-with-a-trk-scheme.patch
Hardening-against-incognito-mode-detection.patch
Remove-weblayer-dependency-on-Play-Services.patch
Timezone-customization.patch
Move-some-account-settings-back-to-privacy-settings.patch
Add-flag-to-always-view-the-desktop-site-for-all-websites.patch
Revert-Remove-some-obsolete-NTP-code-post-Simplified-NTP-launch.patch
Flag-for-always-desktop-mode.patch
Restore-Simplified-NTP-launch.patch
Revert-the-removal-of-an-option-to-block-autoplay.patch
Automated-domain-substitution.patch

View file

@ -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
@@ -670,6 +670,11 @@ aom_mem_sources = [
@@ -671,6 +671,11 @@ aom_mem_sources = [
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/emms.asm" ]
@ -88,9 +88,9 @@ diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs
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
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
@@ -45,7 +45,7 @@ CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
@ -100,9 +100,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
@ -112,9 +112,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
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
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
@@ -45,7 +45,7 @@ CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
@ -124,9 +124,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.a
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
@ -136,9 +136,9 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
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
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
@@ -45,7 +45,7 @@ CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
@ -148,9 +148,9 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
@ -160,9 +160,9 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/th
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
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
@@ -45,7 +45,7 @@ CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
@ -172,9 +172,9 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
@ -184,9 +184,9 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/
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
@@ -44,7 +44,7 @@ CONFIG_MULTITHREAD equ 1
CONFIG_NN_V2 equ 0
@@ -45,7 +45,7 @@ CONFIG_NN_V2 equ 0
CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
@ -196,9 +196,9 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.as
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
@ -208,9 +208,9 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h
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
@@ -34,7 +34,7 @@
%define CONFIG_NN_V2 0
@@ -35,7 +35,7 @@
%define CONFIG_NORMAL_TILE_MODE 1
%define CONFIG_OPTICAL_FLOW_API 0
%define CONFIG_OS_SUPPORT 1
-%define CONFIG_PIC 0
+%define CONFIG_PIC 1
@ -220,9 +220,9 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/
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
@@ -46,7 +46,7 @@
#define CONFIG_NN_V2 0
@@ -47,7 +47,7 @@
#define CONFIG_NORMAL_TILE_MODE 1
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1

View file

@ -42,7 +42,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -35,6 +35,7 @@ const PrepopulatedEngine* const engines_default[] = {
@@ -32,6 +32,7 @@ const PrepopulatedEngine* const engines_default[] = {
&googleen, &google,
&bing,
&yahoo,
@ -50,7 +50,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Note, the below entries are sorted by country code, not the name in comment.
@@ -44,7 +45,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -41,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
&googleen, &google,
&bing,
&yahoo,
@ -59,7 +59,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -53,7 +54,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -50,7 +51,7 @@ const PrepopulatedEngine* const engines_AL[] = {
&googleen, &google,
&yahoo,
&bing,
@ -68,7 +68,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -62,7 +63,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -59,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
&googleen, &google,
&bing,
&yahoo_ar,
@ -77,7 +77,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -70,7 +71,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -67,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google,
&bing,
@ -86,7 +86,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_at,
&ecosia,
};
@@ -79,7 +80,7 @@ const PrepopulatedEngine* const engines_AT[] = {
@@ -76,7 +77,7 @@ const PrepopulatedEngine* const engines_AT[] = {
const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google,
&bing,
@ -95,7 +95,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_au,
&ecosia,
};
@@ -89,7 +90,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -86,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -104,7 +104,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ask,
};
@@ -99,7 +100,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -96,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&bing,
&yahoo,
&ecosia,
@ -113,7 +113,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Bulgaria
@@ -107,7 +108,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -104,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
&googleen, &google,
&bing,
&yahoo,
@ -122,7 +122,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -116,7 +117,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -113,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
&googleen, &google,
&bing,
&yahoo,
@ -131,7 +131,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -125,7 +126,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -122,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
&googleen, &google,
&bing,
&yahoo,
@ -140,7 +140,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ask,
};
@@ -134,7 +135,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -131,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google,
&bing,
&yahoo,
@ -149,7 +149,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -143,7 +144,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -140,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -158,7 +158,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -152,7 +153,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -149,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google,
&bing,
&yahoo_br,
@ -167,7 +167,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -170,7 +171,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -167,7 +168,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
&googleen, &google,
&bing,
&yahoo,
@ -176,7 +176,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ask,
};
@@ -179,7 +180,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -176,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
&googleen, &google,
&bing,
&yahoo_ca,
@ -185,7 +185,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -187,7 +188,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -184,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google,
&bing,
@ -194,7 +194,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_ch,
&ecosia,
};
@@ -197,7 +198,7 @@ const PrepopulatedEngine* const engines_CL[] = {
@@ -194,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google,
&bing,
&yahoo_cl,
@ -203,7 +203,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -216,7 +217,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -213,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&bing,
&yahoo_co,
&ecosia,
@ -212,7 +212,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Costa Rica
@@ -224,7 +225,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -221,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -221,7 +221,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -234,7 +235,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -231,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
&seznam_cz,
&bing,
&yahoo,
@ -230,7 +230,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Germany
@@ -242,7 +243,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -239,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google,
&bing,
&yahoo_de,
@ -239,7 +239,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -251,7 +252,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -248,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@ -248,7 +248,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -260,7 +261,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -257,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -257,7 +257,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -270,7 +271,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -267,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
&yahoo,
&bing,
&yandex_ru,
@ -266,7 +266,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ecuador
@@ -279,7 +280,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -276,7 +277,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&bing,
&yahoo,
&ecosia,
@ -275,7 +275,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Estonia
@@ -297,7 +298,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -294,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
&yahoo,
&bing,
&yandex_ru,
@ -284,7 +284,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Spain
@@ -305,7 +306,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -302,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -293,7 +293,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -314,7 +315,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -311,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google,
&bing,
&yahoo_fi,
@ -302,7 +302,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -323,7 +324,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -320,7 +321,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@ -311,7 +311,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -341,7 +342,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -338,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google,
&bing,
&yahoo_uk,
@ -320,7 +320,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -350,7 +351,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -347,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -329,7 +329,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -360,7 +361,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -357,7 +358,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&bing,
&yahoo,
&ecosia,
@ -338,7 +338,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Hong Kong
@@ -378,7 +379,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -375,7 +376,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&bing,
&yahoo,
&yandex_ru,
@ -347,7 +347,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Croatia
@@ -386,7 +387,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -383,7 +384,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -356,7 +356,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -395,7 +396,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -392,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google,
&bing,
&yahoo,
@ -365,7 +365,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -404,7 +405,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -401,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&googleen, &google,
&yahoo_id,
&bing,
@ -374,7 +374,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -413,7 +414,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -410,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google,
&bing,
&yahoo,
@ -383,7 +383,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -423,7 +424,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -420,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
&bing,
&yahoo,
&yandex_ru,
@ -392,7 +392,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// India
@@ -431,7 +432,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -428,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google,
&yahoo_in,
&bing,
@ -401,7 +401,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -441,7 +442,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -438,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
&yahoo,
&bing,
&yandex_ru,
@ -410,7 +410,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Iran
@@ -457,7 +458,7 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -454,7 +455,7 @@ const PrepopulatedEngine* const engines_IR[] = {
const PrepopulatedEngine* const engines_IS[] = {
&googleen, &google,
&bing,
@ -419,7 +419,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -467,7 +468,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -464,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -428,7 +428,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -476,7 +477,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -473,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google,
&bing,
&yahoo,
@ -437,7 +437,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ask,
};
@@ -485,7 +486,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -482,7 +483,7 @@ const PrepopulatedEngine* const engines_JO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -446,7 +446,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -495,7 +496,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -492,7 +493,7 @@ const PrepopulatedEngine* const engines_JP[] = {
&yahoo_jp,
&bing,
&baidu,
@ -455,7 +455,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Kenya
@@ -503,7 +504,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -500,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google,
&bing,
&yahoo,
@ -464,7 +464,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -521,7 +522,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -518,7 +519,7 @@ const PrepopulatedEngine* const engines_KW[] = {
&googleen, &google,
&bing,
&yahoo,
@ -473,7 +473,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -539,7 +540,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -536,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google,
&bing,
&yahoo,
@ -482,7 +482,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -547,7 +548,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -544,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google,
&bing,
@ -491,7 +491,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -558,14 +559,14 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -555,14 +556,14 @@ const PrepopulatedEngine* const engines_LT[] = {
&bing,
&yahoo,
&yandex_ru,
@ -508,7 +508,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -576,7 +577,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -573,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
&yandex_ru,
&bing,
&yahoo,
@ -517,7 +517,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Libya
@@ -585,7 +586,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -582,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
&yahoo,
&bing,
&yandex_com,
@ -526,7 +526,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Morocco
@@ -593,7 +594,7 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -590,7 +591,7 @@ const PrepopulatedEngine* const engines_MA[] = {
&googleen, &google,
&yahoo,
&bing,
@ -535,7 +535,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -601,7 +602,7 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -598,7 +599,7 @@ const PrepopulatedEngine* const engines_MA[] = {
const PrepopulatedEngine* const engines_MC[] = {
&googleen, &google,
&bing,
@ -544,7 +544,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&qwant,
};
@@ -611,7 +612,7 @@ const PrepopulatedEngine* const engines_MD[] = {
@@ -608,7 +609,7 @@ const PrepopulatedEngine* const engines_MD[] = {
&googleen, &google,
&yandex_ru,
&mail_ru,
@ -553,7 +553,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
};
@@ -621,7 +622,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -618,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
&bing,
&yahoo,
&yandex_ru,
@ -562,7 +562,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Macedonia
@@ -629,7 +630,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -626,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google,
&bing,
&yahoo,
@ -571,7 +571,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -639,7 +640,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -636,7 +637,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&bing,
&yahoo_mx,
&ecosia,
@ -580,7 +580,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Malaysia
@@ -647,7 +648,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -644,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
&googleen, &google,
&bing,
&yahoo_my,
@ -589,7 +589,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -656,8 +657,9 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -653,8 +654,9 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google,
&bing,
&yahoo,
@ -600,7 +600,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Netherlands
@@ -665,7 +667,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -662,7 +664,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google,
&bing,
&yahoo_nl,
@ -609,7 +609,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -674,7 +676,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -671,7 +673,7 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -618,7 +618,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -682,7 +684,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -679,7 +681,7 @@ const PrepopulatedEngine* const engines_NO[] = {
const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google,
&bing,
@ -627,7 +627,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_nz,
&ecosia,
};
@@ -692,7 +694,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -689,7 +691,7 @@ const PrepopulatedEngine* const engines_OM[] = {
&googleen, &google,
&bing,
&yahoo,
@ -636,7 +636,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -701,7 +703,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -698,7 +700,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -645,7 +645,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -711,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -708,7 +710,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&bing,
&yahoo_pe,
&ecosia,
@ -654,7 +654,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Philippines
@@ -720,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -717,7 +719,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&yahoo_ph,
&bing,
&ecosia,
@ -663,7 +663,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Pakistan
@@ -728,7 +730,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -725,7 +727,7 @@ const PrepopulatedEngine* const engines_PK[] = {
&googleen, &google,
&yahoo,
&bing,
@ -672,7 +672,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -737,7 +739,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -734,7 +736,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google,
&bing,
&yahoo,
@ -681,7 +681,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -746,7 +748,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -743,7 +745,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -690,7 +690,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -755,7 +757,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -752,7 +754,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -699,7 +699,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -764,7 +766,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -761,7 +763,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google,
&bing,
&yahoo,
@ -708,7 +708,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -773,7 +775,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -770,7 +772,7 @@ const PrepopulatedEngine* const engines_QA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -717,7 +717,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -782,7 +784,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -779,7 +781,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -726,7 +726,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -791,7 +793,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -788,7 +790,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google,
&yahoo,
&bing,
@ -735,7 +735,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -809,7 +811,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -806,7 +808,7 @@ const PrepopulatedEngine* const engines_RW[] = {
&googleen, &google,
&bing,
&yahoo,
@ -744,7 +744,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&mail_ru,
};
@@ -819,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -816,7 +818,7 @@ const PrepopulatedEngine* const engines_SA[] = {
&bing,
&yahoo,
&yandex_com,
@ -753,7 +753,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Sweden
@@ -827,7 +829,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -824,7 +826,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google,
&bing,
&yahoo_se,
@ -762,7 +762,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -844,7 +846,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -841,7 +843,7 @@ const PrepopulatedEngine* const engines_SG[] = {
const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google,
&bing,
@ -771,7 +771,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&yandex_ru,
};
@@ -854,7 +856,7 @@ const PrepopulatedEngine* const engines_SK[] = {
@@ -851,7 +853,7 @@ const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google,
&bing,
&yahoo,
@ -780,7 +780,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&seznam_cz,
};
@@ -863,7 +865,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -860,7 +862,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google,
&bing,
&yahoo,
@ -789,7 +789,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -873,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -870,7 +872,7 @@ const PrepopulatedEngine* const engines_SY[] = {
&bing,
&yahoo,
&yandex_ru,
@ -798,7 +798,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Thailand
@@ -881,7 +883,7 @@ const PrepopulatedEngine* const engines_TH[] = {
@@ -878,7 +880,7 @@ const PrepopulatedEngine* const engines_TH[] = {
&googleen, &google,
&yahoo_th,
&bing,
@ -807,7 +807,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -891,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -888,7 +890,7 @@ const PrepopulatedEngine* const engines_TN[] = {
&yahoo,
&bing,
&yandex_ru,
@ -816,7 +816,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Turkey
@@ -900,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -897,7 +899,7 @@ const PrepopulatedEngine* const engines_TR[] = {
&yandex_tr,
&yahoo_tr,
&bing,
@ -825,7 +825,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Trinidad and Tobago
@@ -908,7 +910,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -905,7 +907,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -834,7 +834,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ask,
};
@@ -926,7 +928,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -923,7 +925,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
&googleen, &google,
&bing,
&yahoo,
@ -843,7 +843,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -944,7 +946,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -941,7 +943,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google,
&bing,
&yahoo,
@ -852,7 +852,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -953,7 +955,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -950,7 +952,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google,
&bing,
&yahoo,
@ -861,7 +861,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -962,7 +964,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -959,7 +961,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google,
&yahoo_ve,
&bing,
@ -870,7 +870,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -981,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -978,7 +980,7 @@ const PrepopulatedEngine* const engines_YE[] = {
&bing,
&yahoo,
&yandex_ru,
@ -879,7 +879,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// South Africa
@@ -989,7 +991,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -986,7 +988,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -888,7 +888,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -999,7 +1001,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
@@ -996,7 +998,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
&bing,
&yahoo,
&ask,

View file

@ -55,7 +55,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -32,7 +32,7 @@ namespace {
@@ -29,7 +29,7 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
@ -64,7 +64,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
};
@@ -41,7 +41,7 @@ const PrepopulatedEngine* const engines_default[] = {
@@ -38,7 +38,7 @@ const PrepopulatedEngine* const engines_default[] = {
// Engine selection by country ------------------------------------------------
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
@ -73,7 +73,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -50,7 +50,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -47,7 +47,7 @@ const PrepopulatedEngine* const engines_AE[] = {
// Albania
const PrepopulatedEngine* const engines_AL[] = {
@ -82,7 +82,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&duckduckgo,
@@ -59,7 +59,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -56,7 +56,7 @@ const PrepopulatedEngine* const engines_AL[] = {
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
@ -91,7 +91,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ar,
&duckduckgo,
@@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -65,7 +65,7 @@ const PrepopulatedEngine* const engines_AR[] = {
// Austria
const PrepopulatedEngine* const engines_AT[] = {
@ -100,7 +100,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_at,
@@ -77,7 +77,7 @@ const PrepopulatedEngine* const engines_AT[] = {
@@ -74,7 +74,7 @@ const PrepopulatedEngine* const engines_AT[] = {
// Australia
const PrepopulatedEngine* const engines_AU[] = {
@ -109,7 +109,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_au,
@@ -86,7 +86,7 @@ const PrepopulatedEngine* const engines_AU[] = {
@@ -83,7 +83,7 @@ const PrepopulatedEngine* const engines_AU[] = {
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
@ -118,7 +118,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -95,7 +95,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -92,7 +92,7 @@ const PrepopulatedEngine* const engines_BA[] = {
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
@ -127,7 +127,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -104,7 +104,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -101,7 +101,7 @@ const PrepopulatedEngine* const engines_BE[] = {
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
@ -136,7 +136,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -113,7 +113,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -110,7 +110,7 @@ const PrepopulatedEngine* const engines_BG[] = {
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
@ -145,7 +145,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -122,7 +122,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -119,7 +119,7 @@ const PrepopulatedEngine* const engines_BH[] = {
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
@ -154,7 +154,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -131,7 +131,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -128,7 +128,7 @@ const PrepopulatedEngine* const engines_BI[] = {
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
@ -163,7 +163,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -140,7 +140,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -137,7 +137,7 @@ const PrepopulatedEngine* const engines_BN[] = {
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
@ -172,7 +172,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -149,7 +149,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -146,7 +146,7 @@ const PrepopulatedEngine* const engines_BO[] = {
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
@ -181,7 +181,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_br,
&duckduckgo,
@@ -158,7 +158,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -155,7 +155,7 @@ const PrepopulatedEngine* const engines_BR[] = {
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
@ -190,7 +190,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_by,
&mail_ru,
&bing,
@@ -167,7 +167,7 @@ const PrepopulatedEngine* const engines_BY[] = {
@@ -164,7 +164,7 @@ const PrepopulatedEngine* const engines_BY[] = {
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
@ -199,7 +199,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -176,7 +176,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -173,7 +173,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
// Canada
const PrepopulatedEngine* const engines_CA[] = {
@ -208,7 +208,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ca,
&duckduckgo,
@@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -182,7 +182,7 @@ const PrepopulatedEngine* const engines_CA[] = {
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
@ -217,7 +217,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_ch,
@@ -194,7 +194,7 @@ const PrepopulatedEngine* const engines_CH[] = {
@@ -191,7 +191,7 @@ const PrepopulatedEngine* const engines_CH[] = {
// Chile
const PrepopulatedEngine* const engines_CL[] = {
@ -226,7 +226,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_cl,
&duckduckgo,
@@ -205,14 +205,14 @@ const PrepopulatedEngine* const engines_CL[] = {
@@ -202,14 +202,14 @@ const PrepopulatedEngine* const engines_CL[] = {
const PrepopulatedEngine* const engines_CN[] = {
&baidu,
&sogou,
@ -243,7 +243,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_co,
&ecosia,
@@ -221,7 +221,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -218,7 +218,7 @@ const PrepopulatedEngine* const engines_CO[] = {
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
@ -252,7 +252,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -230,7 +230,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -227,7 +227,7 @@ const PrepopulatedEngine* const engines_CR[] = {
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
@ -261,7 +261,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&seznam_cz,
&bing,
&yahoo,
@@ -239,7 +239,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -236,7 +236,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
// Germany
const PrepopulatedEngine* const engines_DE[] = {
@ -270,7 +270,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_de,
&duckduckgo,
@@ -248,7 +248,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -245,7 +245,7 @@ const PrepopulatedEngine* const engines_DE[] = {
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
@ -279,7 +279,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -257,7 +257,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -254,7 +254,7 @@ const PrepopulatedEngine* const engines_DK[] = {
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
@ -288,7 +288,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -266,7 +266,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -263,7 +263,7 @@ const PrepopulatedEngine* const engines_DO[] = {
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
@ -297,7 +297,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&yandex_ru,
@@ -275,7 +275,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -272,7 +272,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
@ -306,7 +306,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -284,7 +284,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -281,7 +281,7 @@ const PrepopulatedEngine* const engines_EC[] = {
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
@ -315,7 +315,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&yahoo,
@@ -293,7 +293,7 @@ const PrepopulatedEngine* const engines_EE[] = {
@@ -290,7 +290,7 @@ const PrepopulatedEngine* const engines_EE[] = {
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
@ -324,7 +324,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&yandex_ru,
@@ -302,7 +302,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -299,7 +299,7 @@ const PrepopulatedEngine* const engines_EG[] = {
// Spain
const PrepopulatedEngine* const engines_ES[] = {
@ -333,7 +333,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -311,7 +311,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -308,7 +308,7 @@ const PrepopulatedEngine* const engines_ES[] = {
// Finland
const PrepopulatedEngine* const engines_FI[] = {
@ -342,7 +342,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fi,
&duckduckgo,
@@ -320,7 +320,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -317,7 +317,7 @@ const PrepopulatedEngine* const engines_FI[] = {
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
@ -351,7 +351,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -329,7 +329,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -326,7 +326,7 @@ const PrepopulatedEngine* const engines_FO[] = {
// France
const PrepopulatedEngine* const engines_FR[] = {
@ -360,7 +360,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&qwant,
@@ -338,7 +338,7 @@ const PrepopulatedEngine* const engines_FR[] = {
@@ -335,7 +335,7 @@ const PrepopulatedEngine* const engines_FR[] = {
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
@ -369,7 +369,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_uk,
&duckduckgo,
@@ -347,7 +347,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -344,7 +344,7 @@ const PrepopulatedEngine* const engines_GB[] = {
// Greece
const PrepopulatedEngine* const engines_GR[] = {
@ -378,7 +378,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -356,7 +356,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -353,7 +353,7 @@ const PrepopulatedEngine* const engines_GR[] = {
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
@ -387,7 +387,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -365,7 +365,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -362,7 +362,7 @@ const PrepopulatedEngine* const engines_GT[] = {
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
@ -396,7 +396,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_hk,
&bing,
&yandex_com,
@@ -374,7 +374,7 @@ const PrepopulatedEngine* const engines_HK[] = {
@@ -371,7 +371,7 @@ const PrepopulatedEngine* const engines_HK[] = {
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
@ -405,7 +405,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -383,7 +383,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -380,7 +380,7 @@ const PrepopulatedEngine* const engines_HN[] = {
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
@ -414,7 +414,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -392,7 +392,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -389,7 +389,7 @@ const PrepopulatedEngine* const engines_HR[] = {
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
@ -423,7 +423,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -401,7 +401,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -398,7 +398,7 @@ const PrepopulatedEngine* const engines_HU[] = {
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
@ -432,7 +432,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_id,
&bing,
&duckduckgo,
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -407,7 +407,7 @@ const PrepopulatedEngine* const engines_ID[] = {
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
@ -441,7 +441,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -419,7 +419,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -416,7 +416,7 @@ const PrepopulatedEngine* const engines_IE[] = {
// Israel
const PrepopulatedEngine* const engines_IL[] = {
@ -450,7 +450,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -425,7 +425,7 @@ const PrepopulatedEngine* const engines_IL[] = {
// India
const PrepopulatedEngine* const engines_IN[] = {
@ -459,7 +459,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_in,
&bing,
&duckduckgo,
@@ -437,7 +437,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_IN[] = {
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
@ -468,7 +468,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&yandex_ru,
@@ -446,7 +446,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
// Iran
const PrepopulatedEngine* const engines_IR[] = {
@ -477,7 +477,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -455,7 +455,7 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_IR[] = {
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
@ -486,7 +486,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -464,7 +464,7 @@ const PrepopulatedEngine* const engines_IS[] = {
@@ -461,7 +461,7 @@ const PrepopulatedEngine* const engines_IS[] = {
// Italy
const PrepopulatedEngine* const engines_IT[] = {
@ -495,7 +495,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -473,7 +473,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -470,7 +470,7 @@ const PrepopulatedEngine* const engines_IT[] = {
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
@ -504,7 +504,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -479,7 +479,7 @@ const PrepopulatedEngine* const engines_JM[] = {
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
@ -513,7 +513,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -488,7 +488,7 @@ const PrepopulatedEngine* const engines_JO[] = {
// Japan
const PrepopulatedEngine* const engines_JP[] = {
@ -522,7 +522,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_jp,
&bing,
&baidu,
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -497,7 +497,7 @@ const PrepopulatedEngine* const engines_JP[] = {
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
@ -531,7 +531,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -509,7 +509,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_KE[] = {
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
@ -540,7 +540,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&naver,
&bing,
&daum,
@@ -518,7 +518,7 @@ const PrepopulatedEngine* const engines_KR[] = {
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_KR[] = {
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
@ -549,7 +549,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -527,7 +527,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_KW[] = {
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
@ -558,7 +558,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_kz,
&mail_ru,
&bing,
@@ -536,7 +536,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
@@ -533,7 +533,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
@ -567,7 +567,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -542,7 +542,7 @@ const PrepopulatedEngine* const engines_LB[] = {
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
@ -576,7 +576,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_LI[] = {
@@ -551,7 +551,7 @@ const PrepopulatedEngine* const engines_LI[] = {
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
@ -585,7 +585,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -560,7 +560,7 @@ const PrepopulatedEngine* const engines_LT[] = {
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
@ -594,7 +594,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -572,7 +572,7 @@ const PrepopulatedEngine* const engines_LU[] = {
@@ -569,7 +569,7 @@ const PrepopulatedEngine* const engines_LU[] = {
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
@ -603,7 +603,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&bing,
&yahoo,
@@ -581,7 +581,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_LV[] = {
// Libya
const PrepopulatedEngine* const engines_LY[] = {
@ -612,7 +612,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&yandex_com,
@@ -590,7 +590,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_LY[] = {
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
@ -621,7 +621,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&duckduckgo,
@@ -599,7 +599,7 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_MA[] = {
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
@ -630,7 +630,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -608,7 +608,7 @@ const PrepopulatedEngine* const engines_MC[] = {
@@ -605,7 +605,7 @@ const PrepopulatedEngine* const engines_MC[] = {
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
@ -639,7 +639,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&mail_ru,
&duckduckgo,
@@ -617,7 +617,7 @@ const PrepopulatedEngine* const engines_MD[] = {
@@ -614,7 +614,7 @@ const PrepopulatedEngine* const engines_MD[] = {
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
@ -648,7 +648,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -623,7 +623,7 @@ const PrepopulatedEngine* const engines_ME[] = {
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
@ -657,7 +657,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -632,7 +632,7 @@ const PrepopulatedEngine* const engines_MK[] = {
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
@ -666,7 +666,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_mx,
&ecosia,
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -641,7 +641,7 @@ const PrepopulatedEngine* const engines_MX[] = {
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
@ -675,7 +675,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_my,
&duckduckgo,
@@ -653,7 +653,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_MY[] = {
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
@ -684,7 +684,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -662,7 +662,7 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_NI[] = {
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
@ -693,7 +693,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_nl,
&duckduckgo,
@@ -671,7 +671,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_NL[] = {
// Norway
const PrepopulatedEngine* const engines_NO[] = {
@ -702,7 +702,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -680,7 +680,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -677,7 +677,7 @@ const PrepopulatedEngine* const engines_NO[] = {
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
@ -711,7 +711,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_nz,
@@ -689,7 +689,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
@@ -686,7 +686,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
// Oman
const PrepopulatedEngine* const engines_OM[] = {
@ -720,7 +720,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -695,7 +695,7 @@ const PrepopulatedEngine* const engines_OM[] = {
// Panama
const PrepopulatedEngine* const engines_PA[] = {
@ -729,7 +729,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -707,7 +707,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -704,7 +704,7 @@ const PrepopulatedEngine* const engines_PA[] = {
// Peru
const PrepopulatedEngine* const engines_PE[] = {
@ -738,7 +738,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_pe,
&ecosia,
@@ -716,7 +716,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -713,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = {
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
@ -747,7 +747,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_ph,
&bing,
&ecosia,
@@ -725,7 +725,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = {
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
@ -756,7 +756,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&duckduckgo,
@@ -734,7 +734,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_PK[] = {
// Poland
const PrepopulatedEngine* const engines_PL[] = {
@ -765,7 +765,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -743,7 +743,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_PL[] = {
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
@ -774,7 +774,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -752,7 +752,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -749,7 +749,7 @@ const PrepopulatedEngine* const engines_PR[] = {
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
@ -783,7 +783,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -761,7 +761,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -758,7 +758,7 @@ const PrepopulatedEngine* const engines_PT[] = {
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
@ -792,7 +792,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -767,7 +767,7 @@ const PrepopulatedEngine* const engines_PY[] = {
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
@ -801,7 +801,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -776,7 +776,7 @@ const PrepopulatedEngine* const engines_QA[] = {
// Romania
const PrepopulatedEngine* const engines_RO[] = {
@ -810,7 +810,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -785,7 +785,7 @@ const PrepopulatedEngine* const engines_RO[] = {
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
@ -819,7 +819,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&duckduckgo,
@@ -797,7 +797,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_RS[] = {
// Russia
const PrepopulatedEngine* const engines_RU[] = {
@ -828,7 +828,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&mail_ru,
&bing,
@@ -806,7 +806,7 @@ const PrepopulatedEngine* const engines_RU[] = {
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_RU[] = {
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
@ -837,7 +837,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -815,7 +815,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_RW[] = {
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
@ -846,7 +846,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -824,7 +824,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -821,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = {
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
@ -855,7 +855,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_se,
&duckduckgo,
@@ -833,7 +833,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -830,7 +830,7 @@ const PrepopulatedEngine* const engines_SE[] = {
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
@ -864,7 +864,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_com,
&yahoo_sg,
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -839,7 +839,7 @@ const PrepopulatedEngine* const engines_SG[] = {
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
@ -873,7 +873,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_SI[] = {
@@ -848,7 +848,7 @@ const PrepopulatedEngine* const engines_SI[] = {
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
@ -882,7 +882,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_SK[] = {
@@ -857,7 +857,7 @@ const PrepopulatedEngine* const engines_SK[] = {
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
@ -891,7 +891,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -869,7 +869,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_SV[] = {
// Syria
const PrepopulatedEngine* const engines_SY[] = {
@ -900,7 +900,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -878,7 +878,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = {
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
@ -909,7 +909,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_th,
&bing,
&duckduckgo,
@@ -887,7 +887,7 @@ const PrepopulatedEngine* const engines_TH[] = {
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_TH[] = {
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
@ -918,7 +918,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&bing,
&yandex_ru,
@@ -896,7 +896,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -893,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = {
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
@ -927,7 +927,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
&yahoo_tr,
&bing,
@@ -905,7 +905,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -902,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = {
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
@ -936,7 +936,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -914,7 +914,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -911,7 +911,7 @@ const PrepopulatedEngine* const engines_TT[] = {
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
@ -945,7 +945,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_tw,
&bing,
&baidu,
@@ -923,7 +923,7 @@ const PrepopulatedEngine* const engines_TW[] = {
@@ -920,7 +920,7 @@ const PrepopulatedEngine* const engines_TW[] = {
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
@ -954,7 +954,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -932,7 +932,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -929,7 +929,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
@ -963,7 +963,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ua,
&bing,
&mail_ru,
@@ -941,7 +941,7 @@ const PrepopulatedEngine* const engines_UA[] = {
@@ -938,7 +938,7 @@ const PrepopulatedEngine* const engines_UA[] = {
// United States
const PrepopulatedEngine* const engines_US[] = {
@ -972,7 +972,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -950,7 +950,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -947,7 +947,7 @@ const PrepopulatedEngine* const engines_US[] = {
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
@ -981,7 +981,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -959,7 +959,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -956,7 +956,7 @@ const PrepopulatedEngine* const engines_UY[] = {
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
@ -990,7 +990,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_ve,
&bing,
&duckduckgo,
@@ -968,7 +968,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -965,7 +965,7 @@ const PrepopulatedEngine* const engines_VE[] = {
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
@ -999,7 +999,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&coccoc,
&yahoo,
&bing,
@@ -977,7 +977,7 @@ const PrepopulatedEngine* const engines_VN[] = {
@@ -974,7 +974,7 @@ const PrepopulatedEngine* const engines_VN[] = {
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
@ -1008,7 +1008,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -986,7 +986,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -983,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = {
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
@ -1017,7 +1017,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -995,7 +995,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -992,7 +992,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {

View file

@ -17,7 +17,7 @@ See also:
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
@@ -4928,6 +4928,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5163,6 +5163,12 @@ const FeatureEntry kFeatureEntries[] = {
kOsAll,
FEATURE_VALUE_TYPE(features::kEnableAmbientAuthenticationInIncognito)},
@ -33,7 +33,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
@@ -548,6 +548,11 @@ const char kEnableAmbientAuthenticationInIncognitoDescription[] =
@@ -525,6 +525,11 @@ const char kEnableAmbientAuthenticationInIncognitoDescription[] =
"Enables ambient authentication in Incognito mode. This flag may be "
"overriden by policies.";
@ -48,7 +48,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
@@ -333,6 +333,9 @@ extern const char kEnableAccessibilityObjectModelDescription[];
@@ -321,6 +321,9 @@ extern const char kEnableAccessibilityObjectModelDescription[];
extern const char kEnableAmbientAuthenticationInIncognitoName[];
extern const char kEnableAmbientAuthenticationInIncognitoDescription[];
@ -75,7 +75,7 @@ diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmp
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";
@@ -330,6 +330,9 @@ const char kHomePage[] = "homepage";
// Causes the browser to launch directly in incognito mode.
const char kIncognito[] = "incognito";
@ -88,7 +88,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
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[];
@@ -110,6 +110,7 @@ extern const char kForceFirstRun[];
extern const char kForceStackedTabStripLayout[];
extern const char kHomePage[];
extern const char kIncognito[];

View file

@ -37,9 +37,9 @@ Offer auto-complete for the proxy page URL.
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
+++ b/chrome/android/java/res/values/values.xml
@@ -41,6 +41,9 @@
<!-- Our manage space activity. Default pre-KitKat to be nothing. -->
<string name="manage_space_activity"></string>
@@ -38,6 +38,9 @@
<integer name="reload_button_level_reload">0</integer>
<integer name="reload_button_level_stop">1</integer>
+ <string name="proxy_title">Proxy configuration</string>
+ <string name="proxy_url">chrome://proxy</string>
@ -58,13 +58,13 @@ 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.components.browser_ui.settings.ChromeBaseCheckBoxPreference
<org.chromium.components.browser_ui.settings.ChromeSwitchPreference
android:key="can_make_payment"
android:title="@string/can_make_payment_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -48,12 +48,15 @@ public class PrivacySettings
@@ -49,12 +49,15 @@ public class PrivacySettings
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
@ -84,7 +84,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -245,6 +245,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -316,6 +316,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<base::string16> builtins_to_provide;
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
@ -96,8 +96,8 @@ 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
@@ -113,6 +113,12 @@
<include name="IDR_OFFLINE_INTERNALS_BROWSER_PROXY_JS" file="resources\offline_pages\offline_internals_browser_proxy.js" type="BINDATA" />
@@ -117,6 +117,12 @@
<include name="IDR_VIDEO_PLAYER_JS" file="resources\video_tutorials\video_player.js" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
@ -541,7 +541,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -254,6 +254,8 @@ static_library("ui") {
@@ -250,6 +250,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@ -553,7 +553,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
@@ -61,6 +61,7 @@
@@ -64,6 +64,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"
@ -561,7 +561,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"
@@ -483,6 +484,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -507,6 +508,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@ -1038,7 +1038,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -315,6 +317,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -321,6 +323,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUIMobileSetupHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
@ -1046,7 +1046,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -501,6 +504,7 @@ const char* const kChromeHostURLs[] = {
@@ -511,6 +514,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !defined(OS_CHROMEOS)
kChromeUIAppLauncherPageHost,
@ -1057,7 +1057,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
@@ -116,6 +116,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -117,6 +117,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];

View file

@ -13,7 +13,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../chrome/browser/ChromeTabbedActivity.java | 6 +-
.../chrome/browser/app/ChromeActivity.java | 4 +
.../AppMenuPropertiesDelegateImpl.java | 6 ++
.../ChromeContextMenuPopulator.java | 8 +-
.../ChromeContextMenuPopulator.java | 9 ++-
.../CustomTabIntentDataProvider.java | 5 +-
.../browser/init/StartupTabPreloader.java | 11 ++-
.../privacy/settings/PrivacySettings.java | 4 +-
@ -23,7 +23,7 @@ Enable incognito custom tabs and fix crashes for incognito/custom tab intents (c
.../webapps/WebappIntentDataProvider.java | 14 ++++
.../flags/android/chrome_feature_list.cc | 2 +-
.../strings/android_chrome_strings.grd | 7 ++
16 files changed, 171 insertions(+), 10 deletions(-)
16 files changed, 172 insertions(+), 10 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
@ -134,7 +134,7 @@ new file mode 100644
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
@@ -49,6 +49,7 @@ import org.chromium.base.supplier.OneShotCallback;
@@ -49,6 +49,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.R;
@ -142,7 +142,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;
@@ -1543,8 +1544,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1556,8 +1557,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@ -157,7 +157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -83,6 +83,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
@@ -86,6 +86,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@ -165,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -1489,6 +1490,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1539,6 +1540,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@ -178,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -354,6 +354,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -429,6 +429,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
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
@@ -27,7 +27,9 @@ import org.chromium.base.annotations.CalledByNative;
@@ -33,7 +33,9 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.supplier.Supplier;
@ -203,24 +203,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -399,7 +401,11 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(params.getUrl())
&& UrlUtilities.isAcceptedScheme(params.getUrl())) {
import org.chromium.chrome.browser.contextmenu.RevampedContextMenuCoordinator.ListItemType;
@@ -401,7 +403,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
if (mMode == ContextMenuMode.NORMAL) {
- linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
- linkGroup.add(createListItem(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));
+ linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
+
if (!mDelegate.isIncognito() && mDelegate.isIncognitoSupported()) {
linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_INCOGNITO_TAB));
linkGroup.add(createListItem(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
@@ -52,6 +52,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -53,6 +53,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.device.mojom.ScreenOrientationLockType;
import org.chromium.ui.util.ColorUtils;
@ -230,7 +231,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;
@@ -764,7 +767,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -779,7 +782,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@ -242,7 +243,7 @@ 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
@@ -37,6 +37,9 @@ import org.chromium.ui.base.PageTransition;
@@ -38,6 +38,9 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@ -252,7 +253,7 @@ 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.
@@ -188,9 +191,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
@@ -195,9 +198,11 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
Intent intent = mIntentSupplier.get();
GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
@ -266,7 +267,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
mLoadUrlParams = new LoadUrlParams(url.getValidSpecOrEmpty());
String referrer = IntentHandler.getReferrerUrlIncludingExtraHeaders(intent);
@@ -204,7 +209,7 @@ public class StartupTabPreloader implements ProfileManager.Observer, Destroyable
@@ -211,7 +216,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)
@ -278,7 +279,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -43,9 +43,11 @@ public class PrivacySettings
@@ -44,9 +44,11 @@ public class PrivacySettings
private static final String PREF_SECURE_DNS = "secure_dns";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@ -362,7 +363,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
@@ -246,7 +246,15 @@ public abstract class TabModelSelectorBase implements TabModelSelector {
@@ -251,7 +251,15 @@ public abstract class TabModelSelectorBase implements TabModelSelector, Incognit
public void markTabStateInitialized() {
if (mTabStateInitialized) return;
mTabStateInitialized = true;
@ -460,7 +461,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
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
@@ -351,7 +351,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
@@ -347,7 +347,7 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognito{"CCTIncognito",
@ -472,7 +473,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
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
@@ -787,6 +787,13 @@ Your Google account may have other forms of browsing history like searches and a
@@ -803,6 +803,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

@ -14,7 +14,7 @@ Completely remove contacts picker permission from the file dialog
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 19 ++
.../browser/bookmarks/BookmarkPage.java | 1 +
chrome/browser/BUILD.gn | 8 +-
chrome/browser/BUILD.gn | 4 +-
.../android/bookmarks/bookmark_bridge.cc | 217 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 20 +-
chrome/browser/importer/profile_writer.cc | 12 +
@ -28,12 +28,12 @@ Completely remove contacts picker permission from the file dialog
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
22 files changed, 447 insertions(+), 14 deletions(-)
22 files changed, 445 insertions(+), 12 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
@@ -34,7 +34,6 @@ by a child template that "extends" this file.
@@ -38,7 +38,6 @@ by a child template that "extends" this file.
{% endif %}
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
@ -263,7 +263,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/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
@@ -33,6 +33,7 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
@@ -32,6 +32,7 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
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;
@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.url.GURL;
@@ -53,6 +54,7 @@ public class BookmarkManager
@@ -52,6 +53,7 @@ public class BookmarkManager
private Activity mActivity;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@ -279,7 +279,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private BookmarkUndoController mUndoController;
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage;
@@ -323,6 +325,13 @@ public class BookmarkManager
@@ -322,6 +324,13 @@ public class BookmarkManager
mNativePage = nativePage;
}
@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
* yet in this session, on phone return last used state stored in preference; on tablet
@@ -495,6 +504,16 @@ public class BookmarkManager
@@ -494,6 +503,16 @@ public class BookmarkManager
}
}
@ -324,18 +324,16 @@ 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
@@ -190,6 +190,10 @@ static_library("browser") {
@@ -184,6 +184,8 @@ static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
+ "importer/profile_writer.cc",
+ "importer/profile_writer.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"bluetooth/bluetooth_chooser_context.cc",
"bluetooth/bluetooth_chooser_context.h",
"bluetooth/bluetooth_chooser_context_factory.cc",
@@ -3126,8 +3130,6 @@ static_library("browser") {
@@ -3298,8 +3300,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@ -344,15 +342,6 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"browsing_data/access_context_audit_database.cc",
"browsing_data/access_context_audit_database.h",
"browsing_data/access_context_audit_service.cc",
@@ -3265,8 +3267,6 @@ static_library("browser") {
"importer/importer_uma.h",
"importer/in_process_importer_bridge.cc",
"importer/in_process_importer_bridge.h",
- "importer/profile_writer.cc",
- "importer/profile_writer.h",
"lifetime/browser_close_manager.cc",
"lifetime/browser_close_manager.h",
"lifetime/termination_notification.cc",
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
@ -675,7 +664,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -96,12 +96,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
@@ -103,12 +103,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@ -690,7 +679,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
}
void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -122,6 +124,16 @@ void ProfileWriter::AddBookmarks(
@@ -129,6 +131,16 @@ void ProfileWriter::AddBookmarks(
return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@ -749,8 +738,8 @@ 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
@@ -410,6 +410,9 @@ static_library("common") {
"android/cpu_affinity_experiments.h",
@@ -405,6 +405,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
+ ## Bromite dependencies for bookmark import functionality
@ -762,7 +751,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -71,8 +71,6 @@ static_library("utility") {
@@ -78,8 +78,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@ -771,7 +760,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/edge_database_reader_win.cc",
@@ -173,6 +171,11 @@ static_library("utility") {
@@ -180,6 +178,11 @@ static_library("utility") {
}
}
@ -894,15 +883,15 @@ 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
private static final String IMAGE_TYPE = "image/";
private static final String VIDEO_TYPE = "video/";
private static final String AUDIO_TYPE = "audio/";
@@ -53,6 +54,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String TAG = "SelectFileDialog";
private static final String IMAGE_TYPE = "image";
private static final String VIDEO_TYPE = "video";
+ private static final String HTML_TYPE = "text/html";
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 + "*";
@@ -151,6 +153,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*";
@@ -143,6 +145,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mFileTypes = fileTypes;
}
@ -914,7 +903,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/*")
@@ -178,7 +185,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -170,7 +177,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@ -923,7 +912,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())
@@ -206,7 +213,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -198,7 +205,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@ -932,7 +921,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",
@@ -220,7 +227,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -212,7 +219,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@ -941,7 +930,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
onFileNotSelected();
return;
}
@@ -367,6 +374,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -358,6 +365,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@ -949,17 +938,17 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -647,6 +655,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(specificType) > 0;
@@ -659,6 +667,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mFileTypes.size();
}
+ private boolean shouldShowHtmlTypes() {
+ return countAcceptTypesFor(HTML_TYPE) > 0;
+ }
+
private boolean shouldShowImageTypes() {
return shouldShowTypes(ALL_IMAGE_TYPES, IMAGE_TYPE);
}
/**
* Checks whether the list of accepted types effectively describes only a single
* type, which might be wildcard. For example:
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h

View file

@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -54,6 +54,8 @@ import org.chromium.url.Origin;
@@ -53,6 +53,8 @@ import org.chromium.url.Origin;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -243,6 +245,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -242,6 +244,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -44,10 +44,12 @@ public class PrivacySettings
@@ -45,10 +45,12 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -98,6 +100,10 @@ public class PrivacySettings
@@ -99,6 +101,10 @@ public class PrivacySettings
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
@ -87,7 +87,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
@@ -121,6 +127,11 @@ public class PrivacySettings
@@ -122,6 +128,11 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -3768,6 +3768,13 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3851,6 +3851,13 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
<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

@ -14,7 +14,7 @@ Corrected Exit functionality
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -116,6 +116,8 @@
@@ -119,6 +119,8 @@
android:icon="@drawable/vr_headset" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
@ -23,7 +23,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only in the tab switcher -->
@@ -139,6 +141,8 @@
@@ -142,6 +144,8 @@
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -35,7 +35,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android/java/res/menu/main_menu_regroup.xml
--- a/chrome/android/java/res/menu/main_menu_regroup.xml
+++ b/chrome/android/java/res/menu/main_menu_regroup.xml
@@ -133,6 +133,9 @@
@@ -152,6 +152,9 @@
android:icon="@drawable/vr_headset" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
@ -48,15 +48,15 @@ diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -53,6 +53,7 @@ import org.chromium.base.supplier.ObservableSupplierImpl;
@@ -55,6 +55,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.AppHooks;
+import org.chromium.chrome.browser.ApplicationLifetime;
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplication;
import org.chromium.chrome.browser.ChromeVersionInfo;
@@ -1874,6 +1875,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
import org.chromium.chrome.browser.ChromeWindow;
@@ -1923,6 +1924,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
RecordUserAction.record("MobileMenuSettings");
}
@ -87,7 +87,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
@@ -2698,6 +2698,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2835,6 +2835,9 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
<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
@@ -732,6 +732,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -779,6 +779,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 ==
@@ -3249,6 +3254,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3473,6 +3478,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@ -44,7 +44,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
@@ -1374,6 +1374,10 @@ const char kMediaHistoryDescription[] =
@@ -1404,6 +1404,10 @@ const char kMediaHistoryDescription[] =
"Enables Media History which records data around media playbacks on "
"websites.";
@ -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
@@ -810,6 +810,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
@@ -821,6 +821,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
extern const char kMediaHistoryName[];
extern const char kMediaHistoryDescription[];
@ -110,8 +110,8 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -74,6 +74,7 @@ executable("make_top_domain_list_variables") {
"//base/util/ranges:ranges",
@@ -73,6 +73,7 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
+ "//components/network_session_configurator/common"

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
@@ -2413,6 +2413,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2632,6 +2632,10 @@ const FeatureEntry kFeatureEntries[] = {
kOsAura,
FEATURE_VALUE_TYPE(features::kOverlayScrollbarFlashWhenMouseEnter)},
#endif // USE_AURA
@ -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
@@ -958,6 +958,11 @@ const char kMemlogStackModeNative[] = "Native";
@@ -969,6 +969,11 @@ const char kMemlogStackModeNative[] = "Native";
const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
const char kMemlogStackModePseudo[] = "Trace events";
@ -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
@@ -237,11 +237,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -244,11 +244,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",

View file

@ -16,7 +16,7 @@ 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
@@ -4159,6 +4159,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4417,6 +4417,11 @@ const FeatureEntry kFeatureEntries[] = {
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
// defined(OS_CHROMEOS)
@ -31,7 +31,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
@@ -2750,6 +2750,10 @@ const char kContextualSearchRankerQueryDescription[] =
@@ -2767,6 +2767,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
@@ -612,6 +612,9 @@ extern const char kEnableWasmThreadsName[];
@@ -614,6 +614,9 @@ extern const char kEnableWasmThreadsName[];
extern const char kEnableWasmThreadsDescription[];
extern const char kEnableWasmTieringName[];
@ -88,8 +88,8 @@ diff --git a/components/subresource_filter/tools/BUILD.gn b/components/subresour
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -74,7 +74,8 @@ executable("make_top_domain_list_variables") {
"//base/util/ranges:ranges",
@@ -73,7 +73,8 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
- "//components/network_session_configurator/common"
@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
@@ -3583,8 +3584,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -3582,8 +3583,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@ -128,7 +128,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -47,6 +47,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -39,6 +39,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};
@ -148,9 +148,9 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kIPv6Probing;
+COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kOutOfBlinkCors;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kReporting;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kThrottleDelayable;
--
2.17.1

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
@@ -2240,6 +2240,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2466,6 +2466,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAccelerated2dCanvasName,
flag_descriptions::kAccelerated2dCanvasDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas)},
@ -24,7 +24,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
@@ -517,6 +517,10 @@ const char kForceEnableDevicesPageDescription[] =
@@ -494,6 +494,10 @@ const char kForceEnableDevicesPageDescription[] =
"content, instead of a warning message. Note: chrome://devices is "
"no longer supported, and this flag will be permanently removed in M88.";
@ -38,7 +38,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
@@ -318,6 +318,9 @@ extern const char kDeviceDiscoveryNotificationsDescription[];
@@ -306,6 +306,9 @@ extern const char kDeviceDiscoveryNotificationsDescription[];
extern const char kForceEnableDevicesPageName[];
extern const char kForceEnableDevicesPageDescription[];

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
@@ -2466,6 +2466,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2685,6 +2685,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
@@ -739,6 +739,14 @@ const char kWinrtSensorsImplementationDescription[] =
@@ -735,6 +735,14 @@ const char kWinrtSensorsImplementationDescription[] =
"Enables usage of the Windows.Devices.Sensors WinRT APIs on Windows for "
"sensors";
@ -54,7 +54,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -439,6 +439,12 @@ extern const char kWinrtGeolocationImplementationDescription[];
@@ -436,6 +436,12 @@ extern const char kWinrtGeolocationImplementationDescription[];
extern const char kWinrtSensorsImplementationName[];
extern const char kWinrtSensorsImplementationDescription[];
@ -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
@@ -833,6 +833,16 @@ const base::Feature kWebOtpBackend{"kWebOtpBackend",
@@ -851,6 +851,16 @@ const base::Feature kWebOtpBackend{"kWebOtpBackend",
// TODO(rouslan): Remove this.
const base::Feature kWebPayments{"WebPayments",
base::FEATURE_ENABLED_BY_DEFAULT};
@ -103,7 +103,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -180,6 +180,8 @@ CONTENT_EXPORT extern const base::Feature kWebXrArModule;
@@ -182,6 +182,8 @@ CONTENT_EXPORT extern const base::Feature kWebXrArModule;
CONTENT_EXPORT extern const base::Feature kWebXrHitTest;
CONTENT_EXPORT extern const base::Feature kWebXrIncubations;
@ -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
@@ -226,9 +226,13 @@ void ModulesInitializer::OnClearWindowObjectInMainWorld(
@@ -228,9 +228,13 @@ void ModulesInitializer::OnClearWindowObjectInMainWorld(
Document& document,
const Settings& settings) const {
LocalDOMWindow& window = *document.domWindow();
@ -147,7 +147,7 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -189,6 +189,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
@@ -187,6 +187,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
@ -165,7 +165,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
@@ -1303,6 +1303,14 @@
@@ -1313,6 +1313,14 @@
name: "OffscreenCanvasCommit",
status: "experimental",
},

View file

@ -7,12 +7,12 @@ Subject: Add history support in incognito mode
.../privacy/settings/PrivacySettings.java | 23 +++++++++++++++++--
chrome/browser/history/history_tab_helper.cc | 16 +++++++++++++
chrome/browser/history/history_tab_helper.h | 4 ++++
chrome/browser/prefs/browser_prefs.cc | 2 ++
chrome/browser/prefs/browser_prefs.cc | 3 +++
.../strings/android_chrome_strings.grd | 6 +++++
.../android_chrome_strings_it.xtb | 4 +++-
chrome/common/pref_names.cc | 5 ++++
chrome/common/pref_names.h | 4 ++++
9 files changed, 66 insertions(+), 3 deletions(-)
9 files changed, 67 insertions(+), 3 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
@ -32,7 +32,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/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
@@ -35,6 +35,8 @@ import org.chromium.components.user_prefs.UserPrefs;
@@ -36,6 +36,8 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
@ -41,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -49,14 +51,16 @@ public class PrivacySettings
@@ -50,14 +52,16 @@ public class PrivacySettings
private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
private static final String PREF_PROXY_OPTIONS = "proxy";
@ -60,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -96,6 +100,11 @@ public class PrivacySettings
@@ -97,6 +101,11 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
updateSummaries();
}
@@ -115,6 +124,9 @@ public class PrivacySettings
@@ -116,6 +125,9 @@ public class PrivacySettings
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
sharedPreferencesEditor.apply();
@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
@@ -159,6 +171,13 @@ public class PrivacySettings
@@ -160,6 +172,13 @@ public class PrivacySettings
(ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
@ -99,17 +99,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -28,6 +28,9 @@
@@ -29,6 +29,9 @@
#if defined(OS_ANDROID)
#include "chrome/browser/android/background_tab_manager.h"
#include "components/feed/feed_feature_list.h"
+#include "chrome/common/pref_names.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
#else
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -238,6 +241,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -256,6 +259,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@ -123,7 +123,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -245,6 +255,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -263,6 +273,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@ -148,7 +148,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
namespace history {
struct HistoryAddPageArgs;
@@ -34,6 +36,8 @@ class HistoryTabHelper : public content::WebContentsObserver,
@@ -46,6 +48,8 @@ class HistoryTabHelper : public content::WebContentsObserver,
int nav_entry_id,
content::NavigationHandle* navigation_handle);
@ -160,26 +160,27 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -231,6 +231,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/query_tiles/tile_service_prefs.h"
@@ -208,6 +208,8 @@
#endif
#if defined(OS_ANDROID)
+#include "chrome/browser/history/history_tab_helper.h"
#if BUILDFLAG(ENABLE_FEED_IN_CHROME)
#include "components/feed/core/common/pref_names.h"
#endif // BUILDFLAG(ENABLE_FEED_IN_CHROME)
@@ -1014,6 +1015,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
+
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
@@ -872,6 +874,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
variations::VariationsService::RegisterProfilePrefs(registry);
video_tutorials::RegisterPrefs(registry);
feed::prefs::RegisterFeedSharedProfilePrefs(registry);
+ HistoryTabHelper::RegisterProfilePrefs(registry);
#if BUILDFLAG(ENABLE_FEED_IN_CHROME)
feed::RegisterProfilePrefs(registry);
#endif // BUILDFLAG(ENABLE_FEED_IN_CHROME)
#else // defined(OS_ANDROID)
AppShortcutManager::RegisterProfilePrefs(registry);
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
@@ -811,6 +811,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -827,6 +827,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_ALWAYS_INCOGNITO_SUMMARY" desc="Summary for always incognito mode">
Opens links in incognito tabs when you click on new tab or on a link
</message>
@ -195,7 +196,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_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
@@ -1101,4 +1101,6 @@ Ad esempio, alcuni siti web potrebbero rispondere alla richiesta mostrando annun
@@ -1142,4 +1142,6 @@ I dati della sessione in incognito vengono cancellati da Chrome soltanto quando
<translation id="983192555821071799">Chiudi tutte le schede</translation>
<translation id="987264212798334818">Generali</translation>
<translation id="996149300115483134">Menu scheda feed chiuso</translation>
@ -207,7 +208,7 @@ diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strin
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
@@ -3100,4 +3100,9 @@ const char kShowCaretBrowsingDialog[] =
@@ -3079,4 +3079,9 @@ const char kShowCaretBrowsingDialog[] =
"settings.a11y.caretbrowsing.show_dialog";
#endif
@ -220,7 +221,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1087,6 +1087,10 @@ extern const char kCaretBrowsingEnabled[];
@@ -1078,6 +1078,10 @@ extern const char kCaretBrowsingEnabled[];
extern const char kShowCaretBrowsingDialog[];
#endif

View file

@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -88,6 +88,8 @@
@@ -91,6 +91,8 @@
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" />
@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android/java/res/menu/main_menu_regroup.xml
--- a/chrome/android/java/res/menu/main_menu_regroup.xml
+++ b/chrome/android/java/res/menu/main_menu_regroup.xml
@@ -97,6 +97,9 @@
@@ -113,6 +113,9 @@
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" />
@ -54,7 +54,7 @@ diff --git a/chrome/android/java/res/menu/main_menu_regroup.xml b/chrome/android
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
@@ -1747,6 +1747,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1760,6 +1760,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -1969,6 +1969,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2018,6 +2018,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
} catch (ActivityNotFoundException e) {
Toast.makeText(context, R.string.open_webapk_failed, Toast.LENGTH_SHORT).show();
}
@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -334,6 +334,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -409,6 +409,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
// Only display reader mode settings menu option if the current page is in reader mode.
menu.findItem(R.id.reader_mode_prefs_id).setVisible(shouldShowReaderModePrefs(currentTab));
@@ -703,6 +704,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -786,6 +787,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
}
@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
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
@@ -326,6 +326,9 @@ CHAR-LIMIT guidelines:
@@ -329,6 +329,9 @@ CHAR-LIMIT guidelines:
<message name="IDS_SERVICES_CATEGORY_TITLE" desc="Title for the group of preferences that control non-personalized Google services. This group contains preferences for data that is not tied to user's Google Account.">
Other Google services
</message>

View file

@ -3,34 +3,40 @@ 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 | 67 ++++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../java/res/xml/adblock_preferences.xml | 25 +++++
.../android/java/res/xml/main_preferences.xml | 5 +
.../browser/settings/AdBlockEditor.java | 92 +++++++++++++++++++
.../browser/settings/AdBlockPreferences.java | 61 ++++++++++++
chrome/app/generated_resources.grd | 10 ++
chrome/browser/browser_process_impl.cc | 3 +-
.../flags/android/cached_feature_flags.cc | 11 +++
.../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 +-
18 files changed, 316 insertions(+), 5 deletions(-)
chrome/android/chrome_java_resources.gni | 2 +
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 67 +++++
chrome/android/java/res/values/values.xml | 2 +
.../java/res/xml/adblock_preferences.xml | 25 ++
.../android/java/res/xml/main_preferences.xml | 5 +
.../browser/settings/AdBlockEditor.java | 92 +++++++
.../browser/settings/AdBlockPreferences.java | 61 +++++
chrome/app/generated_resources.grd | 10 +
chrome/browser/browser_process_impl.cc | 3 +-
.../flags/android/cached_feature_flags.cc | 11 +
.../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 | 249 ++++++++++++++++++
.../adblock_updater_service.h | 100 +++++++
.../download_filters_task.cc | 221 ++++++++++++++++
.../component_updater/download_filters_task.h | 129 +++++++++
20 files changed, 1010 insertions(+), 1 deletion(-)
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
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
create mode 100644 components/component_updater/download_filters_task.h
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
@@ -826,6 +826,7 @@ chrome_java_resources = [
@@ -786,6 +786,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",
@ -38,7 +44,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/add_languages_main.xml",
"java/res/layout/add_to_homescreen_dialog.xml",
"java/res/layout/auto_sign_in_first_run_dialog.xml",
@@ -1106,6 +1107,7 @@ chrome_java_resources = [
@@ -1044,6 +1045,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/accessibility_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@ -49,15 +55,15 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
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
@@ -1307,6 +1307,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/photo_picker/DecodeVideoTask.java",
@@ -1306,6 +1306,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/payments/ui/ShoppingCart.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java",
+ "java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java",
+ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
"java/src/org/chromium/chrome/browser/photo_picker/FileEnumWorkerTask.java",
"java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java",
"java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerToolbar.java",
"java/src/org/chromium/chrome/browser/policy/EnterpriseInfo.java",
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
new file mode 100644
--- /dev/null
@ -133,9 +139,9 @@ new file mode 100644
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
+++ b/chrome/android/java/res/values/values.xml
@@ -41,6 +41,8 @@
<!-- Our manage space activity. Default pre-KitKat to be nothing. -->
<string name="manage_space_activity"></string>
@@ -38,6 +38,8 @@
<integer name="reload_button_level_reload">0</integer>
<integer name="reload_button_level_stop">1</integer>
+ <string name="adblock_help_url">https://www.bromite.org/custom-filters</string>
+
@ -175,7 +181,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -89,6 +89,11 @@
@@ -90,6 +90,11 @@
android:key="privacy"
android:order="18"
android:title="@string/prefs_privacy"/>
@ -353,7 +359,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
@@ -10047,6 +10047,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -10210,6 +10210,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -368,12 +374,12 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
+ </if>
+
<!-- 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.">
<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 allowlist.">
Always allow ads on this site
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
@@ -1066,7 +1066,8 @@ BrowserProcessImpl::adblock_updater() {
@@ -1073,7 +1073,8 @@ BrowserProcessImpl::adblock_updater() {
adblock_updater_ = std::make_unique<adblock_updater::AdBlockUpdaterService>(
g_browser_process->system_network_context_manager()->GetSharedURLLoaderFactory(),
std::move(scheduler),
@ -411,7 +417,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
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
@@ -260,6 +260,14 @@ public class CachedFeatureFlags {
@@ -248,6 +248,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.REACHED_CODE_PROFILER, "sampling_interval_us", 0));
}
@ -426,7 +432,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
/**
* Caches flags that must take effect on startup but are set via native code.
*/
@@ -412,5 +420,7 @@ public class CachedFeatureFlags {
@@ -400,5 +408,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@ -504,37 +510,724 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kProfileCreationTime[];
#if defined(OS_WIN)
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
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.cc
@@ -46,12 +46,12 @@ const int initial_check_delay = 5,
next_check_delay = 60*60*24*7, // 1 week
on_demand_check_delay = 60; // minimum 1 minute between each on-demand check
-AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service)
@@ -0,0 +1,249 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "components/component_updater/adblock_updater_service.h"
+
+#include <algorithm>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/callback.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/logging.h"
+#include "base/macros.h"
+#include "base/threading/thread_checker.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/time.h"
+#include "base/timer/timer.h"
+#include "url/gurl.h"
+#include "base/strings/safe_sprintf.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
+namespace adblock_updater {
+
+// all constants express seconds
+// these could be made configurable
+const int initial_check_delay = 5,
+ next_check_delay = 60*60*24*7, // 1 week
+ on_demand_check_delay = 60; // minimum 1 minute between each on-demand check
+
+AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url)
: ruleset_service_(ruleset_service), shared_url_network_factory_(shared_url_network_factory), scheduler_(std::move(scheduler)) {
DCHECK(ruleset_service);
- //TODO: retrieve filters URL from config/prefs
- filters_url_ = "https://www.bromite.org/filters/filters.dat";
+ : ruleset_service_(ruleset_service), shared_url_network_factory_(shared_url_network_factory), scheduler_(std::move(scheduler)) {
+ DCHECK(ruleset_service);
+
+ filters_url_ = filters_url;
}
AdBlockUpdaterService::~AdBlockUpdaterService() {
+}
+
+AdBlockUpdaterService::~AdBlockUpdaterService() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+}
+
+void AdBlockUpdaterService::AddObserver(Observer* observer) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ observer_list_.AddObserver(observer);
+}
+
+void AdBlockUpdaterService::RemoveObserver(Observer* observer) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ observer_list_.RemoveObserver(observer);
+}
+
+//TODO: use this as in: base::Bind(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this)
+void AdBlockUpdaterService::NotifyObservers(Event event) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ for (auto& observer : observer_list_)
+ observer.OnEvent(event);
+}
+
+void AdBlockUpdaterService::Start() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // avoid multiple scheduling
+ if (scheduled_)
+ return;
+ scheduled_ = true;
+
+ LOG(INFO) << "AdBlockUpdaterService: starting up. "
+ << "First update attempt will take place in "
+ << initial_check_delay << " seconds. "
+ << "Next update attempt will take place in "
+ << next_check_delay << " seconds. ";
+
+ scheduler_->Schedule(
+ base::TimeDelta::FromSeconds(initial_check_delay),
+ base::TimeDelta::FromSeconds(next_check_delay),
+ base::Bind(&AdBlockUpdaterService::OnDemandScheduledUpdate,
+ base::Unretained(this)), base::DoNothing());
+}
+
+void AdBlockUpdaterService::OnDemandScheduledUpdate(component_updater::UpdateScheduler::OnFinishedCallback on_finished) {
+ //TODO: call on_finished
+ OnDemandUpdateAsNeeded(false, Callback());
+}
+
+bool AdBlockUpdaterService::OnDemandUpdate(Callback on_finished) {
+ return OnDemandUpdateAsNeeded(true, std::move(on_finished));
+}
+
+bool AdBlockUpdaterService::OnDemandUpdateAsNeeded(bool is_foreground, Callback on_finished) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // Check if the request is too soon.
+ if (!last_update_.is_null()) {
+ base::TimeDelta delta =
+ base::TimeTicks::Now() - last_update_;
+ if (is_updating_ || (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)))
+ LOG(INFO) << "AdBlockUpdaterService: update not necessary.";
+ return false;
+ }
+
+ OnDemandUpdateInternal(is_foreground, std::move(on_finished));
+ return true;
+}
+
+void AdBlockUpdaterService::OnDemandUpdateInternal(bool is_foreground, Callback on_finished) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ if (is_updating_) {
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(on_finished),
+ Error::UPDATE_IN_PROGRESS));
+ return;
+ }
+ is_updating_ = true;
+ last_update_ = base::TimeTicks::Now();
+
+ base::Time::Exploded e = {0};
+ base::Time t = base::Time();
+ auto version = ruleset_service_->GetMostRecentlyIndexedVersion();
+ LOG(INFO) << "AdBlockUpdaterService: MostRecentIndexedVersion = " << version.content_version;
+ std::vector<std::string> tokens =
+ base::SplitString(version.content_version, ".", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
+ int i = 0;
+ bool failed = false;
+ for (const std::string& token : tokens) {
+ // parse as number
+ int n = 0;
+ if (!base::StringToInt(token, &n)) {
+ failed = true;
+ break;
+ }
+
+ switch (i++) {
+ case 0:
+ e.year = 2019 + n;
+ break;
+ case 1:
+ e.month = n + 1;
+ break;
+ case 2:
+ e.day_of_month = n + 1;
+ break;
+ case 3:
+ e.second = n % 60;
+ n -= e.second;
+ n /= 60;
+ e.minute = n % 60;
+ e.hour = n / 60;
+ break;
+ default:
+ failed = true;
+ break;
+ }
+ }
+
+ if (failed) {
+ LOG(WARNING) << "AdBlockUpdaterService: failed to parse most recent version as x.y.z.w dot-separated integers";
+ } else {
+ if (!base::Time::FromUTCExploded(e, &t))
+ LOG(WARNING) << "AdBlockUpdaterService: failed to convert version to time.";
+ }
+
+ auto task = base::MakeRefCounted<DownloadFiltersTask>(
+ shared_url_network_factory_,
+ is_foreground, filters_url_,
+ t,
+ base::BindOnce(&AdBlockUpdaterService::OnUpdateComplete, base::Unretained(this),
+ std::move(on_finished)));
+
+ // run task now; task is responsible for clearing the is_updating status
+ base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
+ base::BindOnce(&DownloadFiltersTask::Run, base::Unretained(task.get())));
+ tasks_.insert(task);
+}
+
+void AdBlockUpdaterService::OnUpdateComplete(Callback on_finished,
+ scoped_refptr<DownloadFiltersTask> task,
+ Error error) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ auto file_path = task->file_path();
+ if (error == Error::NONE) {
+ subresource_filter::UnindexedRulesetInfo ruleset_info;
+ ruleset_info.ruleset_path = file_path;
+ ruleset_info.delete_ruleset_path = true;
+ ruleset_info.content_version = "0.0.0.0";
+ DCHECK(!ruleset_info.ruleset_path.empty());
+
+ // convert time to version
+ auto t = task->last_modified();
+ bool ignore_version = t.is_null();
+ if (!ignore_version) {
+ base::Time::Exploded e;
+ t.UTCExplode(&e);
+
+ // convert time to version
+ const int major = e.year - 2019,
+ minor = e.month - 1,
+ patch = e.day_of_month - 1,
+ revision = (e.hour*60+e.minute)*60 + e.second;
+ if (major < 0)
+ LOG(WARNING) << "AdBlockUpdaterService: too old Last-Modified header, ignoring version check.";
+ else {
+ char version_buffer[32];
+ base::strings::SafeSNPrintf(version_buffer, sizeof(version_buffer), "%d.%d.%d.%d",
+ major, minor, patch, revision);
+
+ ruleset_info.content_version = version_buffer;
+
+ LOG(INFO) << "AdBlockUpdaterService: indexing filters with version " << ruleset_info.content_version;
+ }
+ } else
+ LOG(WARNING) << "AdBlockUpdaterService: invalid Last-Modified header, ignoring version check.";
+ ruleset_service_->IndexAndStoreAndPublishRulesetIfNeeded(ruleset_info, ignore_version);
+ } else {
+ //TODO: generate event for ADBLOCK_NOT_UPDATED in case of error UPDATE_NOT_NEEDED
+ }
+
+ //TODO: run these only when index-and-store is actually finished?
+ if (!on_finished.is_null()) {
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(on_finished), error));
+ }
+
+ // mark as not updating
+ is_updating_ = false;
+ tasks_.erase(task);
+}
+
+} // namespace adblock_updater
diff --git a/components/component_updater/adblock_updater_service.h b/components/component_updater/adblock_updater_service.h
--- a/components/component_updater/adblock_updater_service.h
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.h
@@ -54,7 +54,8 @@ class Observer {
// All methods are safe to call ONLY from the browser's main thread.
class AdBlockUpdaterService {
public:
- AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service);
@@ -0,0 +1,100 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
+#define COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
+
+#include <stdint.h>
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback_forward.h"
+#include "base/gtest_prod_util.h"
+#include "base/memory/ref_counted.h"
+#include "base/version.h"
+#include "build/build_config.h"
+#include "components/component_updater/update_scheduler.h"
+#include "url/gurl.h"
+#include "components/component_updater/download_filters_task.h"
+#include "components/subresource_filter/content/browser/ruleset_service.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+
+namespace adblock_updater {
+
+// Called when a non-blocking call in this module completes.
+using Callback = base::OnceCallback<void(Error error)>;
+
+class Observer {
+ public:
+ virtual ~Observer() {}
+
+ // Called by the update service when a state change happens.
+ virtual void OnEvent(Event event) = 0;
+};
+
+// The AdBlock update service is in charge of downloading and saving the
+// AdBlock filters.
+//
+// All methods are safe to call ONLY from the browser's main thread.
+class AdBlockUpdaterService {
+ public:
+ AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler,
+ subresource_filter::RulesetService* ruleset_service, std::string filters_url);
~AdBlockUpdaterService();
// Adds an observer for this class. An observer should not be added more
+ ~AdBlockUpdaterService();
+
+ // Adds an observer for this class. An observer should not be added more
+ // than once. The caller retains the ownership of the observer object.
+ void AddObserver(Observer* observer);
+
+ // Removes an observer. It is safe for an observer to be removed while
+ // the observers are being notified.
+ void RemoveObserver(Observer* observer);
+
+ // Will schedule automatic updates, run in background.
+ void Start();
+
+ // To be called for an user-triggered update.
+ // Will not result in an actual update if the last update was too recently triggered.
+ bool OnDemandUpdate(Callback on_finished);
+
+ private:
+ void NotifyObservers(Event event);
+ void OnDemandScheduledUpdate(component_updater::UpdateScheduler::OnFinishedCallback on_finished);
+ bool OnDemandUpdateAsNeeded(bool is_foreground, Callback on_finished);
+ void OnDemandUpdateInternal(bool is_foreground, Callback on_finished);
+ void OnUpdateComplete(Callback callback, scoped_refptr<DownloadFiltersTask> task, Error error);
+
+ base::ObserverList<Observer>::Unchecked observer_list_;
+ base::ThreadChecker thread_checker_;
+ base::TimeTicks last_update_;
+
+ subresource_filter::RulesetService* ruleset_service_;
+ std::string filters_url_;
+
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory_;
+ std::unique_ptr<component_updater::UpdateScheduler> scheduler_;
+
+ bool is_updating_ = false;
+ bool scheduled_ = false;
+ std::set<scoped_refptr<DownloadFiltersTask>> tasks_;
+};
+
+} // namespace adblock_updater
+
+#endif // COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
diff --git a/components/component_updater/download_filters_task.cc b/components/component_updater/download_filters_task.cc
new file mode 100644
--- /dev/null
+++ b/components/component_updater/download_filters_task.cc
@@ -0,0 +1,221 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+#include "components/component_updater/download_filters_task.h"
+
+#include <utility>
+
+#include "base/files/file_util.h"
+#include "base/bind.h"
+#include "base/location.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "base/logging.h"
+#include "net/base/load_flags.h"
+#include "url/gurl.h"
+
+namespace adblock_updater {
+
+// maximum 10MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 10;
+
+const int kMaxRetriesOnNetworkChange = 3;
+
+const net::NetworkTrafficAnnotationTag traffic_annotation =
+ net::DefineNetworkTrafficAnnotation("update_client", R"(
+ semantics {
+ sender: "Bromite AdBlock filters updater"
+ description:
+ "The AdBlock filters updater is responsible for updating the subresource filters."
+ trigger: "Manual or automatic AdBlock filters updates."
+ data:
+ "Subresource filters rulesets, binary format"
+ destination: WEBSITE
+ }
+ )");
+
+DownloadFiltersTask::DownloadFiltersTask(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ bool is_foreground, const std::string& filters_url, base::Time min_last_modified,
+ Callback callback)
+ : shared_url_network_factory_(shared_url_network_factory),
+ is_foreground_(is_foreground),
+ complete_callback_(std::move(callback)) {
+ DCHECK(!filters_url.empty());
+ filters_url_ = GURL(filters_url);
+ min_last_modified_ = min_last_modified;
+
+ if (filters_url.empty()) {
+ return;
+ }
+
+ createSimpleURLLoader(!min_last_modified_.is_null());
+}
+
+void DownloadFiltersTask::createSimpleURLLoader(bool headers_only) {
+ // always reset response-related fields
+ response_code_ = -1;
+ final_url_ = GURL();
+ download_start_time_ = base::TimeTicks();
+
+ auto resource_request = std::make_unique<network::ResourceRequest>();
+ resource_request->url = filters_url_;
+ resource_request->load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA | net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE | net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
+ resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ if (headers_only)
+ // will chain two requests - first one is to check last modified header alone
+ resource_request->method = "HEAD";
+ else
+ resource_request->method = "GET";
+
+ simple_url_loader_ = network::SimpleURLLoader::Create(
+ std::move(resource_request), traffic_annotation);
+ simple_url_loader_->SetRetryOptions(
+ kMaxRetriesOnNetworkChange,
+ network::SimpleURLLoader::RetryMode::RETRY_ON_NETWORK_CHANGE);
+ simple_url_loader_->SetAllowPartialResults(false);
+ simple_url_loader_->SetOnResponseStartedCallback(base::BindOnce(
+ &DownloadFiltersTask::OnResponseStarted, base::Unretained(this)));
+}
+
+DownloadFiltersTask::~DownloadFiltersTask() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+}
+
+void DownloadFiltersTask::Run() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // will not be initialized if the URL was empty
+ if (!simple_url_loader_) {
+ TaskComplete(Error::INVALID_ARGUMENT);
+ return;
+ }
+
+ download_start_time_ = base::TimeTicks::Now();
+ if (min_last_modified_.is_null()) {
+ internalDownload();
+ } else {
+ simple_url_loader_->DownloadHeadersOnly(
+ shared_url_network_factory_.get(),
+ base::BindOnce(&DownloadFiltersTask::OnHeadersDownloadComplete, base::Unretained(this))
+ );
+ }
+}
+
+void DownloadFiltersTask::internalDownload() {
+ simple_url_loader_->DownloadToTempFile(
+ shared_url_network_factory_.get(),
+ base::BindOnce(&DownloadFiltersTask::OnDownloadComplete, base::Unretained(this)),
+ kMaxBodySize);
+}
+
+void DownloadFiltersTask::OnHeadersDownloadComplete(scoped_refptr<net::HttpResponseHeaders> headers) {
+ // something went wrong
+ if (headers == nullptr) {
+ OnDownloadComplete(base::FilePath());
+ return;
+ }
+
+ // ignoring 'headers' as 'Last-Modified' has already been picked up by OnResponseStarted
+ const base::TimeDelta dt =
+ last_modified_ - min_last_modified_;
+
+ if (dt.InSeconds() > 0) {
+ // prepare for next simple URL loader and trigger download
+ createSimpleURLLoader(false);
+ internalDownload();
+ return;
+ }
+
+ // the remote filters are not more recent than known ones
+ TaskComplete(Error::UPDATE_NOT_NEEDED);
+}
+
+void DownloadFiltersTask::OnResponseStarted(
+ const GURL& final_url,
+ const network::mojom::URLResponseHead& response_head) {
+
+ final_url_ = final_url;
+ response_code_ = response_head.headers ? response_head.headers->response_code() : -1;
+
+ if (!response_head.headers->GetLastModifiedValue(&last_modified_))
+ LOG(WARNING) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD") << " (no Last-Modified header)";
+ else
+ LOG(INFO) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD");
+}
+
+void DownloadFiltersTask::OnDownloadComplete(base::FilePath file_path) {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ int net_error = simple_url_loader_->NetError();
+ int64_t content_size = simple_url_loader_->GetContentSize();
+
+ const base::TimeTicks download_end_time(base::TimeTicks::Now());
+ const base::TimeDelta download_time =
+ download_end_time >= download_start_time_
+ ? download_end_time - download_start_time_
+ : base::TimeDelta();
+
+ // Consider a 5xx response from the server as an indication to terminate
+ // the request and avoid overloading the server in this case.
+ // is not accepting requests for the moment.
+ int error = -1;
+ if (!file_path.empty() && response_code_ == 200) {
+ DCHECK_EQ(0, net_error);
+ error = 0;
+ } else if (response_code_ != -1) {
+ error = response_code_;
+ } else {
+ error = net_error;
+ }
+
+ LOG(INFO) << "DownloadFiltersTask: downloaded " << content_size << " bytes in "
+ << download_time.InMilliseconds() << "ms from '" << final_url_.spec()
+ << "' to '" << file_path << "' with net_error " << net_error << " and error " << error;
+
+ if (error) {
+ TaskComplete(Error::DOWNLOAD_ERROR);
+ return;
+ }
+
+ file_path_ = file_path;
+ TaskComplete(Error::NONE);
+}
+
+void DownloadFiltersTask::Cancel() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ LOG(INFO) << "DownloadFiltersTask: update cancelled";
+
+ // deletion of the simple_url_loader_ will cause cancellation of its active request, if any
+
+ TaskComplete(Error::UPDATE_CANCELED);
+}
+
+void DownloadFiltersTask::TaskComplete(Error error) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(complete_callback_),
+ scoped_refptr<DownloadFiltersTask>(this), error));
+}
+
+base::Time DownloadFiltersTask::last_modified() {
+ return last_modified_;
+}
+
+base::FilePath DownloadFiltersTask::file_path() {
+ return file_path_;
+}
+
+} // namespace adblock_updater
diff --git a/components/component_updater/download_filters_task.h b/components/component_updater/download_filters_task.h
new file mode 100644
--- /dev/null
+++ b/components/component_updater/download_filters_task.h
@@ -0,0 +1,129 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
+#define COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
+
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "base/threading/thread_checker.h"
+#include "components/update_client/network.h"
+#include "url/gurl.h"
+#include "base/files/file_path.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/cpp/simple_url_loader.h"
+
+namespace adblock_updater {
+
+// Errors generated as a result of calling Run() or by the service itself (UPDATE_IN_PROGRESS or UPDATE_CANCELED)
+enum class Error {
+ NONE = 0,
+ UPDATE_IN_PROGRESS = 1,
+ UPDATE_CANCELED = 2,
+ UPDATE_NOT_NEEDED = 3,
+ DOWNLOAD_ERROR = 4,
+ INVALID_ARGUMENT = 5,
+ MAX_VALUE,
+};
+
+enum class Event {
+ // Sent before the update client does an update check.
+ ADBLOCK_CHECKING_FOR_UPDATES = 1,
+
+ // Sent after the new filters have been downloaded but before the install
+ // or the upgrade is attempted.
+ ADBLOCK_UPDATE_READY,
+
+ // Sent when filters are being downloaded.
+ ADBLOCK_UPDATE_DOWNLOADING,
+
+ // Sent when filters have been successfully updated.
+ ADBLOCK_UPDATED,
+
+ // Sent when filters have not been updated because there
+ // was no new version available
+ //TODO: implement this with the headers check
+ ADBLOCK_NOT_UPDATED,
+
+ // Sent when an error ocurred during an update for any reason, including
+ // the update check itself failed, or the download of the update payload
+ // failed, or applying the update failed.
+ ADBLOCK_UPDATE_ERROR,
+};
+
+// Defines a specialized task for updating AdBlock filters.
+class DownloadFiltersTask : public base::RefCounted<DownloadFiltersTask> {
+ public:
+ using Callback =
+ base::OnceCallback<void(scoped_refptr<DownloadFiltersTask> task, Error error)>;
+
+ // |shared_url_network_factory| is injected here for the URL loader factory.
+ // |is_foreground| is true when the update task is initiated by the user.
+ // |filters_url| is the URL to load filters from.
+ // |complete_callback| is called to return the execution flow back to creator of
+ // this task when the task is done.
+ DownloadFiltersTask(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ bool is_foreground, const std::string& filters_url, base::Time min_last_modified,
+ Callback complete_callback);
+
+ void Run();
+
+ void Cancel();
+
+ base::FilePath file_path();
+
+ base::Time last_modified();
+
+ private:
+ ~DownloadFiltersTask();
+
+ void OnDownloadProgress(uint64_t current);
+ void OnResponseStarted(const GURL& final_url,
+ const network::mojom::URLResponseHead& response_head);
+ void OnDownloadComplete(base::FilePath file_path);
+ void OnHeadersDownloadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void createSimpleURLLoader(bool);
+ void internalDownload();
+
+ // Called when the task has completed either because the task has run or
+ // it has been canceled.
+ void TaskComplete(Error error);
+
+ base::ThreadChecker thread_checker_;
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory_;
+ const bool is_foreground_;
+ Callback complete_callback_;
+ std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+
+ // fields populated while downloading
+ base::TimeTicks download_start_time_;
+ GURL final_url_, filters_url_;
+ int response_code_;
+ base::Time last_modified_, min_last_modified_;
+ base::FilePath file_path_;
+
+ friend class base::RefCounted<DownloadFiltersTask>;
+ DISALLOW_COPY_AND_ASSIGN(DownloadFiltersTask);
+};
+
+} // namespace update_client
+
+#endif // COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
--
2.17.1

View file

@ -13,16 +13,16 @@ Subject: Add option to not persist tabs across sessions
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
+++ b/chrome/android/java/res/values/values.xml
@@ -35,6 +35,9 @@
<integer name="reload_button_level_reload">0</integer>
<integer name="reload_button_level_stop">1</integer>
@@ -31,6 +31,9 @@
<!-- TabSwitcher - Maximum amount to tilt tabs in over scroll in degrees. -->
<integer name="over_scroll_angle">15</integer>
+ <string name="close_tabs_on_exit_title">Close tabs on exit</string>
+ <string name="close_tabs_on_exit_summary">Don\'t persist tabs between browsing sessions</string>
+
<!-- Our manage space activity. Default pre-KitKat to be nothing. -->
<string name="manage_space_activity"></string>
<!-- Toolbar/AppMenu - Drawable level on reload image button -->
<integer name="reload_button_level_reload">0</integer>
<integer name="reload_button_level_stop">1</integer>
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
@ -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
@@ -1045,8 +1045,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1047,8 +1047,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@ -62,8 +62,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.SpannableString;
import android.view.Menu;
import android.view.MenuInflater;
@@ -14,6 +15,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
@ -71,8 +71,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+import org.chromium.base.ContextUtils;
import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -38,6 +40,7 @@ import org.chromium.ui.text.SpanApplier;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
@@ -39,6 +41,7 @@ import org.chromium.ui.text.SpanApplier;
*/
public class PrivacySettings
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener {
@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_SECURE_DNS = "secure_dns";
@@ -49,7 +52,8 @@ public class PrivacySettings
@@ -50,7 +53,8 @@ public class PrivacySettings
PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
PREF_ALWAYS_INCOGNITO,
@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -95,7 +99,11 @@ public class PrivacySettings
@@ -96,7 +100,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -3499,6 +3499,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3601,6 +3601,12 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
<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

@ -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
@@ -1082,6 +1082,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1094,6 +1094,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());
@@ -3505,7 +3511,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3529,7 +3535,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.

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
@@ -97,7 +97,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
@@ -118,7 +118,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
registry->RegisterBooleanPref(kDiceMigrationCompletePref, false);
#endif

View file

@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -533,7 +533,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
@@ -555,7 +555,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
effective_experimental_options->Remove(it.key(), nullptr);
continue;
}

File diff suppressed because it is too large Load diff

View file

@ -9,18 +9,18 @@ This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs
.../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 +
chrome/browser/ui/singleton_tabs.cc | 3 +-
.../omnibox/browser/autocomplete_input.cc | 7 ++--
.../omnibox/browser/autocomplete_input.cc | 7 +++--
components/url_formatter/url_fixer.cc | 4 +++
.../child_process_security_policy_impl.cc | 1 +
net/BUILD.gn | 2 ++
net/url_request/trk_protocol_handler.cc | 26 +++++++++++++++
net/url_request/trk_protocol_handler.h | 33 +++++++++++++++++++
net/url_request/trk_protocol_handler.cc | 25 +++++++++++++++
net/url_request/trk_protocol_handler.h | 31 +++++++++++++++++++
net/url_request/url_request.cc | 8 +++++
.../url_request_context_builder.cc | 3 ++
url/url_constants.cc | 1 +
url/url_constants.h | 1 +
url/url_util.cc | 2 ++
14 files changed, 90 insertions(+), 3 deletions(-)
14 files changed, 87 insertions(+), 3 deletions(-)
create mode 100644 net/url_request/trk_protocol_handler.cc
create mode 100644 net/url_request/trk_protocol_handler.h
@ -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
@@ -557,6 +557,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
@@ -560,6 +560,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
@@ -672,6 +672,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
@@ -760,6 +760,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
@@ -1092,6 +1092,8 @@ component("net") {
@@ -1095,6 +1095,8 @@ component("net") {
"url_request/report_sender.h",
"url_request/static_http_user_agent_settings.cc",
"url_request/static_http_user_agent_settings.h",
@ -124,7 +124,7 @@ diff --git a/net/url_request/trk_protocol_handler.cc b/net/url_request/trk_proto
new file mode 100644
--- /dev/null
+++ b/net/url_request/trk_protocol_handler.cc
@@ -0,0 +1,26 @@
@@ -0,0 +1,25 @@
+// Copyright (c) 2018 The ungoogled-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.
@ -139,11 +139,10 @@ new file mode 100644
+
+TrkProtocolHandler::TrkProtocolHandler() = default;
+
+URLRequestJob* TrkProtocolHandler::MaybeCreateJob(
+ URLRequest* request, NetworkDelegate* network_delegate) const {
+std::unique_ptr<URLRequestJob> TrkProtocolHandler::CreateJob(
+ URLRequest* request) const {
+ LOG(ERROR) << "Blocked URL in TrkProtocolHandler: " << request->original_url();
+ return new URLRequestErrorJob(
+ request, network_delegate, ERR_BLOCKED_BY_CLIENT);
+ return std::make_unique<URLRequestErrorJob>(request, ERR_BLOCKED_BY_CLIENT);
+}
+
+bool TrkProtocolHandler::IsSafeRedirectTarget(const GURL& location) const {
@ -155,7 +154,7 @@ diff --git a/net/url_request/trk_protocol_handler.h b/net/url_request/trk_protoc
new file mode 100644
--- /dev/null
+++ b/net/url_request/trk_protocol_handler.h
@@ -0,0 +1,33 @@
@@ -0,0 +1,31 @@
+// Copyright (c) 2018 The ungoogled-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.
@ -177,9 +176,7 @@ new file mode 100644
+ : public URLRequestJobFactory::ProtocolHandler {
+ public:
+ TrkProtocolHandler();
+ URLRequestJob* MaybeCreateJob(
+ URLRequest* request,
+ NetworkDelegate* network_delegate) const override;
+ std::unique_ptr<URLRequestJob> CreateJob(URLRequest* request) const override;
+ bool IsSafeRedirectTarget(const GURL& location) const override;
+
+ private:
@ -208,7 +205,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -570,6 +572,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -566,6 +568,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@ -231,7 +228,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
+#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_job_factory_impl.h"
#include "net/url_request/url_request_job_factory.h"
@@ -614,6 +615,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second));

View file

@ -3,7 +3,7 @@ Date: Tue, 28 Jul 2020 12:28:58 +0200
Subject: Block gateway attacks via websockets
---
services/network/public/cpp/features.cc | 2 +-
content/public/common/content_features.cc | 2 +-
.../renderer/core/loader/base_fetch_context.h | 1 +
.../core/loader/frame_fetch_context.cc | 18 +++++++++++++
.../core/loader/frame_fetch_context.h | 1 +
@ -15,18 +15,18 @@ Subject: Block gateway attacks via websockets
.../modules/websockets/websocket_common.h | 4 +++
10 files changed, 77 insertions(+), 3 deletions(-)
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -125,7 +125,7 @@ const base::Feature kCrossOriginIsolated{"CrossOriginIsolated",
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
@@ -101,7 +101,7 @@ const base::Feature kBlockCredentialedSubresources{
//
// https://wicg.github.io/cors-rfc1918/#integration-fetch
const base::Feature kBlockInsecurePrivateNetworkRequests{
- "BlockInsecurePrivateNetworkRequests", base::FEATURE_DISABLED_BY_DEFAULT};
+ "BlockInsecurePrivateNetworkRequests", base::FEATURE_ENABLED_BY_DEFAULT};
// Enables or defaults splittup up server (not proxy) entries in the
// HttpAuthCache.
// Use ThreadPriority::DISPLAY for browser UI and IO threads.
#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -746,6 +746,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -749,6 +749,24 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@ -69,7 +69,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -154,6 +154,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext {
@@ -159,6 +159,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@ -146,7 +146,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -202,6 +202,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
@@ -214,6 +214,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
return false;
}

View file

@ -9,31 +9,23 @@ Download filters by checking Last-Modified header first
Fix RestoreForeignSessionTab by recreating the tab (issue #681)
---
chrome/browser/after_startup_task_utils.cc | 5 +
chrome/browser/browser_process.h | 7 +
chrome/browser/browser_process_impl.cc | 28 ++
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 | 2 +
.../browser/chrome_content_browser_client.cc | 16 --
.../browser/chrome_content_browser_client.cc | 16 ---
.../sessions/session_restore_android.cc | 4 +-
components/component_updater/BUILD.gn | 8 +
.../adblock_updater_service.cc | 249 ++++++++++++++++++
.../adblock_updater_service.h | 99 +++++++
.../download_filters_task.cc | 221 ++++++++++++++++
.../component_updater/download_filters_task.h | 129 +++++++++
...ent_subresource_filter_throttle_manager.cc | 11 +
.../content/browser/ruleset_service.cc | 33 ++-
components/component_updater/BUILD.gn | 6 +
...ent_subresource_filter_throttle_manager.cc | 11 ++
.../content/browser/ruleset_service.cc | 33 ++++-
.../content/browser/ruleset_service.h | 7 +-
.../content/browser/ruleset_version.cc | 1 +
.../content/browser/ruleset_version.h | 5 +
.../browser/verified_ruleset_dealer.cc | 3 +
.../browser/subresource_filter_features.cc | 113 +-------
.../browser/subresource_filter_features.cc | 113 +-----------------
.../core/common/common_features.cc | 2 +-
.../frame_host/navigation_throttle_runner.cc | 5 -
21 files changed, 812 insertions(+), 139 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
create mode 100644 components/component_updater/download_filters_task.h
.../navigation_throttle_runner.cc | 5 -
17 files changed, 112 insertions(+), 139 deletions(-)
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
--- a/chrome/browser/after_startup_task_utils.cc
@ -68,7 +60,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
class BackgroundModeManager;
class BrowserProcessPlatformPart;
@@ -63,6 +64,10 @@ class ComponentUpdateService;
@@ -67,6 +68,10 @@ class ComponentUpdateService;
class SupervisedUserWhitelistInstaller;
}
@ -79,7 +71,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions {
class EventRouterForwarder;
}
@@ -238,6 +243,8 @@ class BrowserProcess {
@@ -249,6 +254,8 @@ class BrowserProcess {
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@ -91,7 +83,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
@@ -1043,6 +1043,34 @@ BrowserProcessImpl::component_updater() {
@@ -1050,6 +1050,34 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@ -129,7 +121,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
@@ -180,6 +180,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -184,6 +184,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@ -137,7 +129,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;
@@ -360,6 +361,8 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -371,6 +372,8 @@ class BrowserProcessImpl : public BrowserProcess,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@ -149,7 +141,7 @@ 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
@@ -1581,6 +1581,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1588,6 +1588,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) {
component_updater::RegisterComponentsForUpdate(profile_->IsOffTheRecord(),
profile_->GetPrefs());
@ -161,14 +153,14 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/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
@@ -65,7 +65,6 @@
@@ -67,7 +67,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
#include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h"
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
@@ -219,7 +218,6 @@
#include "components/metrics/client_info.h"
#include "components/metrics_services_manager/metrics_services_manager.h"
@ -177,7 +169,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/payments/content/payment_request_display_manager.h"
#include "components/performance_manager/embedder/performance_manager_registry.h"
@@ -3931,16 +3929,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -3925,16 +3923,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -194,7 +186,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_PLUGINS)
MaybeAddThrottle(FlashDownloadInterception::MaybeCreateThrottleFor(handle),
&throttles);
@@ -4054,10 +4042,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4048,10 +4036,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
@ -235,737 +227,10 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update
"component_updater_service.cc",
"component_updater_service.h",
"component_updater_service_internal.h",
@@ -36,6 +42,8 @@ static_library("component_updater") {
"//third_party/boringssl:boringssl",
"//ui/base",
"//url",
+ "//services/network/public/mojom",
+ "//services/network/public/mojom:trust_tokens_interface",
]
}
diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.cc
@@ -0,0 +1,249 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "components/component_updater/adblock_updater_service.h"
+
+#include <algorithm>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/bind.h"
+#include "base/bind_helpers.h"
+#include "base/callback.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/logging.h"
+#include "base/macros.h"
+#include "base/threading/thread_checker.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/time.h"
+#include "base/timer/timer.h"
+#include "url/gurl.h"
+#include "base/strings/safe_sprintf.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/strings/string_split.h"
+namespace adblock_updater {
+
+// all constants express seconds
+// these could be made configurable
+const int initial_check_delay = 5,
+ next_check_delay = 60*60*24*7, // 1 week
+ on_demand_check_delay = 60; // minimum 1 minute between each on-demand check
+
+AdBlockUpdaterService::AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service)
+ : ruleset_service_(ruleset_service), shared_url_network_factory_(shared_url_network_factory), scheduler_(std::move(scheduler)) {
+ DCHECK(ruleset_service);
+
+ //TODO: retrieve filters URL from config/prefs
+ filters_url_ = "https://www.bromite.org/filters/filters.dat";
+}
+
+AdBlockUpdaterService::~AdBlockUpdaterService() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+}
+
+void AdBlockUpdaterService::AddObserver(Observer* observer) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ observer_list_.AddObserver(observer);
+}
+
+void AdBlockUpdaterService::RemoveObserver(Observer* observer) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ observer_list_.RemoveObserver(observer);
+}
+
+//TODO: use this as in: base::Bind(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this)
+void AdBlockUpdaterService::NotifyObservers(Event event) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ for (auto& observer : observer_list_)
+ observer.OnEvent(event);
+}
+
+void AdBlockUpdaterService::Start() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // avoid multiple scheduling
+ if (scheduled_)
+ return;
+ scheduled_ = true;
+
+ LOG(INFO) << "AdBlockUpdaterService: starting up. "
+ << "First update attempt will take place in "
+ << initial_check_delay << " seconds. "
+ << "Next update attempt will take place in "
+ << next_check_delay << " seconds. ";
+
+ scheduler_->Schedule(
+ base::TimeDelta::FromSeconds(initial_check_delay),
+ base::TimeDelta::FromSeconds(next_check_delay),
+ base::Bind(&AdBlockUpdaterService::OnDemandScheduledUpdate,
+ base::Unretained(this)), base::DoNothing());
+}
+
+void AdBlockUpdaterService::OnDemandScheduledUpdate(component_updater::UpdateScheduler::OnFinishedCallback on_finished) {
+ //TODO: call on_finished
+ OnDemandUpdateAsNeeded(false, Callback());
+}
+
+bool AdBlockUpdaterService::OnDemandUpdate(Callback on_finished) {
+ return OnDemandUpdateAsNeeded(true, std::move(on_finished));
+}
+
+bool AdBlockUpdaterService::OnDemandUpdateAsNeeded(bool is_foreground, Callback on_finished) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // Check if the request is too soon.
+ if (!last_update_.is_null()) {
+ base::TimeDelta delta =
+ base::TimeTicks::Now() - last_update_;
+ if (is_updating_ || (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)))
+ LOG(INFO) << "AdBlockUpdaterService: update not necessary.";
+ return false;
+ }
+
+ OnDemandUpdateInternal(is_foreground, std::move(on_finished));
+ return true;
+}
+
+void AdBlockUpdaterService::OnDemandUpdateInternal(bool is_foreground, Callback on_finished) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ if (is_updating_) {
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(on_finished),
+ Error::UPDATE_IN_PROGRESS));
+ return;
+ }
+ is_updating_ = true;
+ last_update_ = base::TimeTicks::Now();
+
+ base::Time::Exploded e = {0};
+ base::Time t = base::Time();
+ auto version = ruleset_service_->GetMostRecentlyIndexedVersion();
+ LOG(INFO) << "AdBlockUpdaterService: MostRecentIndexedVersion = " << version.content_version;
+ std::vector<std::string> tokens =
+ base::SplitString(version.content_version, ".", base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL);
+ int i = 0;
+ bool failed = false;
+ for (const std::string& token : tokens) {
+ // parse as number
+ int n = 0;
+ if (!base::StringToInt(token, &n)) {
+ failed = true;
+ break;
+ }
+
+ switch (i++) {
+ case 0:
+ e.year = 2019 + n;
+ break;
+ case 1:
+ e.month = n + 1;
+ break;
+ case 2:
+ e.day_of_month = n + 1;
+ break;
+ case 3:
+ e.second = n % 60;
+ n -= e.second;
+ n /= 60;
+ e.minute = n % 60;
+ e.hour = n / 60;
+ break;
+ default:
+ failed = true;
+ break;
+ }
+ }
+
+ if (failed) {
+ LOG(WARNING) << "AdBlockUpdaterService: failed to parse most recent version as x.y.z.w dot-separated integers";
+ } else {
+ if (!base::Time::FromUTCExploded(e, &t))
+ LOG(WARNING) << "AdBlockUpdaterService: failed to convert version to time.";
+ }
+
+ auto task = base::MakeRefCounted<DownloadFiltersTask>(
+ shared_url_network_factory_,
+ is_foreground, filters_url_,
+ t,
+ base::BindOnce(&AdBlockUpdaterService::OnUpdateComplete, base::Unretained(this),
+ std::move(on_finished)));
+
+ // run task now; task is responsible for clearing the is_updating status
+ base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
+ base::BindOnce(&DownloadFiltersTask::Run, base::Unretained(task.get())));
+ tasks_.insert(task);
+}
+
+void AdBlockUpdaterService::OnUpdateComplete(Callback on_finished,
+ scoped_refptr<DownloadFiltersTask> task,
+ Error error) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ auto file_path = task->file_path();
+ if (error == Error::NONE) {
+ subresource_filter::UnindexedRulesetInfo ruleset_info;
+ ruleset_info.ruleset_path = file_path;
+ ruleset_info.delete_ruleset_path = true;
+ ruleset_info.content_version = "0.0.0.0";
+ DCHECK(!ruleset_info.ruleset_path.empty());
+
+ // convert time to version
+ auto t = task->last_modified();
+ bool ignore_version = t.is_null();
+ if (!ignore_version) {
+ base::Time::Exploded e;
+ t.UTCExplode(&e);
+
+ // convert time to version
+ const int major = e.year - 2019,
+ minor = e.month - 1,
+ patch = e.day_of_month - 1,
+ revision = (e.hour*60+e.minute)*60 + e.second;
+ if (major < 0)
+ LOG(WARNING) << "AdBlockUpdaterService: too old Last-Modified header, ignoring version check.";
+ else {
+ char version_buffer[32];
+ base::strings::SafeSNPrintf(version_buffer, sizeof(version_buffer), "%d.%d.%d.%d",
+ major, minor, patch, revision);
+
+ ruleset_info.content_version = version_buffer;
+
+ LOG(INFO) << "AdBlockUpdaterService: indexing filters with version " << ruleset_info.content_version;
+ }
+ } else
+ LOG(WARNING) << "AdBlockUpdaterService: invalid Last-Modified header, ignoring version check.";
+ ruleset_service_->IndexAndStoreAndPublishRulesetIfNeeded(ruleset_info, ignore_version);
+ } else {
+ //TODO: generate event for ADBLOCK_NOT_UPDATED in case of error UPDATE_NOT_NEEDED
+ }
+
+ //TODO: run these only when index-and-store is actually finished?
+ if (!on_finished.is_null()) {
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(on_finished), error));
+ }
+
+ // mark as not updating
+ is_updating_ = false;
+ tasks_.erase(task);
+}
+
+} // namespace adblock_updater
diff --git a/components/component_updater/adblock_updater_service.h b/components/component_updater/adblock_updater_service.h
new file mode 100644
--- /dev/null
+++ b/components/component_updater/adblock_updater_service.h
@@ -0,0 +1,99 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
+#define COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
+
+#include <stdint.h>
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "base/callback_forward.h"
+#include "base/gtest_prod_util.h"
+#include "base/memory/ref_counted.h"
+#include "base/version.h"
+#include "build/build_config.h"
+#include "components/component_updater/update_scheduler.h"
+#include "url/gurl.h"
+#include "components/component_updater/download_filters_task.h"
+#include "components/subresource_filter/content/browser/ruleset_service.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+
+namespace adblock_updater {
+
+// Called when a non-blocking call in this module completes.
+using Callback = base::OnceCallback<void(Error error)>;
+
+class Observer {
+ public:
+ virtual ~Observer() {}
+
+ // Called by the update service when a state change happens.
+ virtual void OnEvent(Event event) = 0;
+};
+
+// The AdBlock update service is in charge of downloading and saving the
+// AdBlock filters.
+//
+// All methods are safe to call ONLY from the browser's main thread.
+class AdBlockUpdaterService {
+ public:
+ AdBlockUpdaterService(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory, std::unique_ptr<component_updater::UpdateScheduler> scheduler, subresource_filter::RulesetService* ruleset_service);
+ ~AdBlockUpdaterService();
+
+ // Adds an observer for this class. An observer should not be added more
+ // than once. The caller retains the ownership of the observer object.
+ void AddObserver(Observer* observer);
+
+ // Removes an observer. It is safe for an observer to be removed while
+ // the observers are being notified.
+ void RemoveObserver(Observer* observer);
+
+ // Will schedule automatic updates, run in background.
+ void Start();
+
+ // To be called for an user-triggered update.
+ // Will not result in an actual update if the last update was too recently triggered.
+ bool OnDemandUpdate(Callback on_finished);
+
+ private:
+ void NotifyObservers(Event event);
+ void OnDemandScheduledUpdate(component_updater::UpdateScheduler::OnFinishedCallback on_finished);
+ bool OnDemandUpdateAsNeeded(bool is_foreground, Callback on_finished);
+ void OnDemandUpdateInternal(bool is_foreground, Callback on_finished);
+ void OnUpdateComplete(Callback callback, scoped_refptr<DownloadFiltersTask> task, Error error);
+
+ base::ObserverList<Observer>::Unchecked observer_list_;
+ base::ThreadChecker thread_checker_;
+ base::TimeTicks last_update_;
+
+ subresource_filter::RulesetService* ruleset_service_;
+ std::string filters_url_;
+
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory_;
+ std::unique_ptr<component_updater::UpdateScheduler> scheduler_;
+
+ bool is_updating_ = false;
+ bool scheduled_ = false;
+ std::set<scoped_refptr<DownloadFiltersTask>> tasks_;
+};
+
+} // namespace adblock_updater
+
+#endif // COMPONENTS_ADBLOCK_UPDATER_SERVICE_H
diff --git a/components/component_updater/download_filters_task.cc b/components/component_updater/download_filters_task.cc
new file mode 100644
--- /dev/null
+++ b/components/component_updater/download_filters_task.cc
@@ -0,0 +1,221 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+#include "components/component_updater/download_filters_task.h"
+
+#include <utility>
+
+#include "base/files/file_util.h"
+#include "base/bind.h"
+#include "base/location.h"
+#include "base/threading/thread_task_runner_handle.h"
+#include "base/logging.h"
+#include "net/base/load_flags.h"
+#include "url/gurl.h"
+
+namespace adblock_updater {
+
+// maximum 10MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 10;
+
+const int kMaxRetriesOnNetworkChange = 3;
+
+const net::NetworkTrafficAnnotationTag traffic_annotation =
+ net::DefineNetworkTrafficAnnotation("update_client", R"(
+ semantics {
+ sender: "Bromite AdBlock filters updater"
+ description:
+ "The AdBlock filters updater is responsible for updating the subresource filters."
+ trigger: "Manual or automatic AdBlock filters updates."
+ data:
+ "Subresource filters rulesets, binary format"
+ destination: WEBSITE
+ }
+ )");
+
+DownloadFiltersTask::DownloadFiltersTask(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ bool is_foreground, const std::string& filters_url, base::Time min_last_modified,
+ Callback callback)
+ : shared_url_network_factory_(shared_url_network_factory),
+ is_foreground_(is_foreground),
+ complete_callback_(std::move(callback)) {
+ DCHECK(!filters_url.empty());
+ filters_url_ = GURL(filters_url);
+ min_last_modified_ = min_last_modified;
+
+ if (filters_url.empty()) {
+ return;
+ }
+
+ createSimpleURLLoader(!min_last_modified_.is_null());
+}
+
+void DownloadFiltersTask::createSimpleURLLoader(bool headers_only) {
+ // always reset response-related fields
+ response_code_ = -1;
+ final_url_ = GURL();
+ download_start_time_ = base::TimeTicks();
+
+ auto resource_request = std::make_unique<network::ResourceRequest>();
+ resource_request->url = filters_url_;
+ resource_request->load_flags = net::LOAD_DO_NOT_SEND_AUTH_DATA | net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE | net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
+ resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ if (headers_only)
+ // will chain two requests - first one is to check last modified header alone
+ resource_request->method = "HEAD";
+ else
+ resource_request->method = "GET";
+
+ simple_url_loader_ = network::SimpleURLLoader::Create(
+ std::move(resource_request), traffic_annotation);
+ simple_url_loader_->SetRetryOptions(
+ kMaxRetriesOnNetworkChange,
+ network::SimpleURLLoader::RetryMode::RETRY_ON_NETWORK_CHANGE);
+ simple_url_loader_->SetAllowPartialResults(false);
+ simple_url_loader_->SetOnResponseStartedCallback(base::BindOnce(
+ &DownloadFiltersTask::OnResponseStarted, base::Unretained(this)));
+}
+
+DownloadFiltersTask::~DownloadFiltersTask() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+}
+
+void DownloadFiltersTask::Run() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // will not be initialized if the URL was empty
+ if (!simple_url_loader_) {
+ TaskComplete(Error::INVALID_ARGUMENT);
+ return;
+ }
+
+ download_start_time_ = base::TimeTicks::Now();
+ if (min_last_modified_.is_null()) {
+ internalDownload();
+ } else {
+ simple_url_loader_->DownloadHeadersOnly(
+ shared_url_network_factory_.get(),
+ base::BindOnce(&DownloadFiltersTask::OnHeadersDownloadComplete, base::Unretained(this))
+ );
+ }
+}
+
+void DownloadFiltersTask::internalDownload() {
+ simple_url_loader_->DownloadToTempFile(
+ shared_url_network_factory_.get(),
+ base::BindOnce(&DownloadFiltersTask::OnDownloadComplete, base::Unretained(this)),
+ kMaxBodySize);
+}
+
+void DownloadFiltersTask::OnHeadersDownloadComplete(scoped_refptr<net::HttpResponseHeaders> headers) {
+ // something went wrong
+ if (headers == nullptr) {
+ OnDownloadComplete(base::FilePath());
+ return;
+ }
+
+ // ignoring 'headers' as 'Last-Modified' has already been picked up by OnResponseStarted
+ const base::TimeDelta dt =
+ last_modified_ - min_last_modified_;
+
+ if (dt.InSeconds() > 0) {
+ // prepare for next simple URL loader and trigger download
+ createSimpleURLLoader(false);
+ internalDownload();
+ return;
+ }
+
+ // the remote filters are not more recent than known ones
+ TaskComplete(Error::UPDATE_NOT_NEEDED);
+}
+
+void DownloadFiltersTask::OnResponseStarted(
+ const GURL& final_url,
+ const network::mojom::URLResponseHead& response_head) {
+
+ final_url_ = final_url;
+ response_code_ = response_head.headers ? response_head.headers->response_code() : -1;
+
+ if (!response_head.headers->GetLastModifiedValue(&last_modified_))
+ LOG(WARNING) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD") << " (no Last-Modified header)";
+ else
+ LOG(INFO) << "DownloadFiltersTask: fetching URL '" << final_url.spec() << "' with method " << (min_last_modified_.is_null() ? "GET" : "HEAD");
+}
+
+void DownloadFiltersTask::OnDownloadComplete(base::FilePath file_path) {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ int net_error = simple_url_loader_->NetError();
+ int64_t content_size = simple_url_loader_->GetContentSize();
+
+ const base::TimeTicks download_end_time(base::TimeTicks::Now());
+ const base::TimeDelta download_time =
+ download_end_time >= download_start_time_
+ ? download_end_time - download_start_time_
+ : base::TimeDelta();
+
+ // Consider a 5xx response from the server as an indication to terminate
+ // the request and avoid overloading the server in this case.
+ // is not accepting requests for the moment.
+ int error = -1;
+ if (!file_path.empty() && response_code_ == 200) {
+ DCHECK_EQ(0, net_error);
+ error = 0;
+ } else if (response_code_ != -1) {
+ error = response_code_;
+ } else {
+ error = net_error;
+ }
+
+ LOG(INFO) << "DownloadFiltersTask: downloaded " << content_size << " bytes in "
+ << download_time.InMilliseconds() << "ms from '" << final_url_.spec()
+ << "' to '" << file_path << "' with net_error " << net_error << " and error " << error;
+
+ if (error) {
+ TaskComplete(Error::DOWNLOAD_ERROR);
+ return;
+ }
+
+ file_path_ = file_path;
+ TaskComplete(Error::NONE);
+}
+
+void DownloadFiltersTask::Cancel() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ LOG(INFO) << "DownloadFiltersTask: update cancelled";
+
+ // deletion of the simple_url_loader_ will cause cancellation of its active request, if any
+
+ TaskComplete(Error::UPDATE_CANCELED);
+}
+
+void DownloadFiltersTask::TaskComplete(Error error) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ base::ThreadTaskRunnerHandle::Get()->PostTask(
+ FROM_HERE, base::BindOnce(std::move(complete_callback_),
+ scoped_refptr<DownloadFiltersTask>(this), error));
+}
+
+base::Time DownloadFiltersTask::last_modified() {
+ return last_modified_;
+}
+
+base::FilePath DownloadFiltersTask::file_path() {
+ return file_path_;
+}
+
+} // namespace adblock_updater
diff --git a/components/component_updater/download_filters_task.h b/components/component_updater/download_filters_task.h
new file mode 100644
--- /dev/null
+++ b/components/component_updater/download_filters_task.h
@@ -0,0 +1,129 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
+#define COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
+
+#include <string>
+#include <vector>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "base/threading/thread_checker.h"
+#include "components/update_client/network.h"
+#include "url/gurl.h"
+#include "base/files/file_path.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/cpp/simple_url_loader.h"
+
+namespace adblock_updater {
+
+// Errors generated as a result of calling Run() or by the service itself (UPDATE_IN_PROGRESS or UPDATE_CANCELED)
+enum class Error {
+ NONE = 0,
+ UPDATE_IN_PROGRESS = 1,
+ UPDATE_CANCELED = 2,
+ UPDATE_NOT_NEEDED = 3,
+ DOWNLOAD_ERROR = 4,
+ INVALID_ARGUMENT = 5,
+ MAX_VALUE,
+};
+
+enum class Event {
+ // Sent before the update client does an update check.
+ ADBLOCK_CHECKING_FOR_UPDATES = 1,
+
+ // Sent after the new filters have been downloaded but before the install
+ // or the upgrade is attempted.
+ ADBLOCK_UPDATE_READY,
+
+ // Sent when filters are being downloaded.
+ ADBLOCK_UPDATE_DOWNLOADING,
+
+ // Sent when filters have been successfully updated.
+ ADBLOCK_UPDATED,
+
+ // Sent when filters have not been updated because there
+ // was no new version available
+ //TODO: implement this with the headers check
+ ADBLOCK_NOT_UPDATED,
+
+ // Sent when an error ocurred during an update for any reason, including
+ // the update check itself failed, or the download of the update payload
+ // failed, or applying the update failed.
+ ADBLOCK_UPDATE_ERROR,
+};
+
+// Defines a specialized task for updating AdBlock filters.
+class DownloadFiltersTask : public base::RefCounted<DownloadFiltersTask> {
+ public:
+ using Callback =
+ base::OnceCallback<void(scoped_refptr<DownloadFiltersTask> task, Error error)>;
+
+ // |shared_url_network_factory| is injected here for the URL loader factory.
+ // |is_foreground| is true when the update task is initiated by the user.
+ // |filters_url| is the URL to load filters from.
+ // |complete_callback| is called to return the execution flow back to creator of
+ // this task when the task is done.
+ DownloadFiltersTask(scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory,
+ bool is_foreground, const std::string& filters_url, base::Time min_last_modified,
+ Callback complete_callback);
+
+ void Run();
+
+ void Cancel();
+
+ base::FilePath file_path();
+
+ base::Time last_modified();
+
+ private:
+ ~DownloadFiltersTask();
+
+ void OnDownloadProgress(uint64_t current);
+ void OnResponseStarted(const GURL& final_url,
+ const network::mojom::URLResponseHead& response_head);
+ void OnDownloadComplete(base::FilePath file_path);
+ void OnHeadersDownloadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void createSimpleURLLoader(bool);
+ void internalDownload();
+
+ // Called when the task has completed either because the task has run or
+ // it has been canceled.
+ void TaskComplete(Error error);
+
+ base::ThreadChecker thread_checker_;
+ scoped_refptr<network::SharedURLLoaderFactory> shared_url_network_factory_;
+ const bool is_foreground_;
+ Callback complete_callback_;
+ std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+
+ // fields populated while downloading
+ base::TimeTicks download_start_time_;
+ GURL final_url_, filters_url_;
+ int response_code_;
+ base::Time last_modified_, min_last_modified_;
+ base::FilePath file_path_;
+
+ friend class base::RefCounted<DownloadFiltersTask>;
+ DISALLOW_COPY_AND_ASSIGN(DownloadFiltersTask);
+};
+
+} // namespace update_client
+
+#endif // COMPONENTS_DOWNLOAD_FILTERS_TASK_H_
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
@@ -379,6 +379,17 @@ ContentSubresourceFilterThrottleManager::
@@ -391,6 +391,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@ -986,7 +251,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/components/subresource_filter/content/browser/ruleset_service.cc
--- a/components/subresource_filter/content/browser/ruleset_service.cc
+++ b/components/subresource_filter/content/browser/ruleset_service.cc
@@ -45,9 +45,7 @@ namespace {
@@ -46,9 +46,7 @@ namespace {
void RecordIndexAndWriteRulesetResult(
RulesetService::IndexAndWriteRulesetResult result) {
@ -997,7 +262,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
}
// Implements operations on a `sentinel file`, which is used as a safeguard to
@@ -197,10 +195,13 @@ RulesetService::RulesetService(
@@ -227,10 +225,13 @@ RulesetService::RulesetService(
RulesetService::~RulesetService() {}
void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@ -1013,7 +278,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
// Trying to store a ruleset with the same version for a second time would
// not only be futile, but would fail on Windows due to "File System
// Tunneling" as long as the previously stored copy of the rules is still
@@ -210,13 +211,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@@ -240,13 +241,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
if (most_recently_indexed_version.IsCurrentFormatVersion() &&
most_recently_indexed_version.content_version ==
unindexed_ruleset_info.content_version) {
@ -1030,7 +295,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
return;
}
@@ -235,6 +239,18 @@ IndexedRulesetVersion RulesetService::GetMostRecentlyIndexedVersion() const {
@@ -265,6 +269,18 @@ IndexedRulesetVersion RulesetService::GetMostRecentlyIndexedVersion() const {
IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info) {
@ -1049,7 +314,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK);
@@ -242,6 +258,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -272,6 +288,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
unindexed_ruleset_info.ruleset_path,
base::File::FLAG_OPEN | base::File::FLAG_READ);
if (!unindexed_ruleset_file.IsValid()) {
@ -1057,7 +322,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET);
return IndexedRulesetVersion();
@@ -255,6 +272,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -285,6 +302,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
indexed_ruleset_base_dir, indexed_version);
if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
@ -1065,7 +330,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR);
return IndexedRulesetVersion();
@@ -280,6 +298,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -310,6 +328,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
RulesetIndexer indexer;
if (!(*g_index_ruleset_func)(std::move(unindexed_ruleset_file), &indexer)) {
@ -1073,7 +338,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
RecordIndexAndWriteRulesetResult(
IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET);
return IndexedRulesetVersion();
@@ -300,6 +319,8 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -330,6 +349,8 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
if (result != IndexAndWriteRulesetResult::SUCCESS)
return IndexedRulesetVersion();
@ -1082,7 +347,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
DCHECK(indexed_version.IsValid());
return indexed_version;
}
@@ -424,6 +445,7 @@ void RulesetService::IndexAndStoreRuleset(
@@ -454,6 +475,7 @@ void RulesetService::IndexAndStoreRuleset(
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
const IndexedRulesetVersion& version) {
DCHECK(!result_callback.is_null());
@ -1090,7 +355,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
if (!version.IsValid())
return;
version.SaveToPrefs(local_state_);
@@ -436,7 +458,6 @@ void RulesetService::OpenAndPublishRuleset(
@@ -466,7 +488,6 @@ void RulesetService::OpenAndPublishRuleset(
IndexedRulesetLocator::GetRulesetDataFilePath(
IndexedRulesetLocator::GetSubdirectoryPathForVersion(
indexed_ruleset_base_dir_, version));
@ -1101,7 +366,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.cc b/
diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/components/subresource_filter/content/browser/ruleset_service.h
--- a/components/subresource_filter/content/browser/ruleset_service.h
+++ b/components/subresource_filter/content/browser/ruleset_service.h
@@ -173,7 +173,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -181,7 +181,7 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
//
// Virtual so that it can be mocked out in tests.
virtual void IndexAndStoreAndPublishRulesetIfNeeded(
@ -1110,7 +375,7 @@ diff --git a/components/subresource_filter/content/browser/ruleset_service.h b/c
// Get the ruleset version associated with the current local_state_.
IndexedRulesetVersion GetMostRecentlyIndexedVersion() const;
@@ -206,6 +206,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
@@ -214,6 +214,11 @@ class RulesetService : public base::SupportsWeakPtr<RulesetService> {
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info);
@ -1334,9 +599,9 @@ diff --git a/components/subresource_filter/core/common/common_features.cc b/comp
+const base::Feature kAdTagging{"AdTagging", base::FEATURE_DISABLED_BY_DEFAULT};
} // namespace subresource_filter
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
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -124,11 +124,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
devtools_instrumentation::CreateNavigationThrottles(request)) {
AddThrottle(std::move(throttle));

View file

@ -27,7 +27,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
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
@@ -418,12 +418,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -422,12 +422,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
port_config.enable_nonproxied_udp = false;
break;
case DEFAULT:

View file

@ -25,7 +25,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
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
@@ -549,7 +549,11 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
@@ -568,7 +568,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
@@ -538,7 +538,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -557,7 +557,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

@ -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
@@ -160,7 +160,7 @@ public class OmahaBase {
@@ -159,7 +159,7 @@ public class OmahaBase {
/** See {@link #sIsDisabled}. */
static boolean isDisabled() {

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
@@ -406,7 +406,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@@ -428,7 +428,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@ -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
@@ -437,8 +437,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@@ -459,8 +459,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}

View file

@ -9,7 +9,7 @@ Subject: Disable feeds support by default
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
@@ -7,7 +7,7 @@
@@ -11,7 +11,7 @@
namespace feed {
const base::Feature kInterestFeedContentSuggestions{

View file

@ -40,19 +40,19 @@ 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
@@ -340,7 +340,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kMediaRouterFirstRunFlowAcknowledged,
false,
@@ -345,7 +345,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
media_router::prefs::kMediaRouterEnableCloudServices, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
- registry->RegisterBooleanPref(prefs::kMediaRouterMediaRemotingEnabled, true);
+ registry->RegisterBooleanPref(prefs::kMediaRouterMediaRemotingEnabled, false);
registry->RegisterListPref(prefs::kMediaRouterTabMirroringSources);
registry->RegisterDictionaryPref(prefs::kWebShareVisitedTargets);
registry->RegisterBooleanPref(
- media_router::prefs::kMediaRouterMediaRemotingEnabled, true);
+ media_router::prefs::kMediaRouterMediaRemotingEnabled, false);
registry->RegisterListPref(
media_router::prefs::kMediaRouterTabMirroringSources);
#endif
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
@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -409,7 +409,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

View file

@ -18,7 +18,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
#include "components/ntp_tiles/most_visited_sites.h"
#include "components/ntp_tiles/section_type.h"
#include "ui/gfx/android/java_bitmap.h"
@@ -44,7 +43,6 @@ using ntp_tiles::NTPTilesVector;
@@ -45,7 +44,6 @@ using ntp_tiles::NTPTilesVector;
using ntp_tiles::SectionType;
using ntp_tiles::TileTitleSource;
using ntp_tiles::TileSource;
@ -26,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace {
@@ -235,7 +233,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
@@ -237,7 +235,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env,
const JavaParamRef<jobject>& obj,
jint jtiles_count) {
@ -34,23 +34,23 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordTileImpression(
@@ -248,6 +245,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -250,6 +247,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jsource,
jlong jdata_generation_time_ms,
const JavaParamRef<jstring>& jurl) {
const JavaParamRef<jobject>& jurl) {
+#if 0
GURL url(ConvertJavaStringToUTF8(env, jurl));
std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
TileSource source = static_cast<TileSource>(jsource);
@@ -258,6 +256,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -260,6 +258,7 @@ void MostVisitedSitesBridge::RecordTileImpression(
ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
jindex, source, title_source, visual_type, icon_type,
base::Time::FromJavaTime(jdata_generation_time_ms), url));
base::Time::FromJavaTime(jdata_generation_time_ms), *url));
+#endif
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -268,12 +267,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -270,12 +269,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint title_source,
jint source,
jlong jdata_generation_time_ms) {
@ -66,7 +66,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
--- a/components/ntp_tiles/BUILD.gn
+++ b/components/ntp_tiles/BUILD.gn
@@ -22,8 +22,6 @@ static_library("ntp_tiles") {
@@ -29,8 +29,6 @@ static_library("ntp_tiles") {
"icon_cacher.h",
"icon_cacher_impl.cc",
"icon_cacher_impl.h",
@ -75,7 +75,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites.cc",
"most_visited_sites.h",
"ntp_tile.cc",
@@ -79,7 +77,6 @@ source_set("unit_tests") {
@@ -86,7 +84,6 @@ source_set("unit_tests") {
"custom_links_manager_impl_unittest.cc",
"custom_links_store_unittest.cc",
"icon_cacher_impl_unittest.cc",

View file

@ -10,15 +10,15 @@ 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
@@ -935,7 +935,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -939,7 +939,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // defined(OS_CHROMEOS)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
- GoogleUpdateSettings::GetCollectStatsConsent());
+ false);
}
#if defined(OS_ANDROID)
registry->RegisterBooleanPref(
DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc

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

View file

@ -8,15 +8,15 @@ bookmarks, never reach signin thresholds.
chrome/android/chrome_java_resources.gni | 1 -
...rsonalized_signin_promo_view_bookmarks.xml | 30 -----
.../bookmarks/BookmarkItemsAdapter.java | 30 +----
.../bookmarks/BookmarkPromoHeader.java | 124 +-----------------
.../browser/signin/SigninPromoController.java | 19 +--
5 files changed, 5 insertions(+), 199 deletions(-)
.../bookmarks/BookmarkPromoHeader.java | 121 +-----------------
.../browser/signin/SigninPromoController.java | 23 +---
5 files changed, 5 insertions(+), 200 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
@@ -980,7 +980,6 @@ chrome_java_resources = [
@@ -931,7 +931,6 @@ chrome_java_resources = [
"java/res/layout/passwords_error_dialog.xml",
"java/res/layout/passwords_progress_dialog.xml",
"java/res/layout/personalized_signin_promo_view_body.xml",
@ -71,15 +71,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.chrome.browser.sync.ProfileSyncService;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
@@ -62,7 +61,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
// ViewType.PERSONALIZED_SIGNIN_PROMO, ViewType.SYNC_PROMO, or ViewType.INVALID_PROMO
@@ -64,7 +63,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@ViewType
private int mPromoHeaderType = ViewType.INVALID_PROMO;
private BookmarkDelegate mDelegate;
- private BookmarkPromoHeader mPromoHeaderManager;
private String mSearchText;
private BookmarkId mCurrentFolder;
private ProfileSyncService mProfileSyncService;
@@ -185,9 +183,9 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -187,9 +185,9 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
case ViewType.PERSONALIZED_SIGNIN_PROMO:
// fall through
case ViewType.PERSONALIZED_SYNC_PROMO:
@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
case ViewType.FOLDER:
return createViewHolderHelper(parent, R.layout.bookmark_folder_row);
case ViewType.BOOKMARK:
@@ -201,11 +199,7 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -203,11 +201,7 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (holder.getItemViewType() == ViewType.PERSONALIZED_SIGNIN_PROMO) {
@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
} else if (!(holder.getItemViewType() == ViewType.SYNC_PROMO)) {
BookmarkRow row = ((BookmarkRow) holder.itemView);
BookmarkId id = getIdByPosition(position);
@@ -234,7 +228,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -236,7 +230,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
case ViewType.PERSONALIZED_SIGNIN_PROMO:
// fall through
case ViewType.PERSONALIZED_SYNC_PROMO:
@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
break;
default:
// Other view holders don't have special recycling code.
@@ -260,7 +253,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -262,7 +255,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
updateHeader(!topLevelFoldersShowing());
};
@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
populateTopLevelFoldersList();
mElements = new ArrayList<>();
@@ -275,7 +267,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -277,7 +269,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
mDelegate.getModel().removeObserver(mBookmarkModelObserver);
mDelegate.getSelectionDelegate().removeObserver(this);
mDelegate = null;
@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
mProfileSyncService.removeSyncStateChangedListener(this);
}
@@ -385,23 +376,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
@@ -387,23 +378,6 @@ class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkItem>
return;
} else if (currentUIState == BookmarkUIState.STATE_SEARCHING) {
mPromoHeaderType = ViewType.INVALID_PROMO;
@ -154,7 +154,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
@@ -22,15 +22,9 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -21,15 +21,9 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.AccountManagerFacadeProvider;
import org.chromium.components.signin.AccountsChangeObserver;
@@ -46,7 +40,7 @@ import java.lang.annotation.RetentionPolicy;
@@ -44,7 +38,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).
*/
@ -179,7 +179,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.
@@ -67,7 +61,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -65,7 +59,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
private static @Nullable @PromoState Integer sPromoStateForTests;
private final Context mContext;
@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final AccountManagerFacade mAccountManagerFacade;
private final Runnable mPromoHeaderChangeAction;
@@ -83,12 +76,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -81,12 +74,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
mContext = context;
mPromoHeaderChangeAction = promoHeaderChangeAction;
@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
mAccountManagerFacade = AccountManagerFacadeProvider.getInstance();
mPromoState = calculatePromoState();
@@ -116,15 +103,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -111,15 +98,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
* Clean ups the class. Must be called once done using this class.
*/
void destroy() {
@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
/**
@@ -135,18 +118,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -130,18 +113,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return mPromoState;
}
@ -235,7 +235,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}.
@@ -158,54 +129,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -153,54 +124,11 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return new ViewHolder(view) {};
}
@ -266,7 +266,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
- private void setPersonalizedSigninPromoDeclined() {
- SharedPreferencesManager.getInstance().writeBoolean(
- ChromePreferenceKeys.SIGNIN_PROMO_PERSONALIZED_DECLINED, true);
- updatePromoState();
- mPromoState = calculatePromoState();
- triggerPromoUpdate();
- }
-
@ -291,7 +291,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
private @PromoState int calculatePromoState() {
@@ -213,30 +141,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -208,53 +136,9 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return sPromoStateForTests;
}
@ -322,37 +322,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return PromoState.PROMO_NONE;
}
@@ -258,29 +162,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
mProfileDataCache.addObserver(this);
}
- // AndroidSyncSettingsObserver implementation.
- @Override
- public void androidSyncSettingsChanged() {
- // AndroidSyncSettings calls this method from non-UI threads.
- PostTask.runOrPostTask(UiThreadTaskTraits.DEFAULT, () -> {
- updatePromoState();
- triggerPromoUpdate();
- });
- mPromoState = calculatePromoState();
- triggerPromoUpdate();
- }
-
- // SignInStateObserver implementation.
- @Override
- public void onSignedIn() {
- updatePromoState();
- mPromoState = calculatePromoState();
- triggerPromoUpdate();
- }
-
- @Override
- public void onSignedOut() {
- updatePromoState();
- mPromoState = calculatePromoState();
- triggerPromoUpdate();
- }
-
// ProfileDataCache.Observer implementation.
@Override
public void onProfileDataUpdated(String accountId) {
@@ -294,7 +175,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -268,7 +152,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
}
private void triggerPromoUpdate() {
@ -363,7 +356,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/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
@@ -69,24 +69,7 @@ public class SigninPromoController {
@@ -70,28 +70,7 @@ public class SigninPromoController {
* @param accessPoint The access point for which the impression limit is being checked.
*/
public static boolean hasNotReachedImpressionLimit(@AccessPoint int accessPoint) {
@ -372,8 +365,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPr
- case SigninAccessPoint.BOOKMARK_MANAGER:
- return getSigninPromoImpressionsCountBookmarks() < MAX_IMPRESSIONS_BOOKMARKS;
- case SigninAccessPoint.NTP_CONTENT_SUGGESTIONS:
- // There is no impression limit for NTP content suggestions.
- return true;
- int maxImpressions = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
- ChromeFeatureList.ENHANCED_PROTECTION_PROMO_CARD,
- "MaxSigninPromoImpressions", Integer.MAX_VALUE);
- return SharedPreferencesManager.getInstance().readInt(
- ChromePreferenceKeys.SIGNIN_PROMO_IMPRESSIONS_COUNT_NTP)
- < maxImpressions;
- case SigninAccessPoint.RECENT_TABS:
- // There is no impression limit for Recent Tabs.
- return true;
@ -385,7 +382,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPr
- assert false : "Unexpected value for access point: " + accessPoint;
- return false;
- }
+ return false;
+ return false;
}
/**

View file

@ -12,7 +12,7 @@ Subject: Disable references to fonts.googleapis.com
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
@@ -291,7 +291,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -292,7 +292,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
std::string DomDistillerViewerSource::GetContentSecurityPolicy(
network::mojom::CSPDirectiveName directive) {
if (directive == network::mojom::CSPDirectiveName::StyleSrc) {

View file

@ -19,7 +19,6 @@ Disable CrowdDeny feature
chrome/browser/browser_process.h | 7 --
chrome/browser/browser_process_impl.cc | 29 --------
chrome/browser/browser_process_impl.h | 4 --
.../chrome_browsing_data_remover_delegate.cc | 13 +---
.../browser/chrome_content_browser_client.cc | 28 ++++----
...ontent_browser_client_receiver_bindings.cc | 2 +
.../file_type_policies_component_installer.cc | 16 +----
@ -56,7 +55,7 @@ Disable CrowdDeny feature
.../safety_check/SafetyCheckMediator.java | 25 -------
.../ssl/sct_reporting_service_factory.cc | 11 +--
.../browser/ssl/security_state_tab_helper.cc | 2 +
.../chrome_subresource_filter_client.cc | 2 +
.../chrome_subresource_filter_client.cc | 1 +
chrome/browser/ui/BUILD.gn | 1 -
.../strings/android_chrome_strings.grd | 21 ------
chrome/browser/ui/tab_helpers.cc | 8 ---
@ -65,18 +64,18 @@ Disable CrowdDeny feature
.../chrome_content_renderer_client.cc | 2 +
.../permissions/permission_request_manager.cc | 28 ++++++--
components/safe_browsing/core/features.cc | 2 +-
.../content/captive_portal_blocking_page.cc | 7 +-
.../content/captive_portal_blocking_page.cc | 7 --
.../content/cert_report_helper.cc | 2 -
.../unified_consent_service.cc | 2 +-
.../native_file_system_file_writer_impl.cc | 50 +------------
.../native_file_system_file_writer_impl.h | 14 +---
.../native_file_system_permission_context.h | 6 --
65 files changed, 184 insertions(+), 670 deletions(-)
64 files changed, 180 insertions(+), 660 deletions(-)
diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
--- a/chrome/android/java/res/xml/google_services_preferences.xml
+++ b/chrome/android/java/res/xml/google_services_preferences.xml
@@ -13,30 +13,10 @@
@@ -18,30 +18,10 @@
android:title="@string/autocomplete_searches_and_urls_title"
android:summary="@string/autocomplete_searches_and_urls_summary"
android:persistent="false"/>
@ -134,7 +133,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
- android:order="6"/>
<org.chromium.components.browser_ui.settings.TextMessagePreference
android:key="sync_and_services_link"
android:summary="@string/privacy_sync_and_services_link"
android:summary="@string/privacy_sync_and_services_link_legacy"
diff --git a/chrome/android/java/res/xml/sync_and_services_preferences.xml b/chrome/android/java/res/xml/sync_and_services_preferences.xml
--- a/chrome/android/java/res/xml/sync_and_services_preferences.xml
+++ b/chrome/android/java/res/xml/sync_and_services_preferences.xml
@ -172,7 +171,7 @@ diff --git a/chrome/android/java/res/xml/sync_and_services_preferences.xml b/chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
@@ -21,13 +21,10 @@ import org.chromium.chrome.browser.help.HelpAndFeedback;
@@ -21,8 +21,6 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
import org.chromium.chrome.browser.profiles.Profile;
@ -181,12 +180,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
@@ -30,7 +28,6 @@ import org.chromium.chrome.browser.signin.IdentityServicesProvider;
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
import org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings;
-import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog;
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -44,14 +41,13 @@ public class PrivacySettings
@@ -48,14 +45,13 @@ public class PrivacySettings
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_SECURE_DNS = "secure_dns";
@ -204,7 +206,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -72,23 +68,6 @@ public class PrivacySettings
@@ -76,23 +72,6 @@ public class PrivacySettings
}
}
@ -228,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
setHasOptionsMenu(true);
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@@ -163,30 +142,10 @@ public class PrivacySettings
@@ -195,30 +174,10 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@ -266,15 +268,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/GoogleServicesSettings.java
@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.preferences.Pref;
@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager;
import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.safe_browsing.SafeBrowsingBridge;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.signin.UnifiedConsentServiceBridge;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
@@ -185,9 +184,6 @@ public class GoogleServicesSettings
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
import org.chromium.chrome.browser.signin.SignOutDialogFragment;
@@ -232,9 +231,6 @@ public class GoogleServicesSettings
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
assert !mIsSecurityPreferenceRemoved;
mPrefService.setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue);
@ -284,7 +286,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/G
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
mPrefService.setBoolean(Pref.ALTERNATE_ERROR_PAGES_ENABLED, (boolean) newValue);
} else if (PREF_USAGE_AND_CRASH_REPORTING.equals(key)) {
@@ -239,8 +235,7 @@ public class GoogleServicesSettings
@@ -287,8 +283,7 @@ public class GoogleServicesSettings
assert !mIsSecurityPreferenceRemoved;
boolean safe_browsing_enabled = mPrefService.getBoolean(Pref.SAFE_BROWSING_ENABLED);
mSafeBrowsingReporting.setEnabled(safe_browsing_enabled);
@ -294,7 +296,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/G
boolean has_token_for_leak_check = PasswordUIView.hasAccountForLeakCheckRequest();
boolean leak_detection_enabled =
@@ -267,9 +262,6 @@ public class GoogleServicesSettings
@@ -318,9 +313,6 @@ public class GoogleServicesSettings
if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
return mPrefService.isManagedPreference(Pref.SEARCH_SUGGEST_ENABLED);
}
@ -315,7 +317,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/S
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
@@ -388,9 +387,6 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
@@ -391,9 +390,6 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
assert !mIsSecurityPreferenceRemoved;
mPrefService.setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue);
@ -325,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/S
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
mPrefService.setBoolean(Pref.ALTERNATE_ERROR_PAGES_ENABLED, (boolean) newValue);
} else if (PREF_USAGE_AND_CRASH_REPORTING.equals(key)) {
@@ -643,8 +639,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
@@ -647,8 +643,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
assert !mIsSecurityPreferenceRemoved;
boolean safe_browsing_enabled = mPrefService.getBoolean(Pref.SAFE_BROWSING_ENABLED);
mSafeBrowsingReporting.setEnabled(safe_browsing_enabled);
@ -335,7 +337,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/S
boolean has_token_for_leak_check = PasswordUIView.hasAccountForLeakCheckRequest();
boolean leak_detection_enabled =
@@ -672,7 +667,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
@@ -676,7 +671,7 @@ public class SyncAndServicesSettings extends PreferenceFragmentCompat
return mPrefService.isManagedPreference(Pref.SEARCH_SUGGEST_ENABLED);
}
if (PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
@ -358,7 +360,7 @@ diff --git a/chrome/app/android/chrome_main_delegate_android.cc b/chrome/app/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1113,8 +1113,6 @@ static_library("browser") {
@@ -1114,8 +1114,6 @@ static_library("browser") {
"permissions/adaptive_quiet_notification_permission_ui_enabler.h",
"permissions/chrome_permissions_client.cc",
"permissions/chrome_permissions_client.h",
@ -367,7 +369,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"permissions/crowd_deny_preload_data.cc",
"permissions/crowd_deny_preload_data.h",
"permissions/crowd_deny_safe_browsing_request.cc",
@@ -3175,8 +3173,6 @@ static_library("browser") {
@@ -3353,8 +3351,6 @@ static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",
@ -379,7 +381,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
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
@@ -1885,7 +1885,7 @@ const FeatureEntry::FeatureParam
@@ -2076,7 +2076,7 @@ const FeatureEntry::FeatureParam
{QuietNotificationPermissionUiConfig::kEnableAbusiveRequestWarning,
"true"},
{QuietNotificationPermissionUiConfig::kEnableCrowdDenyTriggering,
@ -415,7 +417,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
@@ -46,10 +46,6 @@ class NetworkQualityTracker;
@@ -49,10 +49,6 @@ class NetworkQualityTracker;
class SharedURLLoaderFactory;
}
@ -426,7 +428,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace subresource_filter {
class RulesetService;
}
@@ -211,9 +207,6 @@ class BrowserProcess {
@@ -217,9 +213,6 @@ class BrowserProcess {
// on this platform (or this is a unit test).
virtual StatusTray* status_tray() = 0;
@ -439,7 +441,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
@@ -69,7 +69,6 @@
@@ -67,7 +67,6 @@
#include "chrome/browser/printing/print_preview_dialog_controller.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/resource_coordinator/resource_coordinator_parts.h"
@ -447,15 +449,15 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
#include "chrome/browser/shell_integration.h"
#include "chrome/browser/site_isolation/prefs_observer.h"
#include "chrome/browser/ssl/secure_origin_prefs_observer.h"
@@ -110,7 +109,6 @@
@@ -108,7 +107,6 @@
#include "components/prefs/pref_service.h"
#include "components/rappor/public/rappor_utils.h"
#include "components/rappor/rappor_service_impl.h"
-#include "components/safe_browsing/core/safe_browsing_service_interface.h"
#include "components/sessions/core/session_id_generator.h"
#include "components/subresource_filter/content/browser/ruleset_service.h"
#include "components/subresource_filter/core/browser/subresource_filter_constants.h"
@@ -373,8 +371,6 @@ void BrowserProcessImpl::StartTearDown() {
#include "components/translate/core/browser/translate_download_manager.h"
@@ -372,8 +370,6 @@ void BrowserProcessImpl::StartTearDown() {
metrics_services_manager_.reset();
intranet_redirect_detector_.reset();
@ -464,7 +466,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
network_time_tracker_.reset();
#if BUILDFLAG(ENABLE_PLUGINS)
plugins_resource_service_.reset();
@@ -981,14 +977,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
@@ -980,14 +976,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
return status_tray_.get();
}
@ -479,7 +481,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
subresource_filter::RulesetService*
BrowserProcessImpl::subresource_filter_ruleset_service() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -1249,23 +1237,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
@@ -1251,23 +1239,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
}
void BrowserProcessImpl::CreateSafeBrowsingService() {
@ -506,7 +508,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
@@ -167,7 +167,6 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -169,7 +169,6 @@ class BrowserProcessImpl : public BrowserProcess,
void set_background_mode_manager_for_test(
std::unique_ptr<BackgroundModeManager> manager) override;
StatusTray* status_tray() override;
@ -514,7 +516,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
subresource_filter::RulesetService* subresource_filter_ruleset_service()
override;
federated_learning::FlocBlocklistService* floc_blocklist_service() override;
@@ -312,9 +311,6 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -320,9 +319,6 @@ class BrowserProcessImpl : public BrowserProcess,
std::unique_ptr<BackgroundModeManager> background_mode_manager_;
#endif
@ -524,55 +526,17 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
bool created_subresource_filter_ruleset_service_ = false;
std::unique_ptr<subresource_filter::RulesetService>
subresource_filter_ruleset_service_;
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -280,17 +280,6 @@ bool DoesOriginMatchEmbedderMask(uint64_t origin_type_mask,
return false;
}
-// Callback for when cookies have been deleted. Invokes NotifyIfDone.
-// Receiving |cookie_manager| as a parameter so that the receive pipe is
-// not deleted before the response is received.
-void OnClearedCookies(
- base::OnceClosure done,
- mojo::Remote<network::mojom::CookieManager> cookie_manager,
- uint32_t num_deleted) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::move(done).Run();
-}
-
} // namespace
ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate(
@@ -701,6 +690,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
ContentSettingsType::CLIENT_HINTS, base::Time(), base::Time::Max(),
website_settings_filter);
+#if BUILDFLAG(FULL_SAFE_BROWSING)
// Clear the safebrowsing cookies only if time period is for "all time". It
// doesn't make sense to apply the time period of deleting in the last X
// hours/days to the safebrowsing cookies since they aren't the result of
@@ -730,6 +720,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
std::move(cookie_manager)));
}
}
+#endif
if (filter_builder->GetMode() ==
BrowsingDataFilterBuilder::Mode::kPreserve) {
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
@@ -113,6 +113,7 @@
@@ -113,12 +113,14 @@
#include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h"
#include "chrome/browser/renderer_preferences_util.h"
#include "chrome/browser/resource_coordinator/background_tab_navigation_throttle.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/certificate_reporting_service.h"
#include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h"
#include "chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service.h"
@@ -121,6 +122,7 @@
#include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h"
#include "chrome/browser/safe_browsing/delayed_warning_navigation_throttle.h"
#include "chrome/browser/safe_browsing/safe_browsing_navigation_throttle.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
@ -580,7 +544,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/safe_browsing/ui_manager.h"
#include "chrome/browser/safe_browsing/url_checker_delegate_impl.h"
#include "chrome/browser/safe_browsing/url_lookup_service_factory.h"
@@ -880,21 +882,13 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
@@ -894,21 +896,13 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
class CertificateReportingServiceCertReporter : public SSLCertReporter {
public:
explicit CertificateReportingServiceCertReporter(
@ -603,7 +567,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
};
#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -1414,7 +1408,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask(
@@ -1423,7 +1417,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask(
InitNetworkContextsParentDirectory();
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -613,7 +577,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
}
bool ChromeContentBrowserClient::IsBrowserStartupComplete() {
@@ -2120,7 +2116,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2136,7 +2132,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
}
#elif defined(OS_POSIX)
#if defined(OS_ANDROID)
@ -622,7 +586,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#else
bool enable_crash_reporter = false;
if (crash_reporter::IsCrashpadEnabled()) {
@@ -2255,6 +2251,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2260,6 +2256,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
instant_service->IsInstantProcess(process->GetID())) {
command_line->AppendSwitch(switches::kInstantProcess);
}
@ -632,8 +596,8 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#endif
if (prefs->HasPrefPath(prefs::kAllowDinosaurEasterEgg) &&
@@ -4095,14 +4094,13 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4084,14 +4083,13 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
- throttles.push_back(
@ -649,7 +613,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if defined(OS_WIN) || defined(OS_MAC) || \
(defined(OS_LINUX) && !defined(OS_CHROMEOS))
@@ -5183,6 +5181,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -5203,6 +5201,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
bool should_check_on_sb_disabled) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@ -657,7 +621,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Should not bypass safe browsing check if the check is for enterprise
// lookup.
if (!safe_browsing_enabled_for_profile && !should_check_on_sb_disabled)
@@ -5197,6 +5196,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -5217,6 +5216,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
}
return safe_browsing_url_checker_delegate_;
@ -670,7 +634,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
--- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
+++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
@@ -71,6 +71,7 @@
@@ -73,6 +73,7 @@
namespace {
@ -678,7 +642,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b
// Helper method for ExposeInterfacesToRenderer() that checks the latest
// SafeBrowsing pref value on the UI thread before hopping over to the IO
// thread.
@@ -103,6 +104,7 @@ void MaybeCreateSafeBrowsingForRenderer(
@@ -105,6 +106,7 @@ void MaybeCreateSafeBrowsingForRenderer(
/*should_check_on_sb_disabled=*/false),
std::move(receiver)));
}
@ -723,7 +687,7 @@ diff --git a/chrome/browser/component_updater/file_type_policies_component_insta
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
@@ -43,9 +43,11 @@
@@ -47,9 +47,11 @@
#include "chrome/browser/extensions/api/safe_browsing_private/safe_browsing_private_event_router_factory.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profile.h"
@ -735,7 +699,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
#include "chrome/common/buildflags.h"
@@ -65,7 +67,9 @@
@@ -69,7 +71,9 @@
#include "components/prefs/pref_member.h"
#include "components/prefs/pref_service.h"
#include "components/safe_browsing/buildflags.h"
@ -745,7 +709,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#include "components/services/quarantine/public/mojom/quarantine.mojom.h"
#include "components/services/quarantine/quarantine_impl.h"
#include "content/public/browser/browser_task_traits.h"
@@ -124,8 +128,10 @@ using content::DownloadManager;
@@ -128,8 +132,10 @@ using content::DownloadManager;
using download::DownloadItem;
using download::DownloadPathReservationTracker;
using download::PathValidationResult;
@ -756,7 +720,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
namespace {
@@ -323,12 +329,12 @@ void HandleMixedDownloadInfoBarResult(
@@ -327,12 +333,12 @@ void HandleMixedDownloadInfoBarResult(
}
#endif
@ -770,7 +734,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
if (download_restriction !=
DownloadPrefs::DownloadRestriction::POTENTIALLY_DANGEROUS_FILES &&
download_restriction !=
@@ -349,8 +355,8 @@ void MaybeReportDangerousDownloadBlocked(
@@ -362,8 +368,8 @@ void MaybeReportDangerousDownloadBlocked(
base::HexEncode(raw_digest_sha256.data(), raw_digest_sha256.size()),
danger_type, download->GetMimeType(), download->GetTotalBytes(),
safe_browsing::EventResult::BLOCKED);
@ -780,7 +744,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
} // namespace
@@ -372,13 +378,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
@@ -385,13 +391,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
download_manager_ = dm;
@ -794,7 +758,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
#if defined(OS_ANDROID)
@@ -715,16 +714,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
@@ -728,16 +727,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
base::FilePath* filename) {
@ -811,7 +775,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
void ChromeDownloadManagerDelegate::SanitizeDownloadParameters(
@@ -837,18 +826,18 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() {
@@ -850,18 +839,18 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() {
return std::string(chrome::kApplicationClientIDStringForAVScanning);
}
@ -832,7 +796,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
void ChromeDownloadManagerDelegate::GetMixedContentStatus(
download::DownloadItem* download,
@@ -1365,8 +1354,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
@@ -1398,8 +1387,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
@ -844,7 +808,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
if (ShouldBlockFile(target_info->danger_type, item)) {
MaybeReportDangerousDownloadBlocked(
download_prefs_->download_restriction(), "DANGEROUS_FILE_TYPE",
@@ -1375,6 +1367,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
@@ -1408,6 +1400,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
// A dangerous type would take precedence over the blocking of the file.
target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS;
}
@ -1044,7 +1008,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
}
}
@@ -461,10 +458,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
@@ -472,10 +469,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
const base::FilePath& file_name) {
base::FilePath::StringType extension = file_name.Extension();
@ -1365,7 +1329,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b
#include "chrome/browser/download/download_file_icon_extractor.h"
#include "chrome/browser/download/download_open_prompt.h"
#include "chrome/browser/download/download_prefs.h"
@@ -1331,9 +1330,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
@@ -1327,9 +1326,6 @@ DownloadsAcceptDangerFunction::DownloadsAcceptDangerFunction() {}
DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() {}
@ -1375,7 +1339,7 @@ diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/b
ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() {
std::unique_ptr<downloads::AcceptDanger::Params> params(
downloads::AcceptDanger::Params::Create(*args_));
@@ -1371,43 +1367,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
@@ -1367,43 +1363,7 @@ void DownloadsAcceptDangerFunction::PromptOrWait(int download_id, int retries) {
return;
}
RecordApiFunctions(DOWNLOADS_FUNCTION_ACCEPT_DANGER);
@ -1516,7 +1480,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -755,9 +755,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
@@ -759,9 +759,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
metrics_service_->RegisterMetricsProvider(
std::make_unique<HttpsEngagementMetricsProvider>());
@ -1609,7 +1573,7 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -1384,6 +1384,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1363,6 +1363,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
is_enabled = false;
}
@ -1617,7 +1581,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
// SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing
// warnings until user interaction. If the current page has a delayed warning,
// it'll have a user interaction observer attached. Disable password
@@ -1394,6 +1395,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1373,6 +1374,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
observer->OnPasswordSaveOrAutofillDenied();
is_enabled = false;
}
@ -1628,15 +1592,15 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc
--- a/chrome/browser/permissions/chrome_permissions_client.cc
+++ b/chrome/browser/permissions/chrome_permissions_client.cc
@@ -14,7 +14,6 @@
#include "chrome/browser/engagement/site_engagement_service.h"
@@ -15,7 +15,6 @@
#include "chrome/browser/metrics/ukm_background_recorder_service.h"
#include "chrome/browser/permissions/abusive_origin_permission_revocation_request.h"
#include "chrome/browser/permissions/adaptive_quiet_notification_permission_ui_enabler.h"
-#include "chrome/browser/permissions/contextual_notification_permission_ui_selector.h"
#include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h"
#include "chrome/browser/permissions/permission_manager_factory.h"
#include "chrome/browser/permissions/quiet_notification_permission_ui_config.h"
@@ -194,13 +193,6 @@ ChromePermissionsClient::GetOverrideIconId(ContentSettingsType type) {
@@ -195,13 +194,6 @@ ChromePermissionsClient::GetOverrideIconId(ContentSettingsType type) {
return PermissionsClient::GetOverrideIconId(type);
}
@ -1662,11 +1626,11 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.h b/chrome/bro
- content::BrowserContext* browser_context) override;
void OnPromptResolved(content::BrowserContext* browser_context,
permissions::PermissionRequestType request_type,
permissions::PermissionAction action) override;
permissions::PermissionAction action,
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -242,7 +242,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -244,7 +244,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION)
CaptivePortalServiceFactory::GetInstance();
#endif
@ -1677,7 +1641,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -94,7 +94,6 @@
@@ -93,7 +93,6 @@
#include "chrome/browser/profiles/profile_metrics.h"
#include "chrome/browser/push_messaging/push_messaging_service_factory.h"
#include "chrome/browser/push_messaging/push_messaging_service_impl.h"
@ -1685,7 +1649,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
#include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/signin/signin_ui_util.h"
@@ -591,6 +590,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -588,6 +587,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate;
@ -1693,7 +1657,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service(
g_browser_process->safe_browsing_service());
if (safe_browsing_service.get()) {
@@ -602,7 +602,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -599,7 +599,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
pref_validation_delegate.InitWithNewPipeAndPassReceiver());
}
}
@ -1705,15 +1669,15 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -6,6 +6,7 @@ import("//components/safe_browsing/buildflags.gni")
import("//extensions/buildflags/buildflags.gni")
@@ -13,6 +13,7 @@ import("//build/config/deprecated_default_sources_assignment_filter.gni")
set_sources_assignment_filter(deprecated_default_sources_assignment_filter)
static_library("safe_browsing") {
+ if (false) {
sources = [
"chrome_controller_client.cc",
"chrome_controller_client.h",
@@ -62,6 +63,7 @@ static_library("safe_browsing") {
@@ -71,6 +72,7 @@ static_library("safe_browsing") {
]
deps += [ "//extensions/browser" ]
}
@ -1721,7 +1685,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
if (safe_browsing_mode != 0) {
# "Safe Browsing Basic" files used for safe browsing in full mode
@@ -127,7 +129,6 @@ static_library("safe_browsing") {
@@ -136,7 +138,6 @@ static_library("safe_browsing") {
"//components/safe_browsing/content/triggers:ad_sampler_trigger",
"//components/safe_browsing/content/triggers:suspicious_site_trigger",
"//components/safe_browsing/core:csd_proto",
@ -1977,7 +1941,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br
import org.chromium.chrome.browser.safety_check.SafetyCheckBridge.SafetyCheckCommonObserver;
import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.PasswordsState;
import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.SafeBrowsingState;
@@ -177,30 +176,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer, SafetyCheckCommonOb
@@ -185,30 +184,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer, SafetyCheckCommonOb
// Set the listener for clicking the Safe Browsing element.
mModel.set(SafetyCheckProperties.SAFE_BROWSING_CLICK_LISTENER,
(Preference.OnPreferenceClickListener) (p) -> {
@ -1985,7 +1949,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br
- RecordUserAction.record("Settings.SafetyCheck.ManageSafeBrowsing");
- RecordHistogram.recordEnumeratedHistogram(SAFETY_CHECK_INTERACTIONS,
- SafetyCheckInteractions.SAFE_BROWSING_MANAGE,
- SafetyCheckInteractions.MAX_VALUE);
- SafetyCheckInteractions.MAX_VALUE + 1);
- String safeBrowsingSettingsClassName;
- if (ChromeFeatureList.isEnabled(
- ChromeFeatureList.SAFE_BROWSING_SECURITY_SECTION_UI)) {
@ -2058,26 +2022,18 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
diff --git a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
--- a/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
+++ b/chrome/browser/subresource_filter/chrome_subresource_filter_client.cc
@@ -69,6 +69,7 @@ void ChromeSubresourceFilterClient::DidStartNavigation(
void ChromeSubresourceFilterClient::MaybeAppendNavigationThrottles(
content::NavigationHandle* navigation_handle,
std::vector<std::unique_ptr<content::NavigationThrottle>>* throttles) {
+#if defined(FULL_SAFE_BROWSING)
safe_browsing::SafeBrowsingService* safe_browsing_service =
g_browser_process->safe_browsing_service();
if (navigation_handle->IsInMainFrame() && safe_browsing_service) {
@@ -78,6 +79,7 @@ void ChromeSubresourceFilterClient::MaybeAppendNavigationThrottles(
navigation_handle, this, content::GetIOThreadTaskRunner({}),
safe_browsing_service->database_manager()));
@@ -97,6 +97,7 @@ ChromeSubresourceFilterClient::OnPageActivationComputed(
subresource_filter::mojom::ActivationLevel::kEnabled;
*decision = subresource_filter::ActivationDecision::FORCED_ACTIVATION;
}
+#endif
throttle_manager_->MaybeAppendNavigationThrottles(navigation_handle,
throttles);
const GURL& url(navigation_handle->GetURL());
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -3383,7 +3383,6 @@ static_library("ui") {
@@ -3451,7 +3451,6 @@ static_library("ui") {
"views/device_chooser_content_view.h",
"views/devtools_process_observer.cc",
"views/devtools_process_observer.h",
@ -2088,7 +2044,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
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
@@ -327,12 +327,6 @@ CHAR-LIMIT guidelines:
@@ -339,12 +339,6 @@ CHAR-LIMIT guidelines:
<message name="IDS_PRELOAD_PAGES_SUMMARY" desc="Summary for a checkbox in Settings that controls pages preloading and informs the user about the data shared by this feature.">
Uses cookies to remember your preferences, even if you don't visit those pages
</message>
@ -2101,9 +2057,9 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_URL_KEYED_ANONYMIZED_DATA_TITLE" desc="Title for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
Make searches and browsing better
</message>
@@ -342,12 +336,6 @@ CHAR-LIMIT guidelines:
<message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK" desc="The text for Privacy preferences that is shown after all preference rows.">
For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Sync and Google services<ph name="END_LINK">&lt;/link&gt;</ph>
@@ -360,12 +354,6 @@ CHAR-LIMIT guidelines:
<message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_OFF" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync hasn't been turned on.">
For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google services<ph name="END_LINK">&lt;/link&gt;</ph>
</message>
- <message name="IDS_USAGE_AND_CRASH_REPORTS_TITLE" desc="Title for a preference that enables sending usage statistics and crash reports.">
- Help improve Chrome's features and performance
@ -2114,7 +2070,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>
@@ -689,12 +677,6 @@ CHAR-LIMIT guidelines:
@@ -714,12 +702,6 @@ CHAR-LIMIT guidelines:
<message name="IDS_PREFS_PRIVACY_SECURITY" desc="Title for the Privacy and Security preferences. [CHAR-LIMIT=32]">
Privacy and security
</message>
@ -2127,7 +2083,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_SAFE_BROWSING_TITLE" desc="Title for safe browsing.">
Safe Browsing (protects you and your device from dangerous sites)
</message>
@@ -3800,9 +3782,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3889,9 +3871,6 @@ Data from your Incognito session will only be cleared from Chrome when you <ph n
<message name="IDS_USAGE_STATS_CONSENT_PROMPT" desc="Consent prompt when authorizing Digital Wellbeing to access Chrome usage data">
You can see sites you visit in Chrome and set timers for them.\n\nGoogle gets info about the sites you set timers for and how long you visit them. This info is used to make Digital Wellbeing better.
</message>
@ -2140,42 +2096,28 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -58,8 +58,6 @@
@@ -58,9 +58,6 @@
#include "chrome/browser/profiles/profile_key.h"
#include "chrome/browser/reputation/reputation_web_contents_observer.h"
#include "chrome/browser/resource_coordinator/tab_helper.h"
-#include "chrome/browser/safe_browsing/safe_browsing_navigation_observer.h"
-#include "chrome/browser/safe_browsing/safe_browsing_tab_observer.h"
-#include "chrome/browser/safe_browsing/trigger_creator.h"
#include "chrome/browser/sessions/session_tab_helper_factory.h"
#include "chrome/browser/ssl/chrome_security_blocking_page_factory.h"
#include "chrome/browser/ssl/connection_help_tab_helper.h"
@@ -126,7 +124,6 @@
#include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h"
#else
#include "chrome/browser/banners/app_banner_manager_desktop.h"
-#include "chrome/browser/safe_browsing/safe_browsing_tab_observer.h"
#include "chrome/browser/tab_contents/form_interaction_tab_helper.h"
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
#include "chrome/browser/ui/intent_picker_tab_helper.h"
@@ -307,10 +304,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -308,11 +305,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
web_contents);
ResourceLoadingHintsWebContentsObserver::CreateForWebContents(web_contents);
- safe_browsing::SafeBrowsingNavigationObserver::MaybeCreateForWebContents(
- web_contents);
- safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
- safe_browsing::TriggerCreator::MaybeCreateTriggersForWebContents(
- profile, web_contents);
ReputationWebContentsObserver::CreateForWebContents(web_contents);
SearchEngineTabHelper::CreateForWebContents(web_contents);
SecurityStateTabHelper::CreateForWebContents(web_contents);
@@ -374,7 +367,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
pdf::PDFWebContentsHelper::CreateForWebContentsWithClient(
web_contents, std::make_unique<ChromePDFWebContentsHelperClient>());
SadTabHelper::CreateForWebContents(web_contents);
- safe_browsing::SafeBrowsingTabObserver::CreateForWebContents(web_contents);
SearchTabHelper::CreateForWebContents(web_contents);
if (base::FeatureList::IsEnabled(
switches::kSyncSupportTrustedVaultPassphrase)) {
diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
--- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
@ -2231,7 +2173,7 @@ diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/b
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
--- a/chrome/common/safe_browsing/BUILD.gn
+++ b/chrome/common/safe_browsing/BUILD.gn
@@ -21,7 +21,6 @@ if (safe_browsing_mode == 1) {
@@ -28,7 +28,6 @@ if (safe_browsing_mode == 1) {
":download_type_util",
"//base",
"//base:i18n",
@ -2239,7 +2181,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
"//crypto",
]
if (is_mac) {
@@ -38,7 +37,6 @@ if (safe_browsing_mode == 1) {
@@ -45,7 +44,6 @@ if (safe_browsing_mode == 1) {
deps = [
"//base",
"//components/safe_browsing/core:features",
@ -2247,7 +2189,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
]
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
}
@@ -55,7 +53,6 @@ if (safe_browsing_mode == 1) {
@@ -62,7 +60,6 @@ if (safe_browsing_mode == 1) {
"//base",
"//base:i18n",
"//components/safe_browsing/core:features",
@ -2255,7 +2197,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
"//third_party/unrar:unrar",
]
@@ -121,7 +118,7 @@ if (safe_browsing_mode == 1) {
@@ -128,7 +125,7 @@ if (safe_browsing_mode == 1) {
}
source_set("safe_browsing") {
@ -2280,7 +2222,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -66,6 +66,26 @@ constexpr char kAbusiveNotificationContentWarningMessage[] =
@@ -67,6 +67,26 @@ constexpr char kAbusiveNotificationContentWarningMessage[] =
namespace {
@ -2307,7 +2249,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
bool IsMessageTextEqual(PermissionRequest* a, PermissionRequest* b) {
if (a == b)
return true;
@@ -395,10 +415,10 @@ PermissionRequestManager::PermissionRequestManager(
@@ -414,10 +434,10 @@ PermissionRequestManager::PermissionRequestManager(
view_(nullptr),
tab_is_hidden_(web_contents->GetVisibility() ==
content::Visibility::HIDDEN),
@ -2325,7 +2267,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/safe_browsing/core/features.cc b/components/safe_browsing/core/features.cc
--- a/components/safe_browsing/core/features.cc
+++ b/components/safe_browsing/core/features.cc
@@ -139,7 +139,7 @@ const base::Feature kSafeBrowsingSecuritySectionUIAndroid{
@@ -142,7 +142,7 @@ const base::Feature kSafeBrowsingSecuritySectionUIAndroid{
"SafeBrowsingSecuritySectionUIAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSuspiciousSiteTriggerQuotaFeature{
@ -2337,19 +2279,22 @@ diff --git a/components/safe_browsing/core/features.cc b/components/safe_browsin
diff --git a/components/security_interstitials/content/captive_portal_blocking_page.cc b/components/security_interstitials/content/captive_portal_blocking_page.cc
--- a/components/security_interstitials/content/captive_portal_blocking_page.cc
+++ b/components/security_interstitials/content/captive_portal_blocking_page.cc
@@ -188,10 +188,7 @@ void CaptivePortalBlockingPage::PopulateInterstitialStrings(
@@ -191,14 +191,9 @@ void CaptivePortalBlockingPage::PopulateInterstitialStrings(
load_time_data->SetString("recurrentErrorParagraph", "");
load_time_data->SetBoolean("show_recurrent_error_paragraph", false);
- if (cert_report_helper())
- if (cert_report_helper()) {
- cert_report_helper()->PopulateExtendedReportingOption(load_time_data);
- else
- load_time_data->SetBoolean(security_interstitials::kDisplayCheckBox, false);
+ load_time_data->SetBoolean(security_interstitials::kDisplayCheckBox, false);
- cert_report_helper()->PopulateEnhancedProtectionMessage(load_time_data);
- } else {
load_time_data->SetBoolean(security_interstitials::kDisplayCheckBox, false);
load_time_data->SetBoolean(
security_interstitials::kDisplayEnhancedProtectionMessage, false);
- }
}
void CaptivePortalBlockingPage::CommandReceived(const std::string& command) {
@@ -206,8 +203,6 @@ void CaptivePortalBlockingPage::CommandReceived(const std::string& command) {
@@ -213,8 +208,6 @@ void CaptivePortalBlockingPage::CommandReceived(const std::string& command) {
security_interstitials::SecurityInterstitialCommand cmd =
static_cast<security_interstitials::SecurityInterstitialCommand>(
command_num);
@ -2361,7 +2306,7 @@ diff --git a/components/security_interstitials/content/captive_portal_blocking_p
diff --git a/components/security_interstitials/content/cert_report_helper.cc b/components/security_interstitials/content/cert_report_helper.cc
--- a/components/security_interstitials/content/cert_report_helper.cc
+++ b/components/security_interstitials/content/cert_report_helper.cc
@@ -153,8 +153,6 @@ void CertReportHelper::FinishCertCollection() {
@@ -174,8 +174,6 @@ void CertReportHelper::FinishCertCollection() {
LOG(ERROR) << "Failed to serialize certificate report.";
return;
}
@ -2382,10 +2327,10 @@ diff --git a/components/unified_consent/unified_consent_service.cc b/components/
}
void UnifiedConsentService::Shutdown() {
diff --git a/content/browser/native_file_system/native_file_system_file_writer_impl.cc b/content/browser/native_file_system/native_file_system_file_writer_impl.cc
--- a/content/browser/native_file_system/native_file_system_file_writer_impl.cc
+++ b/content/browser/native_file_system/native_file_system_file_writer_impl.cc
@@ -144,8 +144,7 @@ NativeFileSystemFileWriterImpl::NativeFileSystemFileWriterImpl(
diff --git a/content/browser/file_system_access/native_file_system_file_writer_impl.cc b/content/browser/file_system_access/native_file_system_file_writer_impl.cc
--- a/content/browser/file_system_access/native_file_system_file_writer_impl.cc
+++ b/content/browser/file_system_access/native_file_system_file_writer_impl.cc
@@ -145,8 +145,7 @@ NativeFileSystemFileWriterImpl::NativeFileSystemFileWriterImpl(
: NativeFileSystemHandleBase(manager, context, url, handle_state),
swap_url_(swap_url),
quarantine_connection_callback_(
@ -2395,7 +2340,7 @@ diff --git a/content/browser/native_file_system/native_file_system_file_writer_i
DCHECK_EQ(swap_url.type(), url.type());
}
@@ -460,52 +459,7 @@ void NativeFileSystemFileWriterImpl::CloseImpl(CloseCallback callback) {
@@ -461,52 +460,7 @@ void NativeFileSystemFileWriterImpl::CloseImpl(CloseCallback callback) {
// If the after write check fails, the callback for that will clean up the
// swap file even if the writer was destroyed at that point.
state_ = State::kClosePending;
@ -2449,9 +2394,9 @@ diff --git a/content/browser/native_file_system/native_file_system_file_writer_i
}
// static
diff --git a/content/browser/native_file_system/native_file_system_file_writer_impl.h b/content/browser/native_file_system/native_file_system_file_writer_impl.h
--- a/content/browser/native_file_system/native_file_system_file_writer_impl.h
+++ b/content/browser/native_file_system/native_file_system_file_writer_impl.h
diff --git a/content/browser/file_system_access/native_file_system_file_writer_impl.h b/content/browser/file_system_access/native_file_system_file_writer_impl.h
--- a/content/browser/file_system_access/native_file_system_file_writer_impl.h
+++ b/content/browser/file_system_access/native_file_system_file_writer_impl.h
@@ -83,14 +83,6 @@ class CONTENT_EXPORT NativeFileSystemFileWriterImpl
void CloseImpl(CloseCallback callback);
// The following two methods are static, because they need to be invoked to

View file

@ -3,10 +3,28 @@ Date: Sat, 22 Aug 2020 12:46:20 +0200
Subject: Disable scroll-to-text-fragment
---
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
chrome/browser/chrome_content_browser_client.cc | 4 ++--
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/browser/renderer_host/render_process_host_impl.cc | 2 +-
content/child/runtime_features.cc | 4 ++--
content/public/common/content_switches.cc | 4 ++--
content/public/common/content_switches.h | 2 +-
6 files changed, 9 insertions(+), 9 deletions(-)
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
@@ -2278,8 +2278,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
}
if (prefs->HasPrefPath(prefs::kScrollToTextFragmentEnabled) &&
- !prefs->GetBoolean(prefs::kScrollToTextFragmentEnabled)) {
- command_line->AppendSwitch(switches::kDisableScrollToTextFragment);
+ prefs->GetBoolean(prefs::kScrollToTextFragmentEnabled)) {
+ command_line->AppendSwitch(switches::kEnableScrollToTextFragment);
}
if (prefs->HasPrefPath(prefs::kAppCacheForceEnabled) &&
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@ -19,18 +37,58 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
#if defined(OS_ANDROID)
registry->RegisterDoublePref(prefs::kWebKitFontScaleFactor, 1.0);
registry->RegisterBooleanPref(prefs::kWebKitForceEnableZoom,
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
@@ -3342,7 +3342,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisablePermissionsAPI,
switches::kDisablePresentationAPI,
switches::kDisableRTCSmoothnessAlgorithm,
- switches::kDisableScrollToTextFragment,
+ switches::kEnableScrollToTextFragment,
switches::kDisableSharedWorkers,
switches::kDisableSkiaRuntimeOpts,
switches::kDisableSpeechAPI,
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -491,7 +491,7 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
@@ -442,8 +442,8 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
{wrf::EnablePermissionsAPI, switches::kDisablePermissionsAPI, false},
{wrf::EnableWebGPU, switches::kEnableUnsafeWebGPU, true},
{wrf::EnablePresentationAPI, switches::kDisablePresentationAPI, false},
{wrf::EnableTextFragmentAnchor, switches::kDisableScrollToTextFragment,
- {wrf::EnableTextFragmentAnchor, switches::kDisableScrollToTextFragment,
- false},
+ {wrf::EnableTextFragmentAnchor, switches::kEnableScrollToTextFragment,
+ true},
{wrf::EnableRemotePlaybackAPI, switches::kDisableRemotePlaybackAPI,
false},
{wrf::EnableTimerThrottlingForBackgroundTabs,
diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc
--- a/content/public/common/content_switches.cc
+++ b/content/public/common/content_switches.cc
@@ -884,8 +884,8 @@ const char kWebRtcStunProbeTrialParameter[] = "webrtc-stun-probe-trial";
// without restarting the browser and relaunching without this flag.
const char kWebRtcLocalEventLogging[] = "webrtc-event-logging";
-// This switch disables the ScrollToTextFragment feature.
-const char kDisableScrollToTextFragment[] = "disable-scroll-to-text-fragment";
+// This switch enables the ScrollToTextFragment feature.
+const char kEnableScrollToTextFragment[] = "enable-scroll-to-text-fragment";
// Forcibly enable and select the specified runtime for webxr.
// Note that this provides an alternative means of enabling a runtime, and will
diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h
--- a/content/public/common/content_switches.h
+++ b/content/public/common/content_switches.h
@@ -240,7 +240,7 @@ extern const char kWebRtcMaxCaptureFramerate[];
extern const char kWebRtcMaxCpuConsumptionPercentage[];
CONTENT_EXPORT extern const char kWebRtcStunProbeTrialParameter[];
CONTENT_EXPORT extern const char kWebRtcLocalEventLogging[];
-CONTENT_EXPORT extern const char kDisableScrollToTextFragment[];
+CONTENT_EXPORT extern const char kEnableScrollToTextFragment[];
CONTENT_EXPORT extern const char kWebXrForceRuntime[];
CONTENT_EXPORT extern const char kWebXrRuntimeNone[];
--
2.17.1

View file

@ -15,15 +15,15 @@ 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
@@ -397,7 +397,7 @@ const base::Feature kChromeSharingHubV15{"ChromeSharingHubV15",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -440,7 +440,7 @@ const base::Feature kDownloadProgressInfoBar{"DownloadProgressInfoBar",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
const base::Feature kDownloadFileProvider{"DownloadFileProvider",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadNotificationBadge{
"DownloadNotificationBadge", base::FEATURE_ENABLED_BY_DEFAULT};
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

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
@@ -609,7 +609,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
@@ -626,7 +626,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
@@ -619,7 +619,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -636,7 +636,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

@ -23,7 +23,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
--- a/chrome/common/safe_browsing/BUILD.gn
+++ b/chrome/common/safe_browsing/BUILD.gn
@@ -41,38 +41,6 @@ if (safe_browsing_mode == 1) {
@@ -48,38 +48,6 @@ if (safe_browsing_mode == 1) {
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
}
@ -62,7 +62,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
source_set("disk_image_type_sniffer_mac") {
sources = [
"disk_image_type_sniffer_mac.cc",
@@ -135,7 +103,6 @@ source_set("safe_browsing") {
@@ -142,7 +110,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",

View file

@ -44,7 +44,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
android:order="5"/>
- <org.chromium.components.browser_ui.settings.TextMessagePreference
- android:key="sync_and_services_link"
- android:summary="@string/privacy_sync_and_services_link"
- android:summary="@string/privacy_sync_and_services_link_legacy"
- app:allowDividerBelow="false"
- android:order="7"/>
</PreferenceScreen>

View file

@ -4,21 +4,21 @@ Subject: Disable third-party cookies by default
author: Chad Miller <chad.miller@canonical.com>
---
components/content_settings/core/browser/cookie_settings.cc | 2 +-
chrome/browser/prefs/browser_prefs.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -65,7 +65,7 @@ void CookieSettings::GetCookieSettings(
void CookieSettings::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
- prefs::kBlockThirdPartyCookies, false,
+ prefs::kBlockThirdPartyCookies, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterIntegerPref(
prefs::kCookieControlsMode,
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -535,7 +535,7 @@ void RegisterProfilePrefsForMigration(
registry->RegisterDictionaryPref(kObservedSessionTime);
- registry->RegisterBooleanPref(kBlockThirdPartyCookies, false);
+ registry->RegisterBooleanPref(kBlockThirdPartyCookies, true);
registry->RegisterTimePref(kPluginsDeprecationInfobarLastShown, base::Time());
--
2.17.1

View file

@ -3,49 +3,22 @@ Date: Thu, 27 Feb 2020 23:23:59 +0100
Subject: Do not compile QR code sharing
---
chrome/android/java/AndroidManifest.xml | 16 ---------------
.../ChromeProvidedSharingOptionsProvider.java | 20 -------------------
chrome/browser/share/android/java_sources.gni | 18 -----------------
3 files changed, 54 deletions(-)
.../ChromeProvidedSharingOptionsProvider.java | 17 -----------------
chrome/browser/share/android/java_sources.gni | 18 ------------------
2 files changed, 35 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
@@ -740,22 +740,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
- <activity
- android:name="org.chromium.chrome.browser.share.qrcode.QrCodeShareActivity"
- android:icon="@drawable/ic_launcher"
- android:label="@string/qr_code_share_icon_label"
- android:enabled="false"
- android:excludeFromRecents="true"
- android:exported="true"
- android:noHistory="true"
- android:theme="@android:style/Theme.NoDisplay"
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
- <intent-filter>
- <action android:name="android.intent.action.SEND" />
- <category android:name="android.intent.category.DEFAULT" />
- <data android:mimeType="text/plain" />
- </intent-filter>
- </activity>
<activity
android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
+++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ChromeProvidedSharingOptionsProvider.java
@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity;
@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.share.ChromeShareExtras;
import org.chromium.chrome.browser.share.link_to_text.LinkToTextCoordinator;
-import org.chromium.chrome.browser.share.qrcode.QrCodeCoordinator;
import org.chromium.chrome.browser.share.screenshot.ScreenshotCoordinator;
import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator;
import org.chromium.chrome.browser.share.share_sheet.ShareSheetPropertyModelBuilder.ContentType;
import org.chromium.chrome.browser.tab.Tab;
@@ -151,10 +150,6 @@ class ChromeProvidedSharingOptionsProvider {
@@ -222,10 +221,6 @@ class ChromeProvidedSharingOptionsProvider {
&& ChromeFeatureList.isEnabled(ChromeFeatureList.CHROME_SHARE_HIGHLIGHTS_ANDROID)) {
mOrderedFirstPartyOptions.add(createHighlightsFirstPartyOption());
}
@ -56,35 +29,32 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
if (UserPrefs.get(Profile.getLastUsedRegularProfile()).getBoolean(Pref.PRINTING_ENABLED)) {
mOrderedFirstPartyOptions.add(createPrintingFirstPartyOption());
}
@@ -265,21 +260,6 @@ class ChromeProvidedSharingOptionsProvider {
ContentType.IMAGE));
@@ -344,18 +339,6 @@ class ChromeProvidedSharingOptionsProvider {
.build();
}
- private FirstPartyOption createQrCodeFirstPartyOption() {
- PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
- AppCompatResources.getDrawable(mActivity, R.drawable.qr_code),
- mActivity.getResources().getString(R.string.qr_code_share_icon_label), (view) -> {
- RecordUserAction.record("SharingHubAndroid.QRCodeSelected");
- recordTimeToShare(mShareStartTime);
- mBottomSheetController.hideContent(mBottomSheetContent, true);
- return new FirstPartyOptionBuilder(
- ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE, ContentType.IMAGE)
- .setIcon(R.drawable.qr_code, R.string.qr_code_share_icon_label)
- .setFeatureNameForMetrics("SharingHubAndroid.QRCodeSelected")
- .setOnClickCallback((view) -> {
- QrCodeCoordinator qrCodeCoordinator = new QrCodeCoordinator(mActivity, mUrl);
- qrCodeCoordinator.show();
- });
- return new FirstPartyOption(propertyModel,
- Arrays.asList(ContentType.LINK_PAGE_VISIBLE, ContentType.LINK_PAGE_NOT_VISIBLE,
- ContentType.IMAGE));
- })
- .build();
- }
-
private FirstPartyOption createPrintingFirstPartyOption() {
PropertyModel propertyModel = ShareSheetPropertyModelBuilder.createPropertyModel(
AppCompatResources.getDrawable(mActivity, R.drawable.sharing_print),
return new FirstPartyOptionBuilder(ContentType.LINK_PAGE_VISIBLE)
.setIcon(R.drawable.sharing_print, R.string.print_share_activity_title)
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
@@ -8,24 +8,6 @@ share_java_sources = [
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/BitmapDownloadRequest.java",
@@ -9,24 +9,6 @@ share_java_sources = [
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/clipboard/ClipboardImageFileProvider.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextCoordinator.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextMetricsBridge.java",
- "//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/qrcode/QRCodeGenerationRequest.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",

View file

@ -15,7 +15,7 @@ Do not tick "Don't show again" by default
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -63,10 +63,6 @@ public class DownloadLocationCustomView
@@ -73,10 +73,6 @@ public class DownloadLocationCustomView
CharSequence title) {
mDialogType = dialogType;

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
@@ -207,10 +207,10 @@ FormData SimplifiedFormDataFromFormStructure(
@@ -205,10 +205,10 @@ FormData SimplifiedFormDataFromFormStructure(
void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(

View file

@ -0,0 +1,46 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 26 Sep 2020 14:23:19 +0100
Subject: DoH secure mode by default
---
.../browser/net/stub_resolver_config_reader.cc | 17 +----------------
1 file changed, 1 insertion(+), 16 deletions(-)
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
@@ -153,7 +153,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
if (entries.count("dns-over-https@1")) {
// The user has "Enabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
- SecureDnsConfig::kModeAutomatic);
+ SecureDnsConfig::kModeSecure);
} else if (entries.count("dns-over-https@2")) {
// The user has "Disabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@@ -327,22 +327,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
check_parental_controls = false;
}
- // Check parental controls last because it can be expensive and should only be
- // checked if necessary for the otherwise-determined mode.
if (check_parental_controls) {
- if (ShouldDisableDohForParentalControls()) {
- forced_management_mode =
- SecureDnsConfig::ManagementMode::kDisabledParentalControls;
- secure_dns_mode = net::SecureDnsMode::kOff;
- mode_details =
- SecureDnsModeDetailsForHistogram::kOffByDetectedParentalControls;
-
- // If parental controls had not previously been checked, need to update
- // network service.
- if (!parental_controls_checked_)
- update_network_service = true;
- }
-
parental_controls_checked_ = true;
}
--
2.17.1

View file

@ -1,81 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 26 Sep 2020 14:23:19 +0100
Subject: Enable DoH
---
.../browser/net/stub_resolver_config_reader.cc | 17 +----------------
.../privacy/secure_dns/SecureDnsBridge.java | 2 +-
chrome/common/chrome_features.cc | 4 ++--
3 files changed, 4 insertions(+), 19 deletions(-)
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
@@ -153,7 +153,7 @@ StubResolverConfigReader::StubResolverConfigReader(PrefService* local_state,
if (entries.count("dns-over-https@1")) {
// The user has "Enabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
- SecureDnsConfig::kModeAutomatic);
+ SecureDnsConfig::kModeSecure);
} else if (entries.count("dns-over-https@2")) {
// The user has "Disabled" selected.
local_state_->SetString(prefs::kDnsOverHttpsMode,
@@ -327,22 +327,7 @@ SecureDnsConfig StubResolverConfigReader::GetAndUpdateConfiguration(
check_parental_controls = false;
}
- // Check parental controls last because it can be expensive and should only be
- // checked if necessary for the otherwise-determined mode.
if (check_parental_controls) {
- if (ShouldDisableDohForParentalControls()) {
- forced_management_mode =
- SecureDnsConfig::ManagementMode::kDisabledParentalControls;
- secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
- mode_details =
- SecureDnsModeDetailsForHistogram::kOffByDetectedParentalControls;
-
- // If parental controls had not previously been checked, need to update
- // network service.
- if (!parental_controls_checked_)
- update_network_service = true;
- }
-
parental_controls_checked_ = true;
}
diff --git a/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java b/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java
--- a/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java
+++ b/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java
@@ -46,7 +46,7 @@ class SecureDnsBridge {
// Must match features::kDnsOverHttpsShowUiParam.
final String showUiParam = "ShowUi";
// Must match the default value for this param.
- final boolean showUiParamDefault = false;
+ final boolean showUiParamDefault = true;
return ChromeFeatureList.getFieldTrialParamByFeatureAsBoolean(
ChromeFeatureList.DNS_OVER_HTTPS, showUiParam, showUiParamDefault);
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
@@ -263,7 +263,7 @@ const base::Feature kDesktopPWAsWithoutExtensions{
// Enable DNS over HTTPS (DoH).
const base::Feature kDnsOverHttps{"DnsOverHttps",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Provides a mechanism to remove providers from the dropdown list in the
// settings UI. Separate multiple provider ids with commas. See the
@@ -278,7 +278,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps,
// Sets whether the DoH setting is displayed in the settings UI.
const base::FeatureParam<bool> kDnsOverHttpsShowUiParam{&kDnsOverHttps,
- "ShowUi", false};
+ "ShowUi", true};
// Supply one or more space-separated DoH server URI templates to use when this
// feature is enabled. If no templates are specified, then a hardcoded mapping
--
2.17.1

View file

@ -10,7 +10,7 @@ Subject: Enable SPPI 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
@@ -690,11 +690,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
@@ -724,11 +724,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"site-per-process",

View file

@ -11,7 +11,7 @@ Unexpire #darken-websites-checkbox-in-themes-setting
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
@@ -898,7 +898,7 @@
@@ -908,7 +908,7 @@
{
"name": "disable-keepalive-fetch",
"owners": [ "yhirano" ],
@ -23,7 +23,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -456,7 +456,7 @@ const base::Feature kContextualSearchTranslations{
@@ -428,7 +428,7 @@ const base::Feature kContextualSearchTranslations{
"ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{

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

View file

@ -15,7 +15,7 @@ Expose show-legacy-tls-warnings flag on Android as well
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
@@ -5798,11 +5798,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6020,11 +6020,9 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kElasticOverscrollWin)},
#endif
@ -74,8 +74,8 @@ diff --git a/components/security_state/core/features.cc b/components/security_st
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -153,7 +153,7 @@ const base::Feature kTurnOffStreamingMediaCaching{
"TurnOffStreamingMediaCaching", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -152,7 +152,7 @@ const base::Feature kTurnOffStreamingMediaCachingAlways{
"TurnOffStreamingMediaCachingAlways", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kLegacyTLSEnforced{"LegacyTLSEnforced",
- base::FEATURE_DISABLED_BY_DEFAULT};

View file

@ -9,7 +9,7 @@ Subject: Enable prefetch-privacy-changes 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
@@ -303,7 +303,7 @@ const base::Feature kWebComponentsV0{"WebComponentsV0",
@@ -308,7 +308,7 @@ const base::Feature kWebComponentsV0{"WebComponentsV0",
// Prefetch request properties are updated to be privacy-preserving. See
// crbug.com/988956.
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",

View file

@ -9,7 +9,7 @@ Subject: Enable reduced-referrer-granularity 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
@@ -698,7 +698,7 @@ const base::Feature kCompositingOptimizations{
@@ -735,7 +735,7 @@ const base::Feature kCompositingOptimizations{
// Reduce the amount of information in the default 'referer' header for
// cross-origin requests.
const base::Feature kReducedReferrerGranularity{

View file

@ -16,8 +16,8 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kMeasureMemoryExperiment{"MeasureMemoryExperiment",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables support for FTP URLs. When disabled FTP URLs will behave the same as
// any other URL scheme that's unknown to the UA. See https://crbug.com/333943
--
2.17.1

View file

@ -1,25 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 20 Jan 2018 19:44:43 +0100
Subject: Fix crash when accessing page info / site settings
---
components/permissions/permission_manager.cc | 4 ++++
1 file changed, 4 insertions(+)
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
@@ -676,6 +676,10 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
if (status != CONTENT_SETTING_DEFAULT)
return PermissionResult(status, PermissionStatusSource::UNSPECIFIED);
PermissionContextBase* context = GetPermissionContext(permission);
+ if (context == nullptr) {
+ return PermissionResult(CONTENT_SETTING_BLOCK, PermissionStatusSource::UNSPECIFIED);
+ }
+
PermissionResult result = context->GetPermissionStatus(
render_frame_host, canonical_requesting_origin.GetOrigin(),
embedding_origin.GetOrigin());
--
2.17.1

View file

@ -1,6 +1,6 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 26 Oct 2020 16:50:15 +0000
Subject: Add flag to always view the desktop site for all websites
Subject: Flag for always desktop mode
---
chrome/android/chrome_java_resources.gni | 1 +
@ -26,7 +26,7 @@ Subject: Add flag to always view the desktop site for all websites
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
@@ -1130,4 +1130,5 @@ chrome_java_resources = [
@@ -1068,4 +1068,5 @@ chrome_java_resources = [
"java/res/xml/sync_and_services_preferences.xml",
"java/res/xml/theme_preferences.xml",
"java/res/xml/tracing_preferences.xml",
@ -35,18 +35,18 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
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
@@ -1309,6 +1309,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceHost.java",
"java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java",
"java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
@@ -1322,6 +1322,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManager.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
+ "java/src/org/chromium/chrome/browser/settings/UserAgentPreferences.java",
"java/src/org/chromium/chrome/browser/photo_picker/FileEnumWorkerTask.java",
"java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerDialog.java",
"java/src/org/chromium/chrome/browser/photo_picker/PhotoPickerToolbar.java",
"java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderSuggestionsCursor.java",
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -104,6 +104,11 @@
@@ -105,6 +105,11 @@
android:key="content_settings"
android:order="20"
android:title="@string/prefs_site_settings"/>
@ -96,7 +96,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -202,6 +202,9 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -208,6 +208,9 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.widget.Toast;
import org.chromium.url.Origin;
import org.chromium.webapk.lib.client.WebApkNavigationClient;
@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import java.util.ArrayList;
import java.util.List;
@@ -1987,11 +1990,19 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2036,11 +2039,19 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
} else if (id == R.id.view_source_id) {
currentTab.getWebContents().getNavigationController().loadUrl(new LoadUrlParams("view-source:"+currentTab.getUrlString()));
} else if (id == R.id.request_desktop_site_id || id == R.id.request_desktop_site_check_id) {
@ -197,7 +197,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -57,6 +57,12 @@ import org.chromium.ui.base.WindowAndroid;
@@ -56,6 +56,12 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.util.ColorUtils;
import org.chromium.url.GURL;
import org.chromium.url.Origin;
@ -210,7 +210,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
@@ -446,6 +452,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -448,6 +454,31 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
throw new RuntimeException("Tab.loadUrl called when no native side exists");
}
@ -242,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
// We load the URL from the tab rather than directly from the ContentView so the tab has
// a chance of using a prerenderer page is any.
int loadType = TabImplJni.get().loadUrl(mNativeTabAndroid, TabImpl.this,
@@ -458,7 +489,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -460,7 +491,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
params.getReferrer() != null ? params.getReferrer().getPolicy() : 0,
params.getIsRendererInitiated(), params.getShouldReplaceCurrentEntry(),
params.getHasUserGesture(), params.getShouldClearHistoryList(),
@ -252,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
for (TabObserver observer : mObservers) {
observer.onLoadUrl(this, params, loadType);
@@ -1380,6 +1412,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1402,6 +1434,10 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
if (mWebContents != null) mWebContents.getNavigationController().loadIfNecessary();
mIsBeingRestored = true;
for (TabObserver observer : mObservers) observer.onRestoreStarted(this);
@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
} finally {
TraceEvent.end("Tab.restoreIfNeeded");
}
@@ -1497,6 +1533,40 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1519,6 +1555,40 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
}
}
@ -303,8 +303,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
+
@NativeMethods
interface Natives {
void init(TabImpl caller);
@@ -1517,7 +1587,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
TabImpl fromWebContents(WebContents webContents);
@@ -1540,7 +1610,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
String referrerUrl, int referrerPolicy, boolean isRendererInitiated,
boolean shoulReplaceCurrentEntry, boolean hasUserGesture,
boolean shouldClearHistoryList, long inputStartTimestamp,
@ -317,8 +317,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
@@ -248,4 +248,24 @@ public class TabWindowManager implements ActivityStateListener {
AsyncTabParamsManager.getInstance(), true, true, false);
@@ -268,4 +268,24 @@ public class TabWindowManager implements ActivityStateListener {
false);
}
}
+
@ -345,7 +345,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabWin
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -363,7 +363,8 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
@@ -366,7 +366,8 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
jboolean has_user_gesture,
jboolean should_clear_history_list,
jlong input_start_timestamp,
@ -355,7 +355,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
if (!web_contents())
return PAGE_LOAD_FAILED;
@@ -420,6 +421,8 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
@@ -423,6 +424,8 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
load_params.input_start =
base::TimeTicks::FromUptimeMillis(intent_received_timestamp);
}
@ -367,7 +367,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_android.h
--- a/chrome/browser/android/tab_android.h
+++ b/chrome/browser/android/tab_android.h
@@ -148,7 +148,8 @@ class TabAndroid {
@@ -157,7 +157,8 @@ class TabAndroid : public base::SupportsUserData {
jboolean has_user_gesture,
jboolean should_clear_history_list,
jlong omnibox_input_received_timestamp,
@ -380,7 +380,7 @@ diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_a
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -778,6 +778,9 @@ public final class ChromePreferenceKeys {
@@ -777,6 +777,9 @@ public final class ChromePreferenceKeys {
public static final KeyPrefix KEY_ZERO_SUGGEST_HEADER_GROUP_COLLAPSED_BY_DEFAULT_PREFIX =
new KeyPrefix("zero_suggest_header_group_collapsed_by_default*");
@ -390,10 +390,10 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* These values are currently used as SharedPreferences keys, along with the keys in
* {@link GrandfatheredChromePreferenceKeys#getKeysInUse()}. Add new SharedPreferences keys
@@ -820,7 +823,9 @@ public final class ChromePreferenceKeys {
PROMO_TIMES_SEEN.pattern(),
@@ -823,7 +826,9 @@ public final class ChromePreferenceKeys {
SETTINGS_SAFETY_CHECK_LAST_RUN_TIMESTAMP,
SETTINGS_SAFETY_CHECK_RUN_COUNTER,
SIGNIN_PROMO_IMPRESSIONS_COUNT_NTP,
- TWA_DISCLOSURE_SEEN_PACKAGES
+ TWA_DISCLOSURE_SEEN_PACKAGES,
+ USERAGENT_STICKY_DESKTOP_MODE,
@ -404,13 +404,15 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -265,4 +265,6 @@ public interface Tab extends TabLifecycle {
* @param isDirty Whether the Tab's state has changed.
@@ -266,6 +266,8 @@ public interface Tab extends TabLifecycle {
*/
void setIsTabStateDirty(boolean isTabStateDirty);
+
+ void SetOverrideUserAgent(boolean usingDesktopUserAgent);
}
+
/**
* If set to true, any future navigations in the tab automatically get
* PageTransition.FROM_API_2 applied.
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
@ -435,10 +437,10 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Notification channels -->
<message name="IDS_NOTIFICATION_CATEGORY_GROUP_GENERAL" desc='Subheading for "General" section of a list of notification categories. [CHAR-LIMIT=32]'>
General
diff --git a/content/browser/frame_host/navigation_controller_android.cc b/content/browser/frame_host/navigation_controller_android.cc
--- a/content/browser/frame_host/navigation_controller_android.cc
+++ b/content/browser/frame_host/navigation_controller_android.cc
@@ -235,7 +235,8 @@ void NavigationControllerAndroid::LoadUrl(
diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
--- a/content/browser/renderer_host/navigation_controller_android.cc
+++ b/content/browser/renderer_host/navigation_controller_android.cc
@@ -237,7 +237,8 @@ void NavigationControllerAndroid::LoadUrl(
const JavaParamRef<jstring>& data_url_as_string,
jboolean can_load_local_resources,
jboolean is_renderer_initiated,
@ -448,7 +450,7 @@ diff --git a/content/browser/frame_host/navigation_controller_android.cc b/conte
DCHECK(url);
NavigationController::LoadURLParams params(
GURL(ConvertJavaStringToUTF8(env, url)));
@@ -289,6 +290,9 @@ void NavigationControllerAndroid::LoadUrl(
@@ -291,6 +292,9 @@ void NavigationControllerAndroid::LoadUrl(
Referrer::ConvertToPolicy(referrer_policy));
}
@ -458,9 +460,9 @@ diff --git a/content/browser/frame_host/navigation_controller_android.cc b/conte
navigation_controller_->LoadURLWithParams(params);
}
diff --git a/content/browser/frame_host/navigation_controller_android.h b/content/browser/frame_host/navigation_controller_android.h
--- a/content/browser/frame_host/navigation_controller_android.h
+++ b/content/browser/frame_host/navigation_controller_android.h
diff --git a/content/browser/renderer_host/navigation_controller_android.h b/content/browser/renderer_host/navigation_controller_android.h
--- a/content/browser/renderer_host/navigation_controller_android.h
+++ b/content/browser/renderer_host/navigation_controller_android.h
@@ -80,7 +80,8 @@ class CONTENT_EXPORT NavigationControllerAndroid {
const base::android::JavaParamRef<jstring>& data_url_as_string,
jboolean can_load_local_resources,

View file

@ -3,25 +3,15 @@ Date: Sat, 5 Sep 2020 21:38:15 +0200
Subject: Hardening against incognito mode detection
---
storage/browser/quota/quota_features.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
storage/browser/quota/quota_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/storage/browser/quota/quota_features.cc b/storage/browser/quota/quota_features.cc
--- a/storage/browser/quota/quota_features.cc
+++ b/storage/browser/quota/quota_features.cc
@@ -27,15 +27,15 @@ const base::Feature kQuotaUnlimitedPoolSize{"QuotaUnlimitedPoolSize",
// IncognitoDynamicQuota enables dynamic assignment of quota to incognito mode
// based on the physical memory size and removes the fixed upper cap for it.
const base::Feature kIncognitoDynamicQuota{"IncognitoDynamicQuota",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Dynamic quota for incognito mode would be set by a random fraction of
// physical memory, between |IncognitoQuotaRatioLowerBound| and
// |IncognitoQuotaRatioUpperBound|.
@@ -19,7 +19,7 @@ const base::Feature kIncognitoDynamicQuota{"IncognitoDynamicQuota",
constexpr base::FeatureParam<double> kIncognitoQuotaRatioLowerBound{
- &kIncognitoDynamicQuota, "IncognitoQuotaRatioLowerBound", 0.1};
+ &kIncognitoDynamicQuota, "IncognitoQuotaRatioLowerBound", 0.15};
&kIncognitoDynamicQuota, "IncognitoQuotaRatioLowerBound", 0.15};
constexpr base::FeatureParam<double> kIncognitoQuotaRatioUpperBound{
- &kIncognitoDynamicQuota, "IncognitoQuotaRatioUpperBound", 0.2};
+ &kIncognitoDynamicQuota, "IncognitoQuotaRatioUpperBound", 0.3};

View file

@ -9,7 +9,7 @@ Subject: Hide passwords manager link
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
@@ -316,7 +316,7 @@ public class PasswordSettings
@@ -315,7 +315,7 @@ public class PasswordSettings
return;
}
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
PreferenceGroup passwordParent;
if (mSearchQuery == null) {
@@ -392,7 +392,7 @@ public class PasswordSettings
@@ -391,7 +391,7 @@ public class PasswordSettings
return;
}

View file

@ -11,7 +11,7 @@ Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment
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
@@ -70,7 +70,8 @@ struct MatchGURLHash {
@@ -66,7 +66,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
#if (defined(OS_ANDROID))

View file

@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+#include "extensions/video_bg_play.h"
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_selector_generator.h"
@@ -338,6 +339,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,7 +50,7 @@ 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();
@@ -6874,6 +6877,61 @@ void Document::MarkFirstPaint() {
@@ -6932,6 +6935,61 @@ void Document::MarkFirstPaint() {
MaybeExecuteDelayedAsyncScripts();
}
@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
void Document::FinishedParsing() {
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
@@ -6929,6 +6987,10 @@ void Document::FinishedParsing() {
@@ -6984,6 +7042,10 @@ void Document::FinishedParsing() {
frame->Loader().FinishedParsing();
@ -126,7 +126,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
@@ -1670,6 +1670,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1694,6 +1694,9 @@ class CORE_EXPORT Document : public ContainerNode,
void AddAXContext(AXContext*);
void RemoveAXContext(AXContext*);

View file

@ -10,13 +10,12 @@ Subject: Modify default preferences
chrome/browser/profiles/profile.cc | 2 +-
.../settings/reset_page/reset_profile_dialog.html | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
.../ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
chrome/service/cloud_print/connector_settings.cc | 2 +-
components/autofill/core/browser/autofill_manager.cc | 9 +++------
components/autofill/core/common/autofill_prefs.cc | 2 +-
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
.../safe_browsing/core/common/safe_browsing_prefs.cc | 4 ++--
13 files changed, 17 insertions(+), 24 deletions(-)
12 files changed, 17 insertions(+), 20 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
@ -33,15 +32,15 @@ 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
@@ -1290,7 +1290,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1304,7 +1304,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
- registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true);
+ registry->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, false);
registry->RegisterListPref(prefs::kEnableDeprecatedWebPlatformFeatures);
// Register user prefs for mapping SitePerProcess and IsolateOrigins in
// user policy in addition to the same named ones in Local State (which are
// used for mapping the command-line flags).
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
--- a/chrome/browser/net/prediction_options.cc
+++ b/chrome/browser/net/prediction_options.cc
@ -69,7 +68,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
@@ -257,7 +257,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
@@ -266,7 +266,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@ -107,20 +106,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
--- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
+++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
@@ -147,10 +147,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kLocalDiscoveryEnabled, true);
registry->RegisterBooleanPref(
prefs::kLocalDiscoveryNotificationsEnabled,
-#if defined(OS_WIN)
false,
-#else
- true,
-#endif
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/cloud_print/connector_settings.cc
--- a/chrome/service/cloud_print/connector_settings.cc
+++ b/chrome/service/cloud_print/connector_settings.cc
@ -136,7 +121,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
@@ -955,10 +955,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
@@ -962,10 +962,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
// suggestions available.
// TODO(mathp): Differentiate between number of suggestions available
// (current metric) and number shown to the user.
@ -148,10 +133,10 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
}
}
@@ -1593,8 +1590,8 @@ void AutofillManager::Reset() {
#if defined(OS_ANDROID) || defined(OS_IOS)
autofill_assistant_.Reset();
#endif
@@ -1592,8 +1589,8 @@ void AutofillManager::Reset() {
credit_card_access_manager_.reset(new CreditCardAccessManager(
driver(), client_, personal_data_, credit_card_form_event_logger_.get()));
- has_logged_autofill_enabled_ = false;
- has_logged_address_suggestions_count_ = false;
+ has_logged_autofill_enabled_ = true;
@ -162,7 +147,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
@@ -150,7 +150,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -154,7 +154,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@ -192,7 +177,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
@@ -205,9 +205,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -210,9 +210,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(

View file

@ -38,7 +38,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/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
@@ -37,6 +37,13 @@ import org.chromium.ui.text.SpanApplier;
@@ -38,6 +38,13 @@ import org.chromium.ui.text.SpanApplier;
import org.chromium.base.Log;
@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -53,6 +60,18 @@ public class PrivacySettings
@@ -54,6 +61,18 @@ public class PrivacySettings
private static final String PREF_PROXY_OPTIONS = "proxy";
public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String[] NEW_PRIVACY_PREFERENCE_ORDER = {PREF_CLEAR_BROWSING_DATA,
PREF_CAN_MAKE_PAYMENT, PREF_NETWORK_PREDICTIONS,
PREF_SECURE_DNS, PREF_DO_NOT_TRACK,
@@ -60,7 +79,8 @@ public class PrivacySettings
@@ -61,7 +80,8 @@ public class PrivacySettings
PREF_INCOGNITO_TAB_HISTORY_ENABLED,
PREF_ALLOW_CUSTOM_TAB_INTENTS,
PREF_CLOSE_TABS_ON_EXIT,
@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -86,6 +106,29 @@ public class PrivacySettings
@@ -87,6 +107,29 @@ public class PrivacySettings
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@ -108,10 +108,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ mContextualSearch.setSummary(
+ isContextualSearchEnabled ? R.string.text_on : R.string.text_off);
+
ChromeBaseCheckBoxPreference canMakePaymentPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -118,6 +161,11 @@ public class PrivacySettings
@@ -119,6 +162,11 @@ public class PrivacySettings
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManager.getInstance().setNetworkPredictionEnabled((boolean) newValue);
} else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
@@ -132,6 +180,16 @@ public class PrivacySettings
@@ -133,6 +181,16 @@ public class PrivacySettings
return true;
}
@ -140,15 +140,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onResume() {
super.onResume();
@@ -142,7 +200,7 @@ public class PrivacySettings
@@ -143,7 +201,7 @@ public class PrivacySettings
* Updates the summaries for several preferences.
*/
public void updateSummaries() {
- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
CheckBoxPreference canMakePaymentPref =
(CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
--
2.17.1

View file

@ -1,7 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 30 Mar 2018 10:09:03 +0200
Subject: Multiple fingerprinting mitigations for canvas, text and client
rectangles
Subject: Multiple fingerprinting mitigations
1. getClientRects, getBoundingClientRect, measureText: add fingerprinting mitigation
@ -30,7 +29,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
content/browser/BUILD.gn | 1 +
.../renderer_host/render_process_host_impl.cc | 4 +
content/child/BUILD.gn | 1 +
content/child/runtime_features.cc | 8 +
content/child/runtime_features.cc | 9 +
.../public/platform/web_runtime_features.h | 3 +
.../blink/renderer/core/dom/document.cc | 18 ++
.../blink/renderer/core/dom/document.h | 7 +
@ -42,13 +41,13 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
third_party/blink/renderer/platform/BUILD.gn | 5 +-
.../platform/exported/web_runtime_features.cc | 12 ++
.../platform/graphics/image_data_buffer.cc | 7 +
.../platform/graphics/static_bitmap_image.cc | 159 ++++++++++++++++++
.../platform/graphics/static_bitmap_image.cc | 160 ++++++++++++++++++
.../platform/graphics/static_bitmap_image.h | 2 +
.../platform/runtime_enabled_features.json5 | 9 +
third_party/ungoogled/BUILD.gn | 10 ++
third_party/ungoogled/ungoogled_switches.cc | 18 ++
third_party/ungoogled/ungoogled_switches.h | 18 ++
23 files changed, 341 insertions(+), 3 deletions(-)
23 files changed, 343 insertions(+), 3 deletions(-)
create mode 100644 third_party/ungoogled/BUILD.gn
create mode 100644 third_party/ungoogled/ungoogled_switches.cc
create mode 100644 third_party/ungoogled/ungoogled_switches.h
@ -56,7 +55,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2132,6 +2132,7 @@ static_library("browser") {
@@ -2212,6 +2212,7 @@ static_library("browser") {
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/serial:switches",
"//services/device/public/cpp/usb",
@ -75,7 +74,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "storage/browser/quota/quota_features.h"
#include "third_party/blink/public/common/experiments/memory_ablation_experiment.h"
#include "third_party/blink/public/common/features.h"
@@ -2281,12 +2282,24 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2507,6 +2508,18 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
@ -83,12 +82,6 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ "Disable Canvas image data fingerprint deception",
+ "Slightly modifies at most 20 pixels in Canvas image data extracted via JS APIs",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasImageDataNoise)},
{"enable-webrtc-stun-origin", flag_descriptions::kWebrtcStunOriginName,
flag_descriptions::kWebrtcStunOriginDescription, kOsAll,
SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)},
{"enable-webrtc-hybrid-agc", flag_descriptions::kWebrtcHybridAgcName,
flag_descriptions::kWebrtcHybridAgcDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebRtcHybridAgc)},
+ {"fingerprinting-client-rects-noise",
+ "Disable get*ClientRects() fingerprint deception",
+ "Scale the output values of Range::getClientRects() and Element::getBoundingClientRect() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
@ -97,13 +90,13 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ "Disable Canvas::measureText() fingerprint deception",
+ "Scale the output values of Canvas::measureText() with a randomly selected factor in the range -0.0003% to 0.0003%, which are recomputed on every document initialization.",
+ kOsAll, SINGLE_DISABLE_VALUE_TYPE(switches::kFingerprintingCanvasMeasureTextNoise)},
{"enable-webrtc-new-encode-cpu-load-estimator",
flag_descriptions::kWebrtcNewEncodeCpuLoadEstimatorName,
flag_descriptions::kWebrtcNewEncodeCpuLoadEstimatorDescription, kOsAll,
{"enable-webrtc-stun-origin", flag_descriptions::kWebrtcStunOriginName,
flag_descriptions::kWebrtcStunOriginDescription, kOsAll,
SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)},
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -221,6 +221,7 @@ source_set("browser") {
@@ -226,6 +226,7 @@ source_set("browser") {
"//third_party/libyuv",
"//third_party/re2",
"//third_party/sqlite",
@ -114,7 +107,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 @@
@@ -221,6 +221,7 @@
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/mojom/disk_allocator.mojom.h"
#include "third_party/blink/public/public_buildflags.h"
@ -122,8 +115,8 @@ 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"
@@ -3333,6 +3334,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisablePreferCompositingToLCDText,
@@ -3324,6 +3325,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableFileSystem,
+ switches::kFingerprintingClientRectsNoise,
@ -135,7 +128,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
@@ -125,6 +125,7 @@ target(link_target_type, "child") {
@@ -130,6 +130,7 @@ target(link_target_type, "child") {
"//third_party/blink/public/common",
"//third_party/blink/public/strings",
"//third_party/ced",
@ -146,15 +139,16 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -28,6 +28,7 @@
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
#include "third_party/blink/public/common/features.h"
@@ -36,6 +36,8 @@
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
+#include "third_party/ungoogled/ungoogled_switches.h"
#include "third_party/blink/public/common/switches.h"
#include "third_party/blink/public/platform/web_runtime_features.h"
#include "ui/accessibility/accessibility_features.h"
@@ -582,6 +583,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
+
#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif
@@ -532,6 +534,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
// They're moved here to distinguish them from actual base checks
WebRuntimeFeatures::EnableOverlayScrollbars(ui::IsOverlayScrollbarEnabled());
@ -165,9 +159,9 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
+ WebRuntimeFeatures::EnableFingerprintingCanvasImageDataNoise(
+ !command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise));
+
if (base::FeatureList::GetInstance()->IsFeatureOverriddenFromCommandLine(
blink::features::kNativeFileSystemAPI.name,
base::FeatureList::OVERRIDE_ENABLE_FEATURE)) {
if (base::FeatureList::IsEnabled(blink::features::kFileHandlingAPI)) {
WebRuntimeFeatures::EnableFeatureFromString("FileHandling", true);
}
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
@ -192,7 +186,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"
@@ -2475,6 +2476,23 @@ void Document::UpdateStyleAndLayoutTree() {
@@ -2489,6 +2490,23 @@ void Document::UpdateStyleAndLayoutTree() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this);
#endif
@ -215,11 +209,11 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ return noise_factor_y_;
}
void Document::UpdateActiveStyle() {
void Document::InvalidateStyleAndLayoutForFontUpdates() {
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
@@ -438,6 +438,10 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -447,6 +447,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@ -227,10 +221,10 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
+ double GetNoiseFactorX();
+ double GetNoiseFactorY();
+
String visibilityState() const;
AtomicString visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
@@ -1943,6 +1947,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1969,6 +1973,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@ -243,7 +237,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
@@ -2019,6 +2019,11 @@ DOMRectList* Element::getClientRects() {
@@ -2049,6 +2049,11 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@ -255,7 +249,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -2036,6 +2041,9 @@ DOMRect* Element::getBoundingClientRect() {
@@ -2066,6 +2071,9 @@ DOMRect* Element::getBoundingClientRect() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@ -268,7 +262,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
@@ -1614,6 +1614,12 @@ DOMRectList* Range::getClientRects() const {
@@ -1615,6 +1615,12 @@ DOMRectList* Range::getClientRects() const {
Vector<FloatQuad> quads;
GetBorderAndTextQuads(quads);
@ -281,7 +275,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -1741,7 +1747,11 @@ FloatRect Range::BoundingRect() const {
@@ -1742,7 +1748,11 @@ FloatRect Range::BoundingRect() const {
// If all rects are empty, return the first rect.
if (result.IsEmpty() && !quads.IsEmpty())
@ -337,7 +331,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
@@ -835,9 +835,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
@@ -838,9 +838,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
else
direction = ToTextDirection(GetState().GetDirection(), canvas());
@ -357,7 +351,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
@@ -1548,7 +1548,9 @@ component("platform") {
@@ -1575,7 +1575,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@ -366,9 +360,9 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
+ "//third_party/skia/include/private", # For shuffler in graphics/static_bitmap_image.cc
+ ]
public_deps = [
":blink_platform_public_deps",
@@ -1592,6 +1594,7 @@ component("platform") {
allow_circular_includes_from = [
"//third_party/blink/renderer/platform/blob",
@@ -1635,6 +1637,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@ -379,7 +373,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
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
@@ -729,4 +729,16 @@ void WebRuntimeFeatures::EnableConversionMeasurementInfraSupport(bool enable) {
@@ -731,4 +731,16 @@ void WebRuntimeFeatures::EnableConversionMeasurementInfraSupport(bool enable) {
RuntimeEnabledFeatures::SetConversionMeasurementInfraSupportEnabled(enable);
}
@ -408,7 +402,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/image_data_buffer.cc b
#include "third_party/blink/renderer/platform/graphics/static_bitmap_image.h"
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
@@ -137,6 +139,11 @@ bool ImageDataBuffer::EncodeImageInternal(const ImageEncodingMimeType mime_type,
@@ -145,6 +147,11 @@ bool ImageDataBuffer::EncodeImageInternal(const ImageEncodingMimeType mime_type,
const SkPixmap& pixmap) const {
DCHECK(is_valid_);
@ -432,21 +426,17 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
#include "base/numerics/checked_math.h"
#include "gpu/command_buffer/client/gles2_interface.h"
#include "third_party/blink/renderer/platform/graphics/accelerated_static_bitmap_image.h"
@@ -11,11 +13,13 @@
#include "third_party/blink/renderer/platform/graphics/image_observer.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_image.h"
#include "third_party/blink/renderer/platform/graphics/unaccelerated_static_bitmap_image.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkImage.h"
#include "third_party/skia/include/core/SkPaint.h"
@@ -17,6 +19,9 @@
#include "third_party/skia/include/core/SkSurface.h"
#include "third_party/skia/include/gpu/GrContext.h"
+#include "third_party/skia/include/private/SkColorData.h"
#include "v8/include/v8.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
+#include "third_party/skia/include/private/SkColorData.h"
+
namespace blink {
@@ -129,7 +133,162 @@ bool StaticBitmapImage::CopyToByteArray(
scoped_refptr<StaticBitmapImage> StaticBitmapImage::Create(
@@ -128,7 +133,162 @@ bool StaticBitmapImage::CopyToByteArray(
.bounds()
.intersect(SkIRect::MakeXYWH(rect.X(), rect.Y(), info.width(),
info.height())));
@ -624,7 +614,7 @@ 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
@@ -795,6 +795,15 @@
@@ -808,6 +808,15 @@
origin_trial_feature_name: "FeaturePolicyReporting",
status: "experimental"
},

View file

@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -243,6 +243,8 @@ std::vector<base::string16> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
@@ -314,6 +314,8 @@ std::vector<base::string16> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
std::vector<base::string16>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<base::string16> builtins_to_provide;

View file

@ -11,7 +11,7 @@ Subject: Password service build fixes
diff --git a/chrome/browser/safe_browsing/chrome_password_protection_service.h b/chrome/browser/safe_browsing/chrome_password_protection_service.h
--- a/chrome/browser/safe_browsing/chrome_password_protection_service.h
+++ b/chrome/browser/safe_browsing/chrome_password_protection_service.h
@@ -250,8 +250,6 @@ class ChromePasswordProtectionService : public PasswordProtectionService {
@@ -255,8 +255,6 @@ class ChromePasswordProtectionService : public PasswordProtectionService {
// |NOT_SIGNED_IN|.
LoginReputationClientRequest::PasswordReuseEvent::SyncAccountType
GetSyncAccountType() const override;

View file

@ -11,10 +11,10 @@ Subject: Reduce HTTP headers in DoH requests to bare minimum
diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
--- a/net/base/load_flags_list.h
+++ b/net/base/load_flags_list.h
@@ -112,3 +112,12 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 17)
@@ -101,3 +101,12 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 15)
// is considered privileged, and therefore this flag must only be set from a
// trusted process.
LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 18)
LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16)
+
+
+
@ -39,7 +39,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
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
@@ -331,6 +331,7 @@ void URLRequestHttpJob::Start() {
@@ -319,6 +319,7 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
@ -47,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 (e.g. via
// URLRequestJob::ComputeReferrerForPolicy).
if (referrer.is_valid()) {
@@ -338,11 +339,14 @@ void URLRequestHttpJob::Start() {
@@ -326,11 +327,14 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
referer_value);
}
@ -62,7 +62,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -538,10 +542,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -527,10 +531,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
} else {
// Advertise "br" encoding only if transferred data is opaque to proxy.
bool advertise_brotli = false;
@ -79,7 +79,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
}
@@ -559,7 +565,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -548,7 +554,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}

View file

@ -3,25 +3,11 @@ Date: Sun, 3 Nov 2019 08:22:29 +0100
Subject: Remove SMS integration
---
.../PasswordManagerLauncher.java | 3 --
.../browser/sms/SmsUserConsentReceiver.java | 42 ++-----------------
.../browser/sms/SmsVerificationReceiver.java | 30 +------------
.../content/browser/sms/Wrappers.java | 14 +------
4 files changed, 7 insertions(+), 82 deletions(-)
3 files changed, 7 insertions(+), 79 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
@@ -6,9 +6,6 @@ package org.chromium.chrome.browser.password_manager;
import android.app.Activity;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.metrics.RecordHistogram;
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

View file

@ -9,7 +9,7 @@ Subject: Remove blocklisted URLs upon bookmark creation
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -134,6 +134,8 @@ import org.chromium.chrome.browser.settings.SettingsLauncher;
@@ -137,6 +137,8 @@ import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegateImpl;
@ -18,15 +18,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabDelegateFactory;
@@ -241,6 +243,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private TabContentManager mTabContentManager;
@@ -251,6 +253,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private UmaSessionStats mUmaSessionStats;
private ContextReporter mContextReporter;
+ private MostVisitedSites mMostVisitedSites;
private boolean mPartnerBrowserRefreshNeeded;
@@ -1186,6 +1189,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1230,6 +1233,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
mCompositorViewHolder = null;
}
@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
onDestroyInternal();
if (mDidAddPolicyChangeListener) {
@@ -1416,6 +1424,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1466,6 +1474,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return;
}

View file

@ -4,21 +4,19 @@ Subject: Remove dependency on auth, signin, dynamic and tasks
---
chrome/android/BUILD.gn | 8 --
chrome/android/features/media_router/BUILD.gn | 2 -
.../media/router/ChromeMediaRouter.java | 18 +---
chrome/android/java/AndroidManifest.xml | 9 --
.../org/chromium/chrome/browser/AppHooks.java | 14 +---
.../chrome/browser/ChromeVersionInfo.java | 12 +--
.../browser/PlayServicesVersionInfo.java | 12 +--
.../component_updater/UpdateScheduler.java | 3 -
.../externalauth/ExternalAuthUtils.java | 14 +---
.../UserRecoverableErrorHandler.java | 7 --
.../gcore/ChromeGoogleApiClientImpl.java | 25 +-----
.../browser/gcore/GoogleApiClientHelper.java | 82 +------------------
.../browser/omaha/UpdateStatusProvider.java | 10 +--
.../PasswordManagerLauncher.java | 18 +---
chrome/test/android/BUILD.gn | 2 -
components/background_task_scheduler/BUILD.gn | 4 -
.../internal/BUILD.gn | 6 --
.../media_router/BrowserMediaRouter.java | 18 +---
.../signin/core/browser/android/BUILD.gn | 2 -
.../signin/GmsAvailabilityException.java | 4 +-
content/public/android/BUILD.gn | 3 -
@ -29,12 +27,12 @@ Subject: Remove dependency on auth, signin, dynamic and tasks
services/device/geolocation/BUILD.gn | 2 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 41 ----------
26 files changed, 16 insertions(+), 282 deletions(-)
24 files changed, 15 insertions(+), 263 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -265,9 +265,6 @@ android_library("chrome_java") {
@@ -282,9 +282,6 @@ android_library("chrome_java") {
":partner_location_descriptor_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@ -44,7 +42,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:jni_java",
"//chrome/android/features/keyboard_accessory:public_java",
@@ -741,8 +738,6 @@ junit_binary("chrome_junit_tests") {
@@ -758,8 +755,6 @@ junit_binary("chrome_junit_tests") {
":chrome_app_java_resources",
":chrome_java",
":partner_location_descriptor_proto_java",
@ -53,9 +51,9 @@ 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",
@@ -930,9 +925,6 @@ android_library("chrome_test_java") {
@@ -951,9 +946,6 @@ android_library("chrome_test_java") {
":chrome_app_java_resources",
":chrome_test_util_java",
":native_java_unittests_java",
":partner_location_descriptor_proto_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
@ -63,59 +61,12 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
diff --git a/chrome/android/features/media_router/BUILD.gn b/chrome/android/features/media_router/BUILD.gn
--- a/chrome/android/features/media_router/BUILD.gn
+++ b/chrome/android/features/media_router/BUILD.gn
@@ -11,8 +11,6 @@ android_library("java") {
resources_package = "org.chromium.chrome.media.router"
deps = [
":java_resources",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:jni_java",
"//chrome/android:chrome_java",
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
@@ -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;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -39,20 +36,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
new MediaRouteProvider.Factory() {
@Override
public void addProviders(MediaRouteManager manager) {
- int googleApiAvailabilityResult =
- GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext(),
- MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
- if (googleApiAvailabilityResult != ConnectionResult.SUCCESS) {
- GoogleApiAvailability.getInstance().showErrorNotification(
- ContextUtils.getApplicationContext(), googleApiAvailabilityResult);
- return;
- }
- MediaRouteProvider cafProvider = CafMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(cafProvider);
- MediaRouteProvider remotingProvider =
- CafRemotingMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(remotingProvider);
+ return;
}
};
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
@@ -757,15 +757,6 @@ by a child template that "extends" this file.
@@ -786,15 +786,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
</activity>
- <!-- Activity for dispatching intents to Instant Apps. -->
- <activity
@ -142,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.banners.AppDetailsDelegate;
@@ -325,16 +322,7 @@ public abstract class AppHooks {
@@ -333,16 +330,7 @@ public abstract class AppHooks {
* same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
*/
public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
@ -160,9 +111,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
@@ -7,8 +7,6 @@ package org.chromium.chrome.browser;
import android.content.Context;
import android.content.pm.PackageManager;
@ -172,19 +123,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionIn
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -95,7 +93,7 @@ public class ChromeVersionInfo {
@@ -29,7 +27,7 @@ public class PlayServicesVersionInfo {
public static String getGmsInfo() {
Context context = ContextUtils.getApplicationContext();
- final long sdkVersion = GoogleApiAvailability.GOOGLE_PLAY_SERVICES_VERSION_CODE;
+ final long sdkVersion = 12600000;
final long installedGmsVersion = getPlayServicesApkVersionNumber(context);
final long installedGmsVersion = getApkVersionNumber(context);
final String accessType;
@@ -118,12 +116,6 @@ public class ChromeVersionInfo {
@@ -53,12 +51,6 @@ public class PlayServicesVersionInfo {
* package is not found.
*/
public static int getPlayServicesApkVersionNumber(Context context) {
public static int getApkVersionNumber(Context context) {
- try {
- return context.getPackageManager()
- .getPackageInfo(GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, 0)
@ -221,7 +172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
@@ -168,9 +165,7 @@ public class ExternalAuthUtils {
@@ -158,9 +155,7 @@ public class ExternalAuthUtils {
* when it is updating.
*/
public boolean isGooglePlayServicesMissing(final Context context) {
@ -232,7 +183,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
/**
@@ -192,7 +187,6 @@ public class ExternalAuthUtils {
@@ -182,7 +177,6 @@ public class ExternalAuthUtils {
Context context = ContextUtils.getApplicationContext();
final int resultCode = checkGooglePlayServicesAvailable(context);
@ -240,7 +191,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
// resultCode is some kind of error.
Log.v(TAG, "Unable to use Google Play Services: %s", describeError(resultCode));
if (isUserRecoverableError(resultCode)) {
@@ -262,7 +256,7 @@ public class ExternalAuthUtils {
@@ -251,7 +245,7 @@ public class ExternalAuthUtils {
protected int checkGooglePlayServicesAvailable(final Context context) {
// TODO(crbug.com/577190): Temporarily allowing disk access until more permanent fix is in.
try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
@ -249,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
}
@@ -274,7 +268,7 @@ public class ExternalAuthUtils {
@@ -263,7 +257,7 @@ public class ExternalAuthUtils {
* @return true If the code represents a user-recoverable error
*/
protected boolean isUserRecoverableError(final int errorCode) {
@ -258,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
/**
@@ -284,6 +278,6 @@ public class ExternalAuthUtils {
@@ -273,6 +267,6 @@ public class ExternalAuthUtils {
* @return a textual description of the error code
*/
protected String describeError(final int errorCode) {
@ -310,16 +261,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
-
import org.chromium.base.Log;
import org.chromium.base.TraceEvent;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
@@ -22,7 +19,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
import org.chromium.chrome.browser.AppHooks;
@@ -23,7 +20,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
private static final String TAG = "Icing";
private final Context mApplicationContext;
- private final GoogleApiClient mClient;
private final ExternalAuthUtils mExternalAuthUtils;
/**
* @param context its application context will be exposed through
@@ -31,10 +27,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@@ -33,10 +29,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
* @param requireFirstPartyBuild true if the given client can only be used in a first-party
* build.
*/
@ -328,10 +279,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
boolean requireFirstPartyBuild) {
mApplicationContext = context.getApplicationContext();
- mClient = client;
if (requireFirstPartyBuild && !ExternalAuthUtils.getInstance().isChromeGoogleSigned()) {
mExternalAuthUtils = AppHooks.get().getExternalAuthUtils();
if (requireFirstPartyBuild && !mExternalAuthUtils.isChromeGoogleSigned()) {
throw new IllegalStateException("GoogleApiClient requires first-party build");
}
@@ -42,7 +37,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@@ -45,7 +40,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@Override
public void disconnect() {
@ -339,7 +290,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
}
@Override
@@ -58,24 +52,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@@ -61,24 +55,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@Override
public boolean connectWithTimeout(long timeout) {
TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout");
@ -533,39 +484,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
}
private long getSize(StatFs statFs) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
@@ -93,22 +93,6 @@ public class PasswordManagerLauncher {
}
private static boolean tryShowingTheGooglePasswordManager(Activity activity) {
- GooglePasswordManagerUIProvider googlePasswordManagerUIProvider =
- AppHooks.get().createGooglePasswordManagerUIProvider();
- if (googlePasswordManagerUIProvider == null) return false;
-
- int minGooglePlayServicesVersion = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
- GOOGLE_ACCOUNT_PWM_UI, MIN_GOOGLE_PLAY_SERVICES_VERSION_PARAM,
- DEFAULT_MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
-
- if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext(), minGooglePlayServicesVersion)
- != ConnectionResult.SUCCESS) {
- return false;
- }
-
- if (!ChromeFeatureList.isEnabled(GOOGLE_ACCOUNT_PWM_UI)) return false;
-
- return googlePasswordManagerUIProvider.showGooglePasswordManager(activity);
+ return false;
}
}
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
@@ -249,8 +249,6 @@ android_library("chrome_java_test_support") {
"javatests/src/org/chromium/chrome/test/util/browser/webapps/WebappTestPage.java",
@@ -259,8 +259,6 @@ android_library("chrome_java_test_support") {
]
deps = [
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
@ -609,6 +533,41 @@ diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components
"//base:base_java",
"//base:base_java_test_support",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
@@ -10,9 +10,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;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -42,20 +39,7 @@ public class BrowserMediaRouter implements MediaRouteManager {
new MediaRouteProvider.Factory() {
@Override
public void addProviders(MediaRouteManager manager) {
- int googleApiAvailabilityResult =
- GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext(),
- MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
- if (googleApiAvailabilityResult != ConnectionResult.SUCCESS) {
- GoogleApiAvailability.getInstance().showErrorNotification(
- ContextUtils.getApplicationContext(), googleApiAvailabilityResult);
- return;
- }
- MediaRouteProvider cafProvider = CafMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(cafProvider);
- MediaRouteProvider remotingProvider =
- CafRemotingMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(remotingProvider);
+ return;
}
};
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
@ -644,7 +603,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
@@ -72,9 +72,6 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
@@ -71,9 +71,6 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
android_library("content_java") {
deps = [
":content_java_resources",
@ -657,7 +616,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
@@ -2535,9 +2535,6 @@ if (is_android) {
@@ -2545,9 +2545,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -670,7 +629,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
@@ -394,8 +394,6 @@ if (is_android) {
@@ -405,8 +405,6 @@ if (is_android) {
junit_binary("device_junit_tests") {
sources = [ "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java" ]
deps = [
@ -695,7 +654,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
@@ -131,8 +131,6 @@ if (is_android) {
@@ -133,8 +133,6 @@ if (is_android) {
"shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
]
deps = [
@ -707,7 +666,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
--- a/services/device/geolocation/BUILD.gn
+++ b/services/device/geolocation/BUILD.gn
@@ -156,8 +156,6 @@ if (is_android) {
@@ -164,8 +164,6 @@ if (is_android) {
deps = [
":geolocation_jni_headers",
@ -719,7 +678,7 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -89,8 +89,6 @@ if (is_android) {
@@ -97,8 +97,6 @@ if (is_android) {
]
deps = [
@ -731,7 +690,7 @@ 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
@@ -1137,37 +1137,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
@@ -1061,37 +1061,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
]
}
@ -769,7 +728,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_gcm_java") {
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
@@ -1186,16 +1155,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
@@ -1110,16 +1079,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
strip_drawables = true
}

View file

@ -14,7 +14,7 @@ Subject: Remove dependency on com.google.android.gms.auth
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -265,7 +265,6 @@ android_library("chrome_java") {
@@ -282,7 +282,6 @@ android_library("chrome_java") {
":partner_location_descriptor_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@ -82,7 +82,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
@@ -72,7 +72,6 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
@@ -71,7 +71,6 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
android_library("content_java") {
deps = [
":content_java_resources",
@ -93,7 +93,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
@@ -2535,7 +2535,6 @@ if (is_android) {
@@ -2545,7 +2545,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -104,7 +104,7 @@ 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
@@ -1138,53 +1138,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
@@ -1062,53 +1062,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
]
}

View file

@ -4,35 +4,35 @@ Subject: Remove dependency on com.google.android.gms.cast
---
chrome/android/BUILD.gn | 7 --
chrome/android/features/media_router/BUILD.gn | 5 -
.../browser/media/router/CastSessionUtil.java | 35 ------
.../browser/media/router/MediaSink.java | 44 +-------
.../media/router/MediaStatusBridge.java | 40 ++-----
chrome/android/java/AndroidManifest.xml | 26 -----
.../settings/PasswordSettings.java | 14 ---
.../modules/chrome_feature_modules.gni | 3 -
chrome/test/android/cast_emulator/BUILD.gn | 1 -
.../media_router/browser/android/BUILD.gn | 7 --
.../media_router/CastSessionUtil.java | 35 ------
.../components/media_router/MediaSink.java | 44 +-------
.../media_router/MediaStatusBridge.java | 40 ++-----
.../caf/BaseNotificationController.java | 46 --------
.../router/caf/BaseSessionController.java | 100 +----------------
.../router/caf/CafBaseMediaRouteProvider.java | 103 +-----------------
.../router/caf/CafMediaRouteProvider.java | 16 ---
.../media/router/caf/CafMessageHandler.java | 97 +----------------
.../media/router/caf/CastMediaSource.java | 10 +-
.../media/router/caf/CastOptionsProvider.java | 22 +---
.../router/caf/CastSessionController.java | 84 --------------
.../browser/media/router/caf/CastUtils.java | 6 -
.../caf/BaseSessionController.java | 100 +----------------
.../caf/CafBaseMediaRouteProvider.java | 103 +-----------------
.../caf/CafMediaRouteProvider.java | 16 ---
.../media_router/caf/CafMessageHandler.java | 97 +----------------
.../media_router/caf/CastMediaSource.java | 10 +-
.../media_router/caf/CastOptionsProvider.java | 22 +---
.../caf/CastSessionController.java | 84 --------------
.../media_router/caf/CastUtils.java | 6 -
.../CafExpandedControllerActivity.java | 33 +-----
.../CafRemotingMediaRouteProvider.java | 2 +-
.../remoting/FlingingControllerAdapter.java | 74 -------------
.../caf/remoting/RemotingMediaSource.java | 8 +-
.../remoting/RemotingSessionController.java | 26 -----
chrome/android/java/AndroidManifest.xml | 27 -----
.../settings/PasswordSettings.java | 14 ---
.../modules/chrome_feature_modules.gni | 3 -
chrome/test/android/cast_emulator/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 39 -------
24 files changed, 29 insertions(+), 813 deletions(-)
24 files changed, 29 insertions(+), 814 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -267,14 +267,11 @@ android_library("chrome_java") {
@@ -284,14 +284,11 @@ 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",
@ -47,7 +47,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/image_editor/public:java",
"//chrome/android/modules/stack_unwinder/provider:java",
@@ -746,8 +743,6 @@ junit_binary("chrome_junit_tests") {
@@ -763,8 +760,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",
@ -56,7 +56,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",
@@ -937,8 +932,6 @@ android_library("chrome_test_java") {
@@ -958,8 +953,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",
@ -65,34 +65,148 @@ 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/features/media_router/BUILD.gn b/chrome/android/features/media_router/BUILD.gn
--- a/chrome/android/features/media_router/BUILD.gn
+++ b/chrome/android/features/media_router/BUILD.gn
@@ -13,8 +13,6 @@ android_library("java") {
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -197,12 +197,6 @@ by a child template that "extends" this file.
<meta-data android:name="com.google.ar.core" android:value="optional" />
{% endif %}
- <!-- Cast support -->
- <meta-data
- android:name=
- "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
- android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
-
<!-- Note: All activities directly or indirectly derived from ChromeActivity
must specify android:hardwareAccelerated="false".
@@ -729,16 +723,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
- <activity android:name="org.chromium.components.media_router.caf.remoting.CafExpandedControllerActivity"
- android:theme="@style/Theme.Chromium.Activity"
- android:label="Chrome.CafExpandedControllerActivity"
- android:hardwareAccelerated="true"
- android:launchMode="singleTask"
- android:noHistory="true"
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
- android:excludeFromRecents="true">
- </activity>
-
<!-- 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"
@@ -1100,16 +1084,6 @@ by a child template that "extends" this file.
{% endif %}
{% block extra_application_definitions %}
- <!-- Media route controllers to use for remote playback (cast).
- This is here, rather than in code, since it varies between upstream and downstream,
- yet we need this list of classes in the notification service, which belongs upstream
- and doesn't run the downstream startup code. The Cast code will, for each media element,
- choose the first MediaRouteController that can play it, so the order of the list can be important.
- The most specific MediaRouteControllers should be listed first, followed by more generic ones.
- The downstream manifest replaces this block, and hence replaces the list of media route
- controllers with its own list. -->
- <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYERS"
- android:value="org.chromium.chrome.browser.media.remote.DefaultMediaRouteController"/>
{% endblock %}
{% endmacro %}
{% if not definitions_in_split %}
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
@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.webauthn.CableAuthenticatorModuleProvider;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SearchUtils;
@@ -557,19 +556,6 @@ public class PasswordSettings
}
private void displaySecurityKeyLink() {
- if (mSecurityKey == null) {
- mSecurityKey = new ChromeBasePreference(getStyledContext());
- mSecurityKey.setKey(PREF_KEY_SECURITY_KEY_LINK);
- mSecurityKey.setTitle(R.string.phone_as_security_key_text);
- mSecurityKey.setOnPreferenceClickListener(preference -> {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- settingsLauncher.launchSettingsActivity(
- getActivity(), CableAuthenticatorModuleProvider.class, null);
- return true;
- });
- mSecurityKey.setOrder(ORDER_SECURITY_KEY);
- }
- getPreferenceScreen().addPreference(mSecurityKey);
}
private Context getStyledContext() {
diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
--- a/chrome/android/modules/chrome_feature_modules.gni
+++ b/chrome/android/modules/chrome_feature_modules.gni
@@ -8,8 +8,6 @@ import(
import("//chrome/android/features/dev_ui/dev_ui_module.gni")
import("//chrome/android/features/tab_ui/tab_ui_module.gni")
import("//chrome/android/modules/buildflags.gni")
-import(
- "//chrome/android/modules/cablev2_authenticator/cablev2_authenticator_module.gni")
import("//chrome/android/modules/chime/chime_module.gni")
import("//chrome/android/modules/extra_icu/extra_icu_module.gni")
import("//chrome/android/modules/image_editor/image_editor_module.gni")
@@ -72,7 +70,6 @@ if (!disable_autofill_assistant_dfm) {
if (!disable_tab_ui_dfm) {
monochrome_module_descs += [ tab_ui_module_desc ]
}
-monochrome_module_descs += [ cablev2_authenticator_module_desc ]
# Modules shipped in Trichrome (Android Q+).
trichrome_module_descs = monochrome_module_descs
diff --git a/chrome/test/android/cast_emulator/BUILD.gn b/chrome/test/android/cast_emulator/BUILD.gn
--- a/chrome/test/android/cast_emulator/BUILD.gn
+++ b/chrome/test/android/cast_emulator/BUILD.gn
@@ -20,7 +20,6 @@ android_library("cast_emulator_java") {
"src/org/chromium/chrome/browser/media/router/DummyRoutePublisher.java",
]
deps = [
- "$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:androidx_mediarouter_mediarouter_java",
diff --git a/components/media_router/browser/android/BUILD.gn b/components/media_router/browser/android/BUILD.gn
--- a/components/media_router/browser/android/BUILD.gn
+++ b/components/media_router/browser/android/BUILD.gn
@@ -10,10 +10,6 @@ android_library("java") {
resources_package = "org.chromium.components.media_router"
deps = [
":java_resources",
"$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_base_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",
"//base:base_java",
"//base:jni_java",
"//chrome/android:chrome_java",
@@ -130,9 +128,6 @@ junit_binary("media_router_junit_tests") {
"//components/browser_ui/media/android:java",
@@ -130,9 +126,6 @@ java_library("junit") {
deps = [
":java",
":test_support_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",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/CastSessionUtil.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/CastSessionUtil.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/CastSessionUtil.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/CastSessionUtil.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
@@ -4,9 +4,6 @@
package org.chromium.chrome.browser.media.router;
package org.chromium.components.media_router;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.RemoteMediaPlayer;
@ -137,9 +251,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
- if (album != null) notificationMetadata.setAlbum(album);
- }
}
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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
@@ -8,41 +8,24 @@ import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
@ -238,12 +352,12 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
return null;
}
}
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaStatusBridge.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaStatusBridge.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaStatusBridge.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaStatusBridge.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
@@ -4,10 +4,6 @@
package org.chromium.chrome.browser.media.router;
package org.chromium.components.media_router;
-import com.google.android.gms.cast.MediaInfo;
-import com.google.android.gms.cast.MediaMetadata;
@ -371,10 +485,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
+ return 0;
}
}
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseNotificationController.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseNotificationController.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseNotificationController.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseNotificationController.java
@@ -6,10 +6,6 @@ package org.chromium.chrome.browser.media.router.caf;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
@@ -6,10 +6,6 @@ package org.chromium.components.media_router.caf;
import android.content.Intent;
@ -382,10 +496,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
-import com.google.android.gms.cast.MediaStatus;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.chrome.browser.media.ui.MediaNotificationManager;
import org.chromium.chrome.media.router.R;
import org.chromium.components.browser_ui.media.MediaNotificationInfo;
@@ -59,20 +55,6 @@ public abstract class BaseNotificationController
import org.chromium.components.browser_ui.media.MediaNotificationListener;
import org.chromium.components.browser_ui.media.MediaNotificationManager;
@@ -61,20 +57,6 @@ public abstract class BaseNotificationController
public void onStatusUpdated() {
if (mNotificationBuilder == null) return;
if (!mSessionController.isConnected()) return;
@ -402,11 +516,11 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
- } else {
- mNotificationBuilder.setActions(MediaNotificationInfo.ACTION_STOP);
- }
- MediaNotificationManager.show(mNotificationBuilder.build());
- MediaRouterClient.getInstance().showNotification(mNotificationBuilder.build());
}
/** Called when media metadata updated. */
@@ -88,30 +70,6 @@ public abstract class BaseNotificationController
@@ -90,30 +72,6 @@ public abstract class BaseNotificationController
mNotificationBuilder.setMetadata(notificationMetadata);
if (!mSessionController.isConnected()) return;
@ -437,7 +551,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/////////////////////////////////////////////////////////////////////////////////////////////
@@ -120,15 +78,11 @@ public abstract class BaseNotificationController
@@ -122,15 +80,11 @@ public abstract class BaseNotificationController
@Override
public void onPlay(int actionSource) {
if (!mSessionController.isConnected()) return;
@ -453,10 +567,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
@Override
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/BaseSessionController.java
@@ -6,12 +6,7 @@ package org.chromium.chrome.browser.media.router.caf;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
@@ -6,12 +6,7 @@ package org.chromium.components.media_router.caf;
import androidx.annotation.Nullable;
@ -465,10 +579,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.base.Log;
-import org.chromium.chrome.browser.media.router.CastSessionUtil;
import org.chromium.chrome.browser.media.router.FlingingController;
import org.chromium.chrome.browser.media.router.MediaSink;
import org.chromium.chrome.browser.media.router.MediaSource;
-import org.chromium.components.media_router.CastSessionUtil;
import org.chromium.components.media_router.FlingingController;
import org.chromium.components.media_router.MediaSink;
import org.chromium.components.media_router.MediaSource;
@@ -42,15 +37,12 @@ public abstract class BaseSessionController {
void onMetadataUpdated();
}
@ -618,9 +732,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
private void notifyCallback(NotifyCallbackAction action) {
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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
@@ -12,9 +12,6 @@ import androidx.mediarouter.media.MediaRouteSelector;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
@ -629,8 +743,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
-import com.google.android.gms.cast.framework.SessionManagerListener;
-
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.DiscoveryCallback;
import org.chromium.chrome.browser.media.router.DiscoveryDelegate;
import org.chromium.components.media_router.DiscoveryCallback;
import org.chromium.components.media_router.DiscoveryDelegate;
@@ -37,7 +34,7 @@ import java.util.Set;
* A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
*/
@ -640,7 +754,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
private static final String TAG = "CafMR";
protected static final List<MediaSink> NO_SINKS = Collections.emptyList();
@@ -154,7 +151,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -153,7 +150,6 @@ public abstract class CafBaseMediaRouteProvider
// current session and clean up the routes (can't wait for session ending as the signal
// might be delayed).
sessionController().endSession();
@ -648,7 +762,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
if (mPendingCreateRouteRequestInfo != null) {
cancelPendingRequest("Request replaced");
@@ -183,9 +179,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -182,9 +178,6 @@ public abstract class CafBaseMediaRouteProvider
mManager.onRouteRequestError("The sink does not exist", nativeRequestId);
}
@ -658,7 +772,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
origin, tabId, isOffTheRecord, nativeRequestId, targetRouteInfo);
@@ -212,100 +205,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -211,100 +204,6 @@ public abstract class CafBaseMediaRouteProvider
removeRoute(routeId, /* error= */ null);
}
@ -759,9 +873,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
private void cancelPendingRequest(String error) {
if (mPendingCreateRouteRequestInfo == null) return;
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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
@@ -11,8 +11,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.mediarouter.media.MediaRouter;
@ -769,8 +883,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
-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;
import org.chromium.components.media_router.BrowserMediaRouter;
import org.chromium.components.media_router.ClientRecord;
@@ -147,20 +145,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
return mMessageHandler;
}
@ -792,9 +906,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
@Override
protected void addRoute(
MediaRoute route, String origin, int tabId, int nativeRequestId, boolean wasLaunched) {
diff --git 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
--- 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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
@@ -13,10 +13,6 @@ import android.util.SparseArray;
import androidx.annotation.VisibleForTesting;
import androidx.collection.ArrayMap;
@ -937,16 +1051,16 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
+ return false;
}
}
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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
@@ -9,8 +9,6 @@ import android.net.Uri;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
import org.chromium.chrome.browser.media.router.MediaSource;
import org.chromium.components.media_router.MediaSource;
import java.util.Arrays;
@@ -106,13 +104,7 @@ public class CastMediaSource implements MediaSource {
@ -964,10 +1078,10 @@ 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/CastOptionsProvider.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastOptionsProvider.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastOptionsProvider.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastOptionsProvider.java
@@ -6,28 +6,8 @@ package org.chromium.chrome.browser.media.router.caf;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
@@ -6,28 +6,8 @@ package org.chromium.components.media_router.caf;
import android.content.Context;
@ -997,10 +1111,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
- }
+public class CastOptionsProvider {
}
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastSessionController.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastSessionController.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastSessionController.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastSessionController.java
@@ -7,11 +7,6 @@ package org.chromium.chrome.browser.media.router.caf;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
@@ -7,11 +7,6 @@ package org.chromium.components.media_router.caf;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@ -1135,12 +1249,12 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
@NonNull
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastUtils.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastUtils.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastUtils.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CastUtils.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
@@ -4,16 +4,10 @@
package org.chromium.chrome.browser.media.router.caf;
package org.chromium.components.media_router.caf;
-import com.google.android.gms.cast.framework.CastContext;
-
@ -1155,9 +1269,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
/**
* Compares two origins. Empty origin strings correspond to unique origins in
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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
@@ -45,53 +45,36 @@ public class CafExpandedControllerActivity
@Override
public void play() {
@ -1236,9 +1350,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
private void scheduleProgressUpdateTask() {
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafRemotingMediaRouteProvider.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafRemotingMediaRouteProvider.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafRemotingMediaRouteProvider.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/CafRemotingMediaRouteProvider.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
@@ -65,6 +65,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
if (!mRoutes.containsKey(routeId)) return null;
@ -1247,12 +1361,12 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
+ return null;
}
}
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/FlingingControllerAdapter.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
@@ -4,11 +4,6 @@
package org.chromium.chrome.browser.media.router.caf.remoting;
package org.chromium.components.media_router.caf.remoting;
-import com.google.android.gms.cast.MediaInfo;
-import com.google.android.gms.cast.MediaStatus;
@ -1260,8 +1374,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
-import com.google.android.gms.common.api.Result;
-
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.FlingingController;
import org.chromium.chrome.browser.media.router.MediaController;
import org.chromium.components.media_router.FlingingController;
import org.chromium.components.media_router.MediaController;
@@ -69,14 +64,6 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr
/** Starts loading the media URL, from the given position. */
public void load(long position) {
@ -1367,9 +1481,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/remoting/RemotingMediaSource.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingMediaSource.java
--- 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
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
@@ -12,8 +12,6 @@ import android.util.Base64;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
@ -1378,7 +1492,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.chrome.browser.media.router.MediaSource;
import org.chromium.components.media_router.MediaSource;
@@ -79,9 +77,7 @@ public class RemotingMediaSource implements MediaSource {
*/
@Override
@ -1399,18 +1513,18 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
return sApplicationId;
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/remoting/RemotingSessionController.java
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.media.router.caf.remoting;
package org.chromium.components.media_router.caf.remoting;
-import com.google.android.gms.cast.framework.CastSession;
-
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.CastSessionUtil;
import org.chromium.chrome.browser.media.router.caf.BaseNotificationController;
import org.chromium.components.media_router.CastSessionUtil;
import org.chromium.components.media_router.caf.BaseNotificationController;
@@ -33,19 +31,6 @@ public class RemotingSessionController extends BaseSessionController {
sInstance = new WeakReference<>(this);
}
@ -1449,123 +1563,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
@Override
public BaseNotificationController getNotificationController() {
return mNotificationController;
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
@@ -165,12 +165,6 @@ by a child template that "extends" this file.
<meta-data android:name="com.google.ar.core" android:value="optional" />
{% endif %}
- <!-- Cast support -->
- <meta-data
- android:name=
- "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
- android:value="org.chromium.chrome.browser.media.router.caf.CastOptionsProvider"/>
-
<!-- Note: All activities directly or indirectly derived from ChromeActivity
must specify android:hardwareAccelerated="false".
@@ -683,16 +677,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
- <activity android:name="org.chromium.chrome.browser.media.router.caf.remoting.CafExpandedControllerActivity"
- android:theme="@style/Theme.Chromium.Activity"
- android:label="Chrome.CafExpandedControllerActivity"
- android:hardwareAccelerated="true"
- android:launchMode="singleTask"
- android:noHistory="true"
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
- android:excludeFromRecents="true">
- </activity>
-
<!-- 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"
@@ -1107,17 +1091,6 @@ by a child template that "extends" this file.
{% block extra_application_definitions %}
- <!-- Media route controllers to use for remote playback (cast).
- This is here, rather than in code, since it varies between upstream and downstream,
- yet we need this list of classes in the notification service, which belongs upstream
- and doesn't run the downstream startup code. The Cast code will, for each media element,
- choose the first MediaRouteController that can play it, so the order of the list can be important.
- The most specific MediaRouteControllers should be listed first, followed by more generic ones.
- The downstream manifest replaces this block, and hence replaces the list of media route
- controllers with its own list. -->
- <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYERS"
- android:value="org.chromium.chrome.browser.media.remote.DefaultMediaRouteController"/>
-
<!-- Downloads Google Sans from GMS Core -->
<meta-data android:name="preloaded_fonts"
android:resource="@array/preloaded_google_sans_fonts" />
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
@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
-import org.chromium.chrome.browser.webauthn.CableAuthenticatorModuleProvider;
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
@@ -558,19 +557,6 @@ public class PasswordSettings
}
private void displaySecurityKeyLink() {
- if (mSecurityKey == null) {
- mSecurityKey = new ChromeBasePreference(getStyledContext());
- mSecurityKey.setKey(PREF_KEY_SECURITY_KEY_LINK);
- mSecurityKey.setTitle(R.string.phone_as_security_key_text);
- mSecurityKey.setOnPreferenceClickListener(preference -> {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- settingsLauncher.launchSettingsActivity(
- getActivity(), CableAuthenticatorModuleProvider.class, null);
- return true;
- });
- mSecurityKey.setOrder(ORDER_SECURITY_KEY);
- }
- getPreferenceScreen().addPreference(mSecurityKey);
}
private Context getStyledContext() {
diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
--- a/chrome/android/modules/chrome_feature_modules.gni
+++ b/chrome/android/modules/chrome_feature_modules.gni
@@ -8,8 +8,6 @@ import(
import("//chrome/android/features/dev_ui/dev_ui_module.gni")
import("//chrome/android/features/tab_ui/tab_ui_module.gni")
import("//chrome/android/modules/buildflags.gni")
-import(
- "//chrome/android/modules/cablev2_authenticator/cablev2_authenticator_module.gni")
import("//chrome/android/modules/chime/chime_module.gni")
import("//chrome/android/modules/extra_icu/extra_icu_module.gni")
import("//chrome/android/modules/image_editor/image_editor_module.gni")
@@ -71,7 +69,6 @@ if (!disable_autofill_assistant_dfm) {
if (!disable_tab_ui_dfm) {
monochrome_module_descs += [ tab_ui_module_desc ]
}
-monochrome_module_descs += [ cablev2_authenticator_module_desc ]
# Modules shipped in Trichrome (Android Q+).
trichrome_module_descs = monochrome_module_descs
diff --git a/chrome/test/android/cast_emulator/BUILD.gn b/chrome/test/android/cast_emulator/BUILD.gn
--- a/chrome/test/android/cast_emulator/BUILD.gn
+++ b/chrome/test/android/cast_emulator/BUILD.gn
@@ -20,7 +20,6 @@ android_library("cast_emulator_java") {
"src/org/chromium/chrome/browser/media/router/DummyRoutePublisher.java",
]
deps = [
- "$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: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
@@ -1168,45 +1168,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
@@ -1092,45 +1092,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
}

View file

@ -7,14 +7,13 @@ The snippets are already disabled in native codes, this will disable it on Java
---
chrome/android/BUILD.gn | 3 -
.../browser/ChromeBackgroundService.java | 4 -
.../ntp/snippets/SnippetsLauncher.java | 2 +-
.../gcm/ChromeGcmListenerService.java | 220 ------------------
components/background_task_scheduler/BUILD.gn | 1 -
.../internal/BUILD.gn | 3 -
.../BackgroundTaskGcmTaskService.java | 160 -------------
...ackgroundTaskSchedulerFactoryInternal.java | 6 +-
...kgroundTaskSchedulerGcmNetworkManager.java | 55 -----
9 files changed, 2 insertions(+), 452 deletions(-)
8 files changed, 1 insertion(+), 451 deletions(-)
delete mode 100644 chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
@ -22,7 +21,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
@@ -270,7 +270,6 @@ android_library("chrome_java") {
@@ -287,7 +287,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",
@ -30,7 +29,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",
@@ -945,7 +944,6 @@ android_library("chrome_test_java") {
@@ -966,7 +965,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",
@ -38,7 +37,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",
@@ -1872,7 +1870,6 @@ android_library("browser_java_test_support") {
@@ -1915,7 +1913,6 @@ android_library("browser_java_test_support") {
]
deps = [
":chrome_java",
@ -60,18 +59,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroun
import org.chromium.base.Log;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.background_sync.BackgroundSyncBackgroundTaskScheduler;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
@@ -35,7 +35,7 @@ public class SnippetsLauncher {
// If it is non-null then the browser is running.
private static SnippetsLauncher sInstance;
- private boolean mGCMEnabled = true;
+ private boolean mGCMEnabled;
/**
* Create a SnippetsLauncher object, which is owned by C++.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java
deleted file mode 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java
@ -95,7 +82,7 @@ deleted file mode 100644
-import org.chromium.base.Log;
-import org.chromium.base.ThreadUtils;
-import org.chromium.base.task.PostTask;
-import org.chromium.chrome.browser.DeviceConditions;
-import org.chromium.chrome.browser.device.DeviceConditions;
-import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
-import org.chromium.chrome.browser.init.ProcessInitializationHandler;
-import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;

View file

@ -14,7 +14,7 @@ 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
@@ -484,7 +484,6 @@ android_library("chrome_java") {
@@ -511,7 +511,6 @@ android_library("chrome_java") {
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/blink/public/mojom:mojom_platform_java",
"//third_party/gif_player:gif_player_java",

View file

@ -21,7 +21,7 @@ Subject: Remove dependency on fido, iid, instantapps, location
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -269,8 +269,6 @@ android_library("chrome_java") {
@@ -286,8 +286,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 +30,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",
@@ -750,7 +748,6 @@ junit_binary("chrome_junit_tests") {
@@ -767,7 +765,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 +38,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",
@@ -942,8 +939,6 @@ android_library("chrome_test_java") {
@@ -963,8 +960,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",
@ -50,7 +50,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -1728,9 +1728,6 @@ chrome_java_sources = [
@@ -1695,9 +1695,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/webapps/addtohomescreen/AddToHomescreenViewDelegate.java",
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorFactory.java",
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java",
@ -59,7 +59,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_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/ShareServiceImplementationFactory.java",
"java/src/org/chromium/chrome/browser/widget/DateDividedAdapter.java",
]
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
@ -345,7 +345,7 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
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
@@ -782,7 +782,7 @@ const base::Feature kWebContentsOcclusion {
@@ -800,7 +800,7 @@ const base::Feature kWebContentsOcclusion {
// Controls whether the WebAuthentication API is enabled:
// https://w3c.github.io/webauthn
const base::Feature kWebAuth{"WebAuthentication",
@ -357,7 +357,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -396,7 +396,6 @@ if (is_android) {
@@ -407,7 +407,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -368,7 +368,7 @@ diff --git a/device/BUILD.gn b/device/BUILD.gn
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -103,9 +103,6 @@ if (is_android) {
@@ -105,9 +105,6 @@ if (is_android) {
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
]
deps = [
@ -381,7 +381,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
--- a/services/device/geolocation/BUILD.gn
+++ b/services/device/geolocation/BUILD.gn
@@ -158,7 +158,6 @@ if (is_android) {
@@ -166,7 +166,6 @@ if (is_android) {
":geolocation_jni_headers",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -542,7 +542,7 @@ 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
@@ -52,7 +52,6 @@ java_group("robolectric_all_java") {
@@ -49,7 +49,6 @@ java_group("robolectric_all_java") {
":org_robolectric_shadowapi_java",
":org_robolectric_shadows_framework_java",
":org_robolectric_shadows_multidex_java",
@ -550,7 +550,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
":org_robolectric_utils_java",
":org_robolectric_utils_reflector_java",
"//third_party/robolectric:android-all-10-robolectric-5803371_java",
@@ -1208,20 +1207,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
@@ -1132,20 +1131,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
strip_resources = !is_java_debug
}
@ -571,7 +571,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_gcm_java") {
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
@@ -1240,52 +1225,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
@@ -1164,52 +1149,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
strip_drawables = true
}
@ -624,7 +624,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-17.0.0.aar"
@@ -1660,20 +1599,6 @@ java_prebuilt("org_robolectric_shadows_multidex_java") {
@@ -1584,20 +1523,6 @@ java_prebuilt("org_robolectric_shadows_multidex_java") {
bypass_platform_checks = true
}

View file

@ -9,7 +9,7 @@ Subject: Remove dependency on flags, places and stats
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
@@ -2196,37 +2196,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
@@ -2066,37 +2066,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
visibility = [ ":*" ]
}

View file

@ -15,7 +15,7 @@ Subject: Remove dependency on vision, clearcut and phenotype
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -106,8 +106,6 @@ if (is_android) {
@@ -108,8 +108,6 @@ if (is_android) {
"$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_location_java",
@ -24,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",
@@ -138,8 +136,6 @@ if (is_android) {
@@ -140,8 +138,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -36,7 +36,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -91,8 +91,6 @@ if (is_android) {
@@ -99,8 +99,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -494,7 +494,7 @@ 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
@@ -1296,36 +1296,6 @@ android_aar_prebuilt("google_play_services_tasks_java") {
@@ -1220,36 +1220,6 @@ android_aar_prebuilt("google_play_services_tasks_java") {
strip_drawables = true
}
@ -531,7 +531,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("com_google_android_material_material_java") {
aar_path =
@@ -2226,62 +2196,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
@@ -2096,62 +2066,6 @@ java_prebuilt("com_github_kevinstern_software_and_algorithms_java") {
visibility = [ ":*" ]
}

View file

@ -9,7 +9,7 @@ Subject: Remove google_services_gcm
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
@@ -1137,24 +1137,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
@@ -1061,24 +1061,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
]
}

View file

@ -13,7 +13,7 @@ Subject: Remove help menu item
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -108,8 +108,6 @@
@@ -111,8 +111,6 @@
<item android:id="@+id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -1887,15 +1887,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1936,15 +1936,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -533,7 +533,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
@@ -544,7 +544,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
@Override
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.

View file

@ -17,26 +17,26 @@ ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
>>> impl/invalidation_service_util.o:(invalidation::ParseNotifierOptions(base::CommandLine const&)) in archive obj/components/invalidation/impl/libimpl.a
---
chrome/android/BUILD.gn | 3 +-
chrome/android/java/AndroidManifest.xml | 18 ---
.../android/java/res/xml/main_preferences.xml | 9 --
.../chrome/browser/app/ChromeActivity.java | 34 ------
.../DataReductionPreferenceFragment.java | 24 +---
.../privacy/settings/PrivacySettings.java | 13 +--
.../chrome/browser/settings/MainSettings.java | 108 +-----------------
.../chrome/browser/signin/SigninManager.java | 62 ++--------
.../browser/sync/AndroidSyncSettings.java | 24 +---
.../settings/SyncAndServicesSettings.java | 8 --
chrome/android/java/AndroidManifest.xml | 18 --
.../android/java/res/xml/main_preferences.xml | 9 -
.../chrome/browser/app/ChromeActivity.java | 34 ----
.../DataReductionPreferenceFragment.java | 24 +--
.../privacy/settings/PrivacySettings.java | 44 +----
.../chrome/browser/settings/MainSettings.java | 159 +-----------------
.../chrome/browser/signin/SigninManager.java | 74 +-------
.../browser/sync/AndroidSyncSettings.java | 34 +---
.../settings/SyncAndServicesSettings.java | 8 -
.../android/signin/signin_manager_android.cc | 1 -
.../strings/android_chrome_strings.grd | 12 --
.../signin/SystemAccountManagerDelegate.java | 38 +-----
.../net/HttpNegotiateAuthenticator.java | 88 +-------------
.../strings/android_chrome_strings.grd | 18 --
.../signin/SystemAccountManagerDelegate.java | 38 +----
.../net/HttpNegotiateAuthenticator.java | 88 +---------
.../chromoting/base/OAuthTokenFetcher.java | 2 -
15 files changed, 28 insertions(+), 416 deletions(-)
15 files changed, 26 insertions(+), 528 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1428,8 +1428,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
@@ -1469,8 +1469,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
@@ -44,23 +44,17 @@ by a child template that "extends" this file.
@@ -48,23 +48,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 %}
@ -73,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+. -->
@@ -101,8 +95,6 @@ by a child template that "extends" this file.
@@ -105,8 +99,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"/>
@ -82,7 +82,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
{% block extra_uses_permissions %}
{% endblock %}
@@ -881,16 +873,6 @@ by a child template that "extends" this file.
@@ -910,16 +902,6 @@ by a child template that "extends" this file.
android:resource="@xml/file_paths" />
</provider>
@ -97,8 +97,8 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
- </service>
-
<!-- Broadcast receiver that will be notified of account changes -->
<receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
<intent-filter>
<receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver"
android:exported="true">
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@ -113,7 +113,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:key="manage_sync"
android:order="5"
@@ -108,11 +104,6 @@
@@ -109,11 +105,6 @@
android:key="languages"
android:order="21"
android:title="@string/language_settings"/>
@ -128,7 +128,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -132,8 +132,6 @@ import org.chromium.chrome.browser.settings.SettingsLauncher;
@@ -135,8 +135,6 @@ import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegateImpl;
@ -137,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabDelegateFactory;
@@ -257,9 +255,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -267,9 +265,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private boolean mRemoveWindowBackgroundDone;
protected AccessibilityVisibilityHandler mAccessibilityVisibilityHandler;
@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
// The PictureInPictureController is initialized lazily https://crbug.com/729738.
private PictureInPictureController mPictureInPictureController;
@@ -846,28 +841,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -890,28 +885,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;
@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
}
@Override
@@ -933,13 +906,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -977,13 +950,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
GSAAccountChangeListener.getInstance().disconnect();
}
@ -234,7 +234,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/datareduction/s
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -42,11 +42,10 @@ public class PrivacySettings
@@ -25,9 +25,6 @@ import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
-import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
-import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
-import org.chromium.chrome.browser.sync.settings.SyncAndServicesSettings;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -46,11 +43,10 @@ public class PrivacySettings
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_SECURE_DNS = "secure_dns";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
@ -247,23 +257,54 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
};
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -86,16 +85,6 @@ public class PrivacySettings
@@ -90,47 +86,9 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
- Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
- NoUnderlineClickableSpan linkSpan = new NoUnderlineClickableSpan(getResources(), view -> {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- settingsLauncher.launchSettingsActivity(getActivity(), SyncAndServicesSettings.class,
- SyncAndServicesSettings.createArguments(false));
- });
- syncAndServicesLink.setSummary(
- SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link),
- new SpanApplier.SpanInfo("<link>", "</link>", linkSpan)));
- syncAndServicesLink.setSummary(buildSyncAndServicesLink());
-
updateSummaries();
}
- private SpannableString buildSyncAndServicesLink() {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)) {
- NoUnderlineClickableSpan syncAndServicesLink =
- new NoUnderlineClickableSpan(getResources(), v -> {
- settingsLauncher.launchSettingsActivity(getActivity(),
- SyncAndServicesSettings.class,
- SyncAndServicesSettings.createArguments(false));
- });
- return SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link_legacy),
- new SpanApplier.SpanInfo("<link>", "</link>", syncAndServicesLink));
- }
-
- NoUnderlineClickableSpan servicesLink = new NoUnderlineClickableSpan(getResources(), v -> {
- settingsLauncher.launchSettingsActivity(getActivity(), GoogleServicesSettings.class);
- });
- if (IdentityServicesProvider.get()
- .getIdentityManager(Profile.getLastUsedRegularProfile())
- .getPrimaryAccountInfo(ConsentLevel.SYNC)
- == null) {
- // Sync is off, show the string with one link to "Google Services".
- return SpanApplier.applySpans(
- getString(R.string.privacy_sync_and_services_link_sync_off),
- new SpanApplier.SpanInfo("<link>", "</link>", servicesLink));
- }
- // Otherwise, show the string with both links to "Sync" and "Google Services".
- NoUnderlineClickableSpan syncLink = new NoUnderlineClickableSpan(getResources(), v -> {
- settingsLauncher.launchSettingsActivity(getActivity(), ManageSyncSettings.class,
- ManageSyncSettings.createArguments(false));
- });
- return SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link_sync_on),
- new SpanApplier.SpanInfo("<link1>", "</link1>", syncLink),
- new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
- }
-
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
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
@ -278,28 +319,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
import org.chromium.chrome.browser.night_mode.NightModeUtils;
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchConfiguration;
import org.chromium.chrome.browser.password_check.PasswordCheck;
@@ -31,10 +29,6 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
@@ -31,14 +29,7 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
-import org.chromium.chrome.browser.signin.IdentityServicesProvider;
import org.chromium.chrome.browser.signin.SigninActivityLauncherImpl;
-import org.chromium.chrome.browser.signin.SigninManager;
-import org.chromium.chrome.browser.sync.ProfileSyncService;
-import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
-import org.chromium.chrome.browser.sync.settings.SignInPreference;
import org.chromium.chrome.browser.sync.settings.SyncPromoPreference;
import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
-import org.chromium.chrome.browser.sync.settings.SyncPromoPreference;
-import org.chromium.chrome.browser.sync.settings.SyncSettingsUtils;
import org.chromium.chrome.browser.tracing.settings.DeveloperSettings;
@@ -51,8 +45,7 @@ import java.util.Map;
import org.chromium.components.browser_ui.settings.ChromeBasePreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -56,23 +47,17 @@ import java.util.Map;
* The main settings screen, shown when the user first opens Settings.
*/
public class MainSettings extends PreferenceFragmentCompat
- implements TemplateUrlService.LoadListener, ProfileSyncService.SyncStateChangedListener,
- SigninManager.SignInStateObserver {
- public static final String PREF_SYNC_PROMO = "sync_promo";
+ implements TemplateUrlService.LoadListener {
public static final String PREF_SYNC_PROMO = "sync_promo";
public static final String PREF_ACCOUNT_SECTION = "account_section";
public static final String PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION =
@@ -67,7 +60,6 @@ public class MainSettings extends PreferenceFragmentCompat
"account_and_google_services_section";
public static final String PREF_SIGN_IN = "sign_in";
- public static final String PREF_SYNC_AND_SERVICES = "sync_and_services";
- public static final String PREF_MANAGE_SYNC = "manage_sync";
- public static final String PREF_GOOGLE_SERVICES = "google_services";
public static final String PREF_SEARCH_ENGINE = "search_engine";
public static final String PREF_PASSWORDS = "passwords";
public static final String PREF_HOMEPAGE = "homepage";
public static final String PREF_UI_THEME = "ui_theme";
public static final String PREF_PRIVACY = "privacy";
public static final String PREF_SAFETY_CHECK = "safety_check";
@ -307,23 +359,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
public static final String PREF_NOTIFICATIONS = "notifications";
public static final String PREF_DOWNLOADS = "downloads";
public static final String PREF_DEVELOPER = "developer";
@@ -79,7 +71,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -83,9 +68,6 @@ public class MainSettings extends PreferenceFragmentCompat
private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
private final Map<String, Preference> mAllPreferences = new HashMap<>();
private SyncPromoPreference mSyncPromoPreference;
- private SyncPromoPreference mSyncPromoPreference;
- private SignInPreference mSignInPreference;
private ChromeBasePreference mManageSync;
- private ChromeBasePreference mManageSync;
private @Nullable PasswordCheck mPasswordCheck;
@@ -111,7 +102,6 @@ public class MainSettings extends PreferenceFragmentCompat
public MainSettings() {
@@ -115,8 +97,6 @@ public class MainSettings extends PreferenceFragmentCompat
@Override
public void onDestroy() {
super.onDestroy();
mSyncPromoPreference.onPreferenceFragmentDestroyed();
- mSyncPromoPreference.onPreferenceFragmentDestroyed();
- mSignInPreference.onPreferenceFragmentDestroyed();
// The component should only be destroyed when the activity has been closed by the user
// (e.g. by pressing on the back button) and not when the activity is temporarily destroyed
// by the system.
@@ -121,33 +111,11 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -126,31 +106,11 @@ public class MainSettings extends PreferenceFragmentCompat
@Override
public void onStart() {
super.onStart();
@ -331,7 +386,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
- Profile.getLastUsedRegularProfile());
- if (signinManager.isSigninSupported()) {
- signinManager.addSignInStateObserver(this);
- mSyncPromoPreference.registerForUpdates();
- mSignInPreference.registerForUpdates();
- }
- ProfileSyncService syncService = ProfileSyncService.get();
@ -347,7 +401,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
- Profile.getLastUsedRegularProfile());
- if (signinManager.isSigninSupported()) {
- signinManager.removeSignInStateObserver(this);
- mSyncPromoPreference.unregisterForUpdates();
- mSignInPreference.unregisterForUpdates();
- }
- ProfileSyncService syncService = ProfileSyncService.get();
@ -357,7 +410,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
}
@Override
@@ -182,12 +150,9 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -185,12 +145,9 @@ public class MainSettings extends PreferenceFragmentCompat
cachePreferences();
@ -370,15 +423,35 @@ 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
@@ -255,7 +220,6 @@ public class MainSettings extends PreferenceFragmentCompat
mAllPreferences.put(preference.getKey(), preference);
@@ -234,17 +191,6 @@ public class MainSettings extends PreferenceFragmentCompat
.setTitle(SafetyCheckSettingsFragment.getSafetyCheckSettingsElementTitle(
getContext()));
}
mSyncPromoPreference = (SyncPromoPreference) mAllPreferences.get(PREF_SYNC_PROMO);
- mSignInPreference = (SignInPreference) mAllPreferences.get(PREF_SIGN_IN);
mManageSync = (ChromeBasePreference) findPreference(PREF_MANAGE_SYNC);
-
- // Replace the account section header, replace SyncAndServicesSettings with
- // ManageSyncSettings and add GoogleServicesSettings row if this flag is enabled.
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)) {
- getPreferenceScreen().removePreference(findPreference(PREF_ACCOUNT_SECTION));
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES));
-
- findPreference(PREF_ACCOUNT_AND_GOOGLE_SERVICES_SECTION).setVisible(true);
- mManageSync.setVisible(true);
- findPreference(PREF_GOOGLE_SERVICES).setVisible(true);
- }
}
@@ -265,24 +229,12 @@ public class MainSettings extends PreferenceFragmentCompat
/**
@@ -257,9 +203,6 @@ public class MainSettings extends PreferenceFragmentCompat
Preference preference = getPreferenceScreen().getPreference(index);
mAllPreferences.put(preference.getKey(), preference);
}
- mSyncPromoPreference = (SyncPromoPreference) mAllPreferences.get(PREF_SYNC_PROMO);
- mSignInPreference = (SignInPreference) mAllPreferences.get(PREF_SIGN_IN);
- mManageSync = (ChromeBasePreference) findPreference(PREF_MANAGE_SYNC);
}
private void setManagedPreferenceDelegateForPreference(String key) {
@@ -268,15 +211,6 @@ public class MainSettings extends PreferenceFragmentCompat
}
private void updatePreferences() {
@ -390,22 +463,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
- removePreferenceIfPresent(PREF_SIGN_IN);
- }
-
- boolean hasPrimaryAccount = IdentityServicesProvider.get()
- .getIdentityManager(Profile.getLastUsedRegularProfile())
- .hasPrimaryAccount();
- boolean isSyncPromoHidden =
- mSyncPromoPreference.getState() == SyncPromoPreference.State.PROMO_HIDDEN;
+ boolean hasPrimaryAccount = false;
+ boolean isSyncPromoHidden = true;
mManageSync.setVisible(
ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
&& hasPrimaryAccount && isSyncPromoHidden);
- updateSyncAndServicesPreference();
- updateSyncPreference();
updateSearchEnginePreference();
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
@@ -299,10 +251,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -293,10 +227,6 @@ public class MainSettings extends PreferenceFragmentCompat
} else {
removePreferenceIfPresent(PREF_DEVELOPER);
}
@ -416,23 +478,60 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
}
private Preference addPreferenceIfAbsent(String key) {
@@ -316,15 +264,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -310,52 +240,6 @@ public class MainSettings extends PreferenceFragmentCompat
if (preference != null) getPreferenceScreen().removePreference(preference);
}
- private void updateSyncPreference() {
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)) {
- updateManageSyncPreference();
- } else {
- updateSyncAndServicesPreference();
- }
- }
-
- private void updateSyncAndServicesPreference() {
- ChromeBasePreference preference = findPreference(
- ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
- ? PREF_MANAGE_SYNC
- : PREF_SYNC_AND_SERVICES);
- ChromeBasePreference preference = findPreference(PREF_SYNC_AND_SERVICES);
- preference.setIcon(SyncSettingsUtils.getSyncStatusIcon(getActivity()));
- preference.setSummary(SyncSettingsUtils.getSyncStatusSummary(getActivity()));
- }
-
- private void updateManageSyncPreference() {
- String primaryAccountName = CoreAccountInfo.getEmailFrom(
- IdentityServicesProvider.get()
- .getIdentityManager(Profile.getLastUsedRegularProfile())
- .getPrimaryAccountInfo(ConsentLevel.NOT_REQUIRED));
- boolean showManageSync =
- ChromeFeatureList.isEnabled(ChromeFeatureList.MOBILE_IDENTITY_CONSISTENCY)
- && primaryAccountName != null;
- mManageSync.setVisible(showManageSync);
- if (!showManageSync) {
- return;
- }
-
- boolean isSyncConsentAvailable =
- IdentityServicesProvider.get()
- .getIdentityManager(Profile.getLastUsedRegularProfile())
- .getPrimaryAccountInfo(ConsentLevel.SYNC)
- != null;
- mManageSync.setIcon(SyncSettingsUtils.getSyncStatusIcon(getActivity()));
- mManageSync.setSummary(SyncSettingsUtils.getSyncStatusSummary(getActivity()));
- mManageSync.setOnPreferenceClickListener(pref -> {
- if (isSyncConsentAvailable) {
- SettingsLauncher settingsLauncher = new SettingsLauncherImpl();
- settingsLauncher.launchSettingsActivity(getContext(), ManageSyncSettings.class);
- } else {
- SigninActivityLauncherImpl.get().launchActivityForPromoDefaultFlow(
- getContext(), SigninAccessPoint.SETTINGS, primaryAccountName);
- }
- return true;
- });
- }
-
private void updateSearchEnginePreference() {
if (!TemplateUrlServiceFactory.get().isLoaded()) {
ChromeBasePreference searchEnginePref =
@@ -356,34 +295,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -387,34 +271,6 @@ public class MainSettings extends PreferenceFragmentCompat
pref.setSummary(isOn ? R.string.text_on : R.string.text_off);
}
@ -467,19 +566,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
// TemplateUrlService.LoadListener implementation.
@Override
public void onTemplateUrlServiceLoaded() {
@@ -391,11 +302,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -422,11 +278,6 @@ public class MainSettings extends PreferenceFragmentCompat
updateSearchEnginePreference();
}
- @Override
- public void syncStateChanged() {
- updateSyncAndServicesPreference();
- updateSyncPreference();
- }
-
@VisibleForTesting
public ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
return mManagedPreferenceDelegate;
@@ -405,9 +311,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -436,9 +287,6 @@ public class MainSettings extends PreferenceFragmentCompat
return new ChromeManagedPreferenceDelegate() {
@Override
public boolean isPreferenceControlledByPolicy(Preference preference) {
@ -489,7 +588,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();
}
@@ -416,11 +319,6 @@ public class MainSettings extends PreferenceFragmentCompat
@@ -447,11 +295,6 @@ public class MainSettings extends PreferenceFragmentCompat
@Override
public boolean isPreferenceClickDisabledByPolicy(Preference preference) {
@ -504,15 +603,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
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,7 +23,6 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.task.PostTask;
@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.sync.AndroidSyncSettings;
-import org.chromium.components.signin.AccountTrackerService;
import org.chromium.components.signin.AccountUtils;
import org.chromium.components.signin.base.CoreAccountInfo;
import org.chromium.components.signin.identitymanager.ClearAccountsAction;
@@ -50,7 +49,7 @@ import java.util.List;
@@ -52,7 +51,7 @@ import java.util.List;
* See chrome/browser/signin/signin_manager_android.h for more details.
*/
public class SigninManager
@ -521,7 +620,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
private static final String TAG = "SigninManager";
/**
@@ -168,7 +167,6 @@ public class SigninManager
@@ -204,7 +203,6 @@ public class SigninManager
* This is not final, as destroy() updates this.
*/
private long mNativeSigninManagerAndroid;
@ -529,7 +628,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
private final IdentityManager mIdentityManager;
private final IdentityMutator mIdentityMutator;
private final AndroidSyncSettings mAndroidSyncSettings;
@@ -206,24 +204,22 @@ public class SigninManager
@@ -242,24 +240,22 @@ public class SigninManager
*/
@CalledByNative
private static SigninManager create(long nativeSigninManagerAndroid,
@ -542,7 +641,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
assert identityMutator != null;
- return new SigninManager(nativeSigninManagerAndroid, accountTrackerService, identityManager,
+ return new SigninManager(nativeSigninManagerAndroid, identityManager,
identityMutator, AndroidSyncSettings.get(), ExternalAuthUtils.getInstance());
identityMutator, AndroidSyncSettings.get(), AppHooks.get().getExternalAuthUtils());
}
@VisibleForTesting
@ -557,7 +656,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
mIdentityManager = identityManager;
mIdentityMutator = identityMutator;
mAndroidSyncSettings = androidSyncSettings;
@@ -232,7 +228,6 @@ public class SigninManager
@@ -268,7 +264,6 @@ public class SigninManager
mSigninAllowedByPolicy =
SigninManagerJni.get().isSigninAllowedByPolicy(mNativeSigninManagerAndroid);
@ -565,7 +664,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
mIdentityManager.addObserver(this);
reloadAllAccountsFromSystem();
@@ -245,7 +240,6 @@ public class SigninManager
@@ -302,7 +297,6 @@ public class SigninManager
@CalledByNative
public void destroy() {
mIdentityManager.removeObserver(this);
@ -573,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
mNativeSigninManagerAndroid = 0;
}
@@ -284,9 +278,7 @@ public class SigninManager
@@ -341,9 +335,7 @@ public class SigninManager
* Returns true if signin can be started now.
*/
public boolean isSignInAllowed() {
@ -584,7 +683,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
/**
@@ -341,17 +333,6 @@ public class SigninManager
@@ -398,17 +390,6 @@ public class SigninManager
});
}
@ -602,41 +701,53 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
/**
* Starts the sign-in flow, and executes the callback when finished.
*
@@ -420,11 +401,8 @@ public class SigninManager
}
@@ -498,11 +479,8 @@ public class SigninManager
mSignInState = signinState;
notifySignInAllowedChanged();
private void progressSignInFlowSeedSystemAccounts() {
- if (mAccountTrackerService.checkAndSeedSystemAccounts()) {
- progressSignInFlowCheckPolicy();
- } else {
- mSignInState.mBlockedOnAccountSeeding = true;
- }
+ Log.w(TAG, "Cancelling the sign-in process as Google Play services is unavailable");
+ abortSignIn();
+ //mSignInState.mBlockedOnAccountSeeding = true;
}
/**
@@ -461,19 +439,6 @@ public class SigninManager
// The user should not be already signed in
assert !mIdentityManager.hasPrimaryAccount();
@@ -549,31 +527,6 @@ public class SigninManager
mIdentityMutator.reloadAllAccountsFromSystemWithPrimaryAccount(
mSignInState.mCoreAccountInfo.getId());
- if (!mIdentityMutator.setPrimaryAccount(mSignInState.mCoreAccountInfo.getId())) {
- @ConsentLevel
- int consentLevel =
- mSignInState.shouldTurnSyncOn() ? ConsentLevel.SYNC : ConsentLevel.NOT_REQUIRED;
- if (!mIdentityMutator.setPrimaryAccount(
- mSignInState.mCoreAccountInfo.getId(), consentLevel)) {
- Log.w(TAG, "Failed to set the PrimaryAccount in IdentityManager, aborting signin");
- abortSignIn();
- return;
- }
-
- // TODO(https://crbug.com/1091858): Remove this after migrating the legacy code that uses
- // the sync account before the native is loaded.
- SigninPreferencesManager.getInstance().setLegacySyncAccountEmail(
- mSignInState.mCoreAccountInfo.getEmail());
- if (mSignInState.shouldTurnSyncOn()) {
- // TODO(https://crbug.com/1091858): Remove this after migrating the legacy code that
- // uses the sync account before the native is loaded.
- SigninPreferencesManager.getInstance().setLegacySyncAccountEmail(
- mSignInState.mCoreAccountInfo.getEmail());
-
- enableSync(mSignInState.mCoreAccountInfo);
- enableSync(mSignInState.mCoreAccountInfo);
-
- RecordUserAction.record("Signin_Signin_Succeed");
- RecordHistogram.recordEnumeratedHistogram("Signin.SigninCompletedAccessPoint",
- mSignInState.getAccessPoint(), SigninAccessPoint.MAX);
- RecordHistogram.recordEnumeratedHistogram(
- "Signin.SigninReason", SigninReason.SIGNIN_PRIMARY_ACCOUNT, SigninReason.MAX);
- }
-
if (mSignInState.mCallback != null) {
mSignInState.mCallback.onSignInComplete();
}
@@ -629,13 +594,8 @@ public class SigninManager
@@ -718,13 +671,8 @@ public class SigninManager
Log.d(TAG, "On native signout, wipe user data: " + mSignOutState.mShouldWipeUserData);
@ -650,7 +761,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
}
void finishSignOut() {
@@ -695,14 +655,6 @@ public class SigninManager
@@ -797,14 +745,6 @@ public class SigninManager
SigninManagerJni.get().stopApplyingCloudPolicy(mNativeSigninManagerAndroid);
}
@ -668,26 +779,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninMa
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyncSettings.java
@@ -216,13 +216,7 @@ public class AndroidSyncSettings {
@@ -224,12 +224,8 @@ public class AndroidSyncSettings {
private void setChromeSyncEnabled(boolean value) {
synchronized (mLock) {
- updateSyncability(null);
- if (value == mChromeSyncEnabled || mAccount == null) return;
- mChromeSyncEnabled = value;
updateSyncability();
- if (value == mChromeSyncEnabled || mAccount == null) return;
+ if (value == mChromeSyncEnabled) return;
mChromeSyncEnabled = value;
-
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
- mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mContractAuthority, value);
- StrictMode.setThreadPolicy(oldPolicy);
+ mChromeSyncEnabled = false;
}
- }
notifyObservers();
}
@@ -307,19 +301,9 @@ public class AndroidSyncSettings {
boolean oldChromeSyncEnabled = mChromeSyncEnabled;
boolean oldMasterSyncEnabled = mMasterSyncEnabled;
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
@@ -282,31 +278,9 @@ public class AndroidSyncSettings {
private boolean updateCachedSettings() {
boolean oldChromeSyncEnabled = mChromeSyncEnabled;
boolean oldMasterSyncEnabled = mMasterSyncEnabled;
-
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
- if (mAccount != null) {
- mIsSyncable =
- mSyncContentResolverDelegate.getIsSyncable(mAccount, mContractAuthority)
@ -699,13 +810,24 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/AndroidSyn
- mChromeSyncEnabled = false;
- }
- mMasterSyncEnabled = mSyncContentResolverDelegate.getMasterSyncAutomatically();
- StrictMode.setThreadPolicy(oldPolicy);
+ mIsSyncable = false;
+ mChromeSyncEnabled = false;
+ mMasterSyncEnabled = false;
- }
-
- if (mAccount != null && ProfileSyncService.get() != null
- && ChromeFeatureList.isEnabled(
- ChromeFeatureList.DECOUPLE_SYNC_FROM_ANDROID_MASTER_SYNC)
- && mMasterSyncEnabled && !mShouldDecoupleSyncFromMasterSync) {
- // Re-enabling master sync at least once should cause Sync to no longer care whether
- // the former is enabled or not. This fact should be persisted via ProfileSyncService
- // so it's known on the next startup.
- mShouldDecoupleSyncFromMasterSync = true;
- ProfileSyncService.get().setDecoupledFromAndroidMasterSync();
- }
+ mIsSyncable = false;
+ mChromeSyncEnabled = false;
+ mMasterSyncEnabled = false;
return oldChromeSyncEnabled != mChromeSyncEnabled
|| oldMasterSyncEnabled != mMasterSyncEnabled;
return oldChromeSyncEnabled != mChromeSyncEnabled
|| oldMasterSyncEnabled != mMasterSyncEnabled;
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
@ -728,7 +850,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/S
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
@@ -140,7 +140,6 @@ SigninManagerAndroid::SigninManagerAndroid(
@@ -141,7 +141,6 @@ SigninManagerAndroid::SigninManagerAndroid(
java_signin_manager_ = Java_SigninManager_create(
base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this),
@ -739,7 +861,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
@@ -269,12 +269,6 @@ CHAR-LIMIT guidelines:
@@ -269,21 +269,12 @@ CHAR-LIMIT guidelines:
<message name="IDS_SIGN_IN_TO_CHROME" desc="Title for the button to sign in to Chrome using one's Google account. [CHAR-LIMIT=27]">
Sign in to Chrome
</message>
@ -749,29 +871,34 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
- <message name="IDS_PREFS_SYNC_AND_SERVICES_CONTENT_DESCRIPTION" desc="The accessibility text to read when the 'Sync and Google services' Settings page is opened from the sign-in page. This text is attached to the 'Navigate Up' button shown at the top of the screen. The first two sentences describe the screen that is currently shown to the user, while 'Navigate up' is a description for the button this text is attached to. 'Navigate up' should match TC ID 6794660482873516081.">
- You are currently customizing your Sync and Google service settings. To finish turning on sync, tap the Confirm button near the bottom of the screen. Navigate up
- </message>
<message name="IDS_SIGNIN_PREF_DISALLOWED_TITLE" desc="Title for the signin entry in Settings when signin is disallowed.">
Not signed in
</message>
<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>
@@ -333,9 +327,6 @@ CHAR-LIMIT guidelines:
- <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>
@@ -345,15 +336,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>
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK" desc="The text for Privacy preferences that is shown after all preference rows.">
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_LEGACY" desc="The text for Privacy preferences that is shown after all preference rows.">
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Sync and Google services<ph name="END_LINK">&lt;/link&gt;</ph>
- </message>
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_ON" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync has been turned on.">
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK1">&lt;link1&gt;</ph>Sync<ph name="END_LINK1">&lt;/link1&gt;</ph> and <ph name="BEGIN_LINK2">&lt;link2&gt;</ph>Google services<ph name="END_LINK2">&lt;/link2&gt;</ph>
- </message>
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_OFF" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync hasn't been turned on.">
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google services<ph name="END_LINK">&lt;/link&gt;</ph>
- </message>
<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>
@@ -1108,9 +1099,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>
- <message name="IDS_DATA_REDUCTION_MENU_ITEM_SUMMARY_LITE_MODE" desc="Label that states the percent of mobile data that was saved by Lite mode. Lite mode allows users to to reduce their mobile data usage by compressing network traffic.">
- <ph name="PERCENT">%1$s<ex>49%</ex></ph> data savings
- </message>
<message name="IDS_DATA_REDUCTION_SAVINGS_LABEL" desc="Data Reduction statistics label that states the amount of mobile data that was saved by Lite mode. Lite mode allows users to to reduce their mobile data usage by compressing network traffic.">
data saved
</message>
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

View file

@ -13,7 +13,7 @@ See discussion at https://github.com/bromite/bromite/issues/445
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
@@ -3286,6 +3286,22 @@
@@ -3287,6 +3287,22 @@
"dont_delete_source_texture_for_egl_image"
]
},

View file

@ -26,9 +26,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggest
private boolean mBuiltListHasFullyConcealedElements;
+ private EditUrlSuggestionProcessor mEditUrlSuggestionProcessor;
DropdownItemViewInfoListBuilder() {
DropdownItemViewInfoListBuilder(AutocompleteController controller) {
mPriorityOrderedSuggestionProcessors = new ArrayList<>();
@@ -90,8 +91,9 @@ class DropdownItemViewInfoListBuilder {
@@ -91,8 +92,9 @@ class DropdownItemViewInfoListBuilder {
() -> mShareDelegateSupplier == null ? null : mShareDelegateSupplier.get();
mHeaderProcessor = new HeaderProcessor(context, host, delegate);
@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggest
registerSuggestionProcessor(
new AnswerSuggestionProcessor(context, host, textProvider, imageFetcherSupplier));
registerSuggestionProcessor(
@@ -219,6 +221,10 @@ class DropdownItemViewInfoListBuilder {
@@ -220,6 +222,10 @@ class DropdownItemViewInfoListBuilder {
/** Signals that native initialization has completed. */
void onNativeInitialized() {
@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggest
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
@@ -2811,6 +2811,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3023,6 +3023,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidAutofillAccessibilityName,
flag_descriptions::kAndroidAutofillAccessibilityDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kAndroidAutofillAccessibility)},
@ -67,7 +67,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
@@ -1884,6 +1884,11 @@
@@ -1914,6 +1914,11 @@
// with neural net palm detection.
"expiry_milestone": 90
},
@ -82,7 +82,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
@@ -3109,6 +3109,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
@@ -3153,6 +3153,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
"process to check the Safe Browsing reputation of URLs without calling "
"into GmsCore for every URL.";
@ -97,7 +97,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
@@ -1791,6 +1791,9 @@ extern const char kSafeBrowsingSecuritySectionUiAndroidDescription[];
@@ -1812,6 +1812,9 @@ extern const char kSafeBrowsingSecuritySectionUiAndroidDescription[];
extern const char kSafeBrowsingUseLocalBlacklistsV2Name[];
extern const char kSafeBrowsingUseLocalBlacklistsV2Description[];
@ -110,29 +110,29 @@ 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
@@ -188,6 +188,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
@@ -182,6 +182,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kReachedCodeProfiler,
&kReaderModeInCCT,
&kReengagementNotification,
+ &kSearchReadyOmniboxFeature,
&kRelatedSearches,
&kRevampedContextMenu,
&kSearchEnginePromoExistingDevice,
@@ -573,6 +574,9 @@ const base::Feature kRelatedSearches{"RelatedSearches",
const base::Feature kRevampedContextMenu{"RevampedContextMenu",
base::FEATURE_ENABLED_BY_DEFAULT};
&kSearchEnginePromoNewDevice,
@@ -545,6 +546,9 @@ const base::Feature kReengagementNotification{
const base::Feature kRelatedSearches{"RelatedSearches",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kSearchReadyOmniboxFeature{
+ "SearchReadyOmnibox", base::FEATURE_DISABLED_BY_DEFAULT};
+
const base::Feature kServiceManagerForBackgroundPrefetch{
"ServiceManagerForBackgroundPrefetch", base::FEATURE_DISABLED_BY_DEFAULT};
"ServiceManagerForBackgroundPrefetch", base::FEATURE_ENABLED_BY_DEFAULT};
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
@@ -107,6 +107,7 @@ extern const base::Feature kRelatedSearches;
extern const base::Feature kRevampedContextMenu;
@@ -100,6 +100,7 @@ extern const base::Feature kReaderModeInCCT;
extern const base::Feature kRelatedSearches;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoNewDevice;
+extern const base::Feature kSearchReadyOmniboxFeature;
@ -142,7 +142,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
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
@@ -332,6 +332,7 @@ public abstract class ChromeFeatureList {
@@ -326,6 +326,7 @@ public abstract class ChromeFeatureList {
public static final String OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT =
"OmniboxAdaptiveSuggestionsCount";
public static final String OMNIBOX_ASSISTANT_VOICE_SEARCH = "OmniboxAssistantVoiceSearch";

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 7 Nov 2020 23:51:29 +0100
Subject: Revert "Remove some obsolete NTP code post Simplified NTP launch"
Subject: Restore Simplified NTP launch
This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
---
@ -29,7 +29,7 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
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
@@ -960,6 +960,7 @@ chrome_java_resources = [
@@ -911,6 +911,7 @@ chrome_java_resources = [
"java/res/layout/new_tab_page_snippets_expandable_header.xml",
"java/res/layout/new_tab_page_snippets_expandable_header_with_menu.xml",
"java/res/layout/new_tab_page_tile_grid_placeholder.xml",
@ -40,7 +40,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
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
@@ -711,6 +711,7 @@ chrome_java_sources = [
@@ -702,6 +702,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/feedback/IMEFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/InterestFeedFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/LowEndDeviceFeedbackSource.java",
@ -52,8 +52,8 @@ diff --git a/chrome/android/java/res/layout/new_tab_page_layout.xml b/chrome/and
--- a/chrome/android/java/res/layout/new_tab_page_layout.xml
+++ b/chrome/android/java/res/layout/new_tab_page_layout.xml
@@ -60,6 +60,13 @@
android:layout="@layout/new_tab_page_offline_card"
android:inflatedId="@+id/explore_offline_card" />
android:layout="@layout/video_tutorial_iph_card"
android:inflatedId="@+id/video_iph_card"/>
+ <ViewStub
+ android:id="@+id/shortcuts_stub"
@ -156,8 +156,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/Chrome
sources.add(new PermissionFeedbackSource());
+ sources.add(new SimplifiedNtpFeedbackSource());
sources.add(new FeedbackContextFeedbackSource(initParams.feedbackContext));
sources.add(new DuetFeedbackSource());
return sources;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.java
new file mode 100644
--- /dev/null
@ -211,9 +211,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.compositor.layouts.content.InvalidationAwareThumbnailProvider;
import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer;
import org.chromium.chrome.browser.download.DownloadOpenSource;
@@ -96,6 +97,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
private Supplier<Tab> mTabProvider;
import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection;
@@ -94,6 +95,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
private UiConfig mUiConfig;
private CallbackController mCallbackController = new CallbackController();
+ private ViewGroup mShortcutsView;
@ -221,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
@@ -256,6 +259,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -253,6 +256,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
}
mNoSearchLogoSpacer = findViewById(R.id.no_search_logo_spacer);
@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLayoutChangeListener();
@@ -552,10 +556,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -551,10 +555,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
* Updates the padding for the tile grid based on what is shown above it.
*/
private void updateTileGridPadding() {
@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSiteSectionViewHolder.itemView.setPadding(
0, paddingTop, 0, mSiteSectionViewHolder.itemView.getPaddingBottom());
}
@@ -889,6 +899,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -887,6 +897,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
mSearchBoxCoordinator.destroy();
}
@ -319,7 +319,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
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
@@ -3318,6 +3318,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3542,6 +3542,9 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE_AND_VALUE(
switches::kForceShowUpdateMenuItemCustomSummary,
"Custom Summary")},
@ -332,7 +332,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
@@ -3147,6 +3147,9 @@ const char kStartSurfaceAndroidDescription[] =
@@ -3196,6 +3196,9 @@ const char kStartSurfaceAndroidDescription[] =
"Enable showing the start surface when launching Chrome via the "
"launcher.";
@ -345,9 +345,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
@@ -1812,6 +1812,9 @@ extern const char kShoppingAssistDescription[];
extern const char kSiteIsolationForPasswordSitesName[];
extern const char kSiteIsolationForPasswordSitesDescription[];
@@ -1836,6 +1836,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
extern const char kSmartSuggestionForLargeDownloadsName[];
extern const char kSmartSuggestionForLargeDownloadsDescription[];
+extern const char kSimplifiedNtpName[];
+extern const char kSimplifiedNtpDescription[];
@ -358,7 +358,7 @@ 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
@@ -179,6 +179,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
@@ -173,6 +173,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kNewPhotoPicker,
&kNotificationSuspender,
&kOfflineIndicatorV2,
@ -366,7 +366,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kOmniboxSpareRenderer,
&kOverlayNewLayout,
&kPayWithGoogleV1,
@@ -539,6 +540,9 @@ const base::Feature kNotificationSuspender{"NotificationSuspender",
@@ -514,6 +515,9 @@ const base::Feature kNotificationSuspender{"NotificationSuspender",
const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -379,7 +379,7 @@ 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
@@ -94,6 +94,7 @@ extern const base::Feature kLanguagesPreference;
@@ -88,6 +88,7 @@ extern const base::Feature kLanguagesPreference;
extern const base::Feature kNewPhotoPicker;
extern const base::Feature kNotificationSuspender;
extern const base::Feature kOfflineIndicatorV2;
@ -390,14 +390,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
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
@@ -312,6 +312,7 @@ public abstract class ChromeFeatureList {
public static final String SEARCH_ENGINE_PROMO_EXISTING_DEVICE =
"SearchEnginePromo.ExistingDevice";
public static final String SEARCH_ENGINE_PROMO_NEW_DEVICE = "SearchEnginePromo.NewDevice";
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
@@ -306,6 +306,7 @@ public abstract class ChromeFeatureList {
public static final String LOOKALIKE_NAVIGATION_URL_SUGGESTIONS_UI =
"LookalikeUrlNavigationSuggestionsUI";
public static final String MARK_HTTP_AS = "MarkHttpAs";
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
public static final String MESSAGES_FOR_ANDROID_INFRASTRUCTURE =
"MessagesForAndroidInfrastructure";
public static final String MOBILE_IDENTITY_CONSISTENCY = "MobileIdentityConsistency";
public static final String MODAL_PERMISSION_PROMPTS = "ModalPermissionPrompts";
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
@ -423,7 +423,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -6630,6 +6630,24 @@
@@ -6668,6 +6668,24 @@
]
}
],

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
@@ -1651,7 +1651,7 @@
@@ -1666,7 +1666,7 @@
{
"name": "enable-horizontal-tab-switcher",
"owners": [ "memex-team@google.com" ],

View file

@ -4,48 +4,13 @@ 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 | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
media/gpu/android/video_frame_factory_impl.cc | 5 ++++-
7 files changed, 29 insertions(+), 2 deletions(-)
gpu/config/gpu_finch_features.cc | 4 ++++
gpu/config/gpu_finch_features.h | 1 +
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
5 files changed, 20 insertions(+), 1 deletion(-)
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 "media/base/android/media_codec_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gl/gl_bindings.h"
@@ -31,6 +33,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);
@@ -70,6 +74,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
@ -102,7 +67,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
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
@@ -547,6 +547,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -566,6 +566,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
@ -116,7 +81,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
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
@@ -192,6 +192,7 @@ MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
@@ -198,6 +198,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;
@ -124,28 +89,6 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
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
@@ -6,6 +6,7 @@
#include <memory>
+#include "base/android/android_image_reader_compat.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/callback.h"
@@ -65,7 +66,9 @@ gpu::TextureOwner::Mode GetTextureOwnerMode(
switch (overlay_mode) {
case VideoFrameFactory::OverlayMode::kDontRequestPromotionHints:
case VideoFrameFactory::OverlayMode::kRequestPromotionHints:
- return features::IsAImageReaderEnabled()
+ return base::android::AndroidImageReader::GetInstance().IsSupported() &&
+ features::IsAImageReaderEnabled() &&
+ base::FeatureList::IsEnabled(media::kAImageReaderVideoOutput)
? gpu::TextureOwner::Mode::kAImageReaderInsecure
: gpu::TextureOwner::Mode::kSurfaceTextureInsecure;
case VideoFrameFactory::OverlayMode::kSurfaceControlSecure:
--
2.17.1

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
@@ -2836,6 +2836,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3048,6 +3048,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
#endif // OS_MAC
#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
@@ -890,6 +890,11 @@
@@ -900,6 +900,11 @@
// enable-javascript-harmony.
"expiry_milestone": -1
},
@ -42,7 +42,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
@@ -3053,6 +3053,10 @@ const char kQueryTilesInstantFetchName[] = "Query tile instant fetch";
@@ -3086,6 +3086,10 @@ const char kQueryTilesInstantFetchName[] = "Query tile instant fetch";
const char kQueryTilesInstantFetchDescription[] =
"Immediately schedule background task to fetch query tiles";
@ -56,7 +56,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
@@ -1762,6 +1762,9 @@ extern const char kQueryTilesCountryCodeIndonesia[];
@@ -1777,6 +1777,9 @@ extern const char kQueryTilesLocalOrderingDescription[];
extern const char kQueryTilesInstantFetchName[];
extern const char kQueryTilesInstantFetchDescription[];

View file

@ -14,7 +14,7 @@ This reverts commit dcd5a39518246eb999f1cc63bf1ec95d93fd5b2f.
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 @@
@@ -23,6 +23,8 @@
namespace base {
namespace android {
@ -23,7 +23,7 @@ diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_
AndroidImageReader& AndroidImageReader::GetInstance() {
// C++11 static local variable initialization is
// thread-safe.
@@ -29,8 +31,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
@@ -30,8 +32,12 @@ AndroidImageReader& AndroidImageReader::GetInstance() {
return *instance;
}
@ -36,7 +36,7 @@ diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_
+ return !disable_support_ && is_supported_;
}
AndroidImageReader::AndroidImageReader() {
// static
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
@ -51,13 +51,13 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
// 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();
jobject ANativeWindow_toSurface(JNIEnv* env, ANativeWindow* window);
private:
+ static bool disable_support_;
bool is_supported_;
pAImage_delete AImage_delete_;
pAImage_deleteAsync AImage_deleteAsync_;
friend class base::NoDestructor<AndroidImageReader>;
AndroidImageReader();
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
@ -97,7 +97,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
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
@@ -710,6 +710,12 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
@@ -727,6 +727,12 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
AdjustInfoToSwiftShader();
}
@ -110,7 +110,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
#if defined(USE_OZONE)
if (features::IsUsingOzonePlatform()) {
const std::vector<gfx::BufferFormat>
@@ -729,6 +735,11 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
@@ -746,6 +752,11 @@ void GpuInit::InitializeInProcess(base::CommandLine* command_line,
gl::DirectCompositionSurfaceWin::DisableDecodeSwapChain();
#endif

View file

@ -3,7 +3,7 @@ Date: Sat, 7 Nov 2020 21:59:18 +0000
Subject: Revert the removal of an option to block autoplay
---
.../browser_ui/site_settings/android/BUILD.gn | 5 +++++
.../browser_ui/site_settings/android/BUILD.gn | 5 ++++
.../res/drawable-hdpi/settings_autoplay.png | Bin 0 -> 456 bytes
.../res/drawable-mdpi/settings_autoplay.png | Bin 0 -> 296 bytes
.../res/drawable-xhdpi/settings_autoplay.png | Bin 0 -> 551 bytes
@ -11,22 +11,22 @@ Subject: Revert the removal of an option to block autoplay
.../drawable-xxxhdpi/settings_autoplay.png | Bin 0 -> 1064 bytes
.../res/xml/single_website_preferences.xml | 2 ++
.../res/xml/site_settings_preferences.xml | 4 ++++
.../ContentSettingsResources.java | 5 +++++
.../ContentSettingsResources.java | 5 ++++
.../site_settings/SingleCategorySettings.java | 4 ++++
.../site_settings/SingleWebsiteSettings.java | 21 ++++++++++++++++++
.../site_settings/SiteSettingsCategory.java | 12 +++++++---
.../site_settings/SingleWebsiteSettings.java | 21 +++++++++++++++++
.../site_settings/SiteSettingsCategory.java | 9 +++++--
.../browser_ui/site_settings/Website.java | 8 +++++++
.../WebsitePermissionsFetcher.java | 5 +++++
.../WebsitePreferenceBridge.java | 9 ++++++++
.../android/website_preference_bridge.cc | 18 +++++++++++++++
.../strings/android/site_settings.grdp | 9 ++++++++
.../WebsitePermissionsFetcher.java | 1 +
.../WebsitePreferenceBridge.java | 12 ++++++++++
.../android/website_preference_bridge.cc | 22 ++++++++++++++++++
.../strings/android/site_settings.grdp | 9 +++++++
.../core/browser/content_settings_registry.cc | 2 +-
.../core/browser/content_settings_utils.cc | 2 ++
.../core/common/content_settings.cc | 1 +
.../core/common/content_settings.h | 1 +
.../core/common/content_settings.mojom | 1 +
.../common/content_settings_mojom_traits.cc | 1 +
.../common/content_settings_mojom_traits.h | 5 +++++
.../common/content_settings_mojom_traits.h | 5 ++++
.../renderer/content_settings_agent_impl.cc | 11 +++++++++
.../renderer/content_settings_agent_impl.h | 1 +
.../android/page_info_controller_android.cc | 1 +
@ -36,7 +36,7 @@ Subject: Revert the removal of an option to block autoplay
.../platform/web_content_settings_client.h | 3 +++
.../core/html/media/autoplay_policy.cc | 12 +++++++++-
.../core/html/media/autoplay_policy.h | 4 ++++
33 files changed, 152 insertions(+), 5 deletions(-)
33 files changed, 153 insertions(+), 4 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
@ -181,7 +181,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/single_web
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -65,6 +65,10 @@
@@ -61,6 +61,10 @@
<org.chromium.components.browser_ui.settings.ChromeBasePreference
android:fragment="org.chromium.components.browser_ui.site_settings.SingleCategorySettings"
android:key="protected_content" />
@ -210,7 +210,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -637,6 +637,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -513,6 +513,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
int resource = 0;
if (mCategory.showSites(SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS)) {
resource = R.string.website_settings_add_site_description_automatic_downloads;
@ -219,7 +219,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC)) {
resource = R.string.website_settings_add_site_description_background_sync;
} else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) {
@@ -754,6 +756,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -621,6 +623,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
boolean exception = false;
if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) {
exception = true;
@ -231,25 +231,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -96,6 +96,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return "sound_permission_list";
case ContentSettingsType.TIMEZONE_OVERRIDE:
return "timezone_override_permission_list";
@@ -100,6 +100,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return "bluetooth_scanning_permission_list";
case ContentSettingsType.COOKIES:
return "cookies_permission_list";
+ case ContentSettingsType.AUTOPLAY:
+ return "autoplay_permission_list";
default:
return null;
}
@@ -422,6 +424,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.IDLE_DETECTION:
return "idle_detection_permission_list";
case ContentSettingsType.JAVASCRIPT:
@@ -415,6 +417,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpSoundPreference(preference);
} else if (type == ContentSettingsType.JAVASCRIPT) {
setUpJavascriptPreference(preference);
} else if (type == ContentSettingsType.COOKIES) {
setUpCookiePreference(preference);
+ } else if (type == ContentSettingsType.AUTOPLAY) {
+ setUpAutoplayPreference(preference);
} else {
// ContentSettingException can not be embargoed.
setUpListPreference(preference, mSite.getContentSettingPermission(type),
@@ -890,6 +894,23 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} else if (type == ContentSettingsType.COOKIES) {
setUpCookiePreference(preference);
} else if (type == ContentSettingsType.GEOLOCATION) {
@@ -872,6 +876,23 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
}
@ -271,28 +271,25 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ }
+
private void setUpSoundPreference(Preference preference) {
@ContentSettingValues
@Nullable
BrowserContextHandle browserContextHandle =
getSiteSettingsClient().getBrowserContextHandle();
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
@@ -42,7 +42,8 @@ public class SiteSettingsCategory {
Type.BACKGROUND_SYNC, Type.BLUETOOTH, Type.BLUETOOTH_SCANNING, Type.CAMERA,
Type.CLIPBOARD, Type.COOKIES, Type.DEVICE_LOCATION, Type.JAVASCRIPT, Type.MICROPHONE,
Type.NFC, Type.NOTIFICATIONS, Type.POPUPS, Type.PROTECTED_MEDIA, Type.SENSORS,
- Type.SOUND, Type.USB, Type.VIRTUAL_REALITY, Type.USE_STORAGE, Type.TIMEZONE_OVERRIDE})
+ Type.SOUND, Type.USB, Type.VIRTUAL_REALITY, Type.USE_STORAGE, Type.TIMEZONE_OVERRIDE,
+ Type.AUTOPLAY})
@@ -43,7 +43,7 @@ public class SiteSettingsCategory {
Type.CLIPBOARD, Type.COOKIES, Type.IDLE_DETECTION, Type.DEVICE_LOCATION,
Type.JAVASCRIPT, Type.MICROPHONE, Type.NFC, Type.NOTIFICATIONS, Type.POPUPS,
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
- Type.USE_STORAGE})
+ Type.USE_STORAGE, Type.AUTOPLAY})
@Retention(RetentionPolicy.SOURCE)
public @interface Type {
// Values used to address array index - should be enumerated from 0 and can't have gaps.
@@ -70,11 +71,12 @@ public class SiteSettingsCategory {
int BLUETOOTH = 19;
int VIRTUAL_REALITY = 20;
int USE_STORAGE = 21;
- int TIMEZONE_OVERRIDE = 22; // Always last as it should appear in the UI at the bottom.
+ int TIMEZONE_OVERRIDE = 22;
+ int AUTOPLAY = 23; // Always last as it should appear in the UI at the bottom.
// All updates here must also be reflected in {@link #preferenceKey(int)
@@ -71,10 +71,11 @@ public class SiteSettingsCategory {
int BLUETOOTH = 20;
int VIRTUAL_REALITY = 21;
int USE_STORAGE = 22;
+ int AUTOPLAY = 23;
/**
* Number of handled categories used for calculating array sizes.
*/
@ -301,28 +298,28 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private final BrowserContextHandle mBrowserContextHandle;
@@ -192,6 +194,8 @@ public class SiteSettingsCategory {
return ContentSettingsType.VR;
case Type.TIMEZONE_OVERRIDE:
return ContentSettingsType.TIMEZONE_OVERRIDE;
@@ -180,6 +181,8 @@ public class SiteSettingsCategory {
return ContentSettingsType.NFC;
case Type.NOTIFICATIONS:
return ContentSettingsType.NOTIFICATIONS;
+ case Type.AUTOPLAY:
+ return ContentSettingsType.AUTOPLAY;
// case Type.ALL_SITES
// case Type.USE_STORAGE
default:
@@ -265,6 +269,8 @@ public class SiteSettingsCategory {
return "virtual_reality";
case Type.TIMEZONE_OVERRIDE:
return "timezone_override";
case Type.POPUPS:
return ContentSettingsType.POPUPS;
case Type.PROTECTED_MEDIA:
@@ -251,6 +254,8 @@ public class SiteSettingsCategory {
return "nfc";
case Type.NOTIFICATIONS:
return "notifications";
+ case Type.AUTOPLAY:
+ return "autoplay";
default:
assert false;
return "";
case Type.POPUPS:
return "popups";
case Type.PROTECTED_MEDIA:
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -226,6 +226,14 @@ public final class Website implements Serializable {
@@ -216,6 +216,14 @@ public final class Website implements Serializable {
} else {
RecordUserAction.record("JavascriptContentSetting.DisableBy.SiteSettings");
}
@ -340,82 +337,96 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -125,6 +125,8 @@ public class WebsitePermissionsFetcher {
queue.add(new ExceptionInfoFetcher(ContentSettingsType.BACKGROUND_SYNC));
// Automatic Downloads permission is per-origin.
queue.add(new ExceptionInfoFetcher(ContentSettingsType.AUTOMATIC_DOWNLOADS));
+ // Autoplay permission is per-origin.
+ queue.add(new ExceptionInfoFetcher(ContentSettingsType.AUTOPLAY));
// USB device permission is per-origin and per-embedder.
queue.add(new ChooserExceptionInfoFetcher(ContentSettingsType.USB_GUARD));
// Clipboard info is per-origin.
@@ -230,6 +232,9 @@ public class WebsitePermissionsFetcher {
} else if (category.showSites(SiteSettingsCategory.Type.PROTECTED_MEDIA)) {
// Protected media identifier permission is per-origin and per-embedder.
queue.add(new PermissionInfoFetcher(PermissionInfo.Type.PROTECTED_MEDIA_IDENTIFIER));
+ } else if (category.showSites(SiteSettingsCategory.Type.AUTOPLAY)) {
+ // Autoplay permission is per-origin.
+ queue.add(new ExceptionInfoFetcher(ContentSettingsType.AUTOPLAY));
} else if (category.showSites(SiteSettingsCategory.Type.USB)) {
// USB device permission is per-origin.
queue.add(new ChooserExceptionInfoFetcher(ContentSettingsType.USB_GUARD));
@@ -60,6 +60,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.AUTOMATIC_DOWNLOADS:
case ContentSettingsType.BACKGROUND_SYNC:
case ContentSettingsType.BLUETOOTH_SCANNING:
+ case ContentSettingsType.AUTOPLAY:
case ContentSettingsType.COOKIES:
case ContentSettingsType.JAVASCRIPT:
case ContentSettingsType.POPUPS:
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -368,6 +368,10 @@ public class WebsitePreferenceBridge {
WebsitePreferenceBridgeJni.get().setAutomaticDownloadsEnabled(
browserContextHandle, allow);
break;
+ case ContentSettingsType.AUTOPLAY:
+ WebsitePreferenceBridgeJni.get().setAutoplayEnabled(
+ browserContextHandle, allow);
+ break;
case ContentSettingsType.BACKGROUND_SYNC:
WebsitePreferenceBridgeJni.get().setBackgroundSyncEnabled(
browserContextHandle, allow);
@@ -433,6 +437,9 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.AUTOMATIC_DOWNLOADS:
return WebsitePreferenceBridgeJni.get().getAutomaticDownloadsEnabled(
browserContextHandle);
+ case ContentSettingsType.AUTOPLAY:
+ return WebsitePreferenceBridgeJni.get().getAutoplayEnabled(
+ browserContextHandle);
case ContentSettingsType.BACKGROUND_SYNC:
return WebsitePreferenceBridgeJni.get().getBackgroundSyncEnabled(
browserContextHandle);
@@ -740,5 +747,7 @@ public class WebsitePreferenceBridge {
void setVrEnabled(BrowserContextHandle browserContextHandle, boolean enabled);
String getCustomTimezone(BrowserContextHandle browserContextHandle);
void setCustomTimezone(BrowserContextHandle browserContextHandle, String timezone);
+ boolean getAutoplayEnabled(BrowserContextHandle browserContextHandle);
+ void setAutoplayEnabled(BrowserContextHandle browserContextHandle, boolean enabled);
@@ -62,6 +62,8 @@ public class WebsitePreferenceBridge {
WebsitePreferenceBridgeJni.get().getNfcOrigins(browserContextHandle, list);
} else if (type == ContentSettingsType.NOTIFICATIONS) {
WebsitePreferenceBridgeJni.get().getNotificationOrigins(browserContextHandle, list);
+ } else if (type == ContentSettingsType.AUTOPLAY) {
+ WebsitePreferenceBridgeJni.get().getAutoplayOrigins(browserContextHandle, list);
} else if (type == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) {
WebsitePreferenceBridgeJni.get().getProtectedMediaIdentifierOrigins(
browserContextHandle, list);
@@ -101,6 +103,13 @@ public class WebsitePreferenceBridge {
ContentSettingsType.MEDIASTREAM_CAMERA, list, origin, embedder, isEmbargoed);
}
}
+ @CalledByNative
+ private static void insertAutoplayInfoIntoList(
+ ArrayList<PermissionInfo> list, String origin, String embedder, boolean isEmbargoed) {
+ insertInfoIntoList(
+ ContentSettingsType.AUTOPLAY, list, origin, embedder, isEmbargoed);
+ }
+
@CalledByNative
private static void insertClipboardInfoIntoList(
ArrayList<PermissionInfo> list, String origin, String embedder, boolean isEmbargoed) {
@@ -437,6 +446,7 @@ public class WebsitePreferenceBridge {
BrowserContextHandle browserContextHandle, Object list, boolean managedOnly);
void getMidiOrigins(BrowserContextHandle browserContextHandle, Object list);
void getNotificationOrigins(BrowserContextHandle browserContextHandle, Object list);
+ void getAutoplayOrigins(BrowserContextHandle browserContextHandle, Object list);
void getNfcOrigins(BrowserContextHandle browserContextHandle, Object list);
void getProtectedMediaIdentifierOrigins(
BrowserContextHandle browserContextHandle, Object list);
@@ -485,6 +495,8 @@ public class WebsitePreferenceBridge {
String embedder, int value);
void setNotificationSettingForOrigin(
BrowserContextHandle browserContextHandle, String origin, int value);
+ void setAutoplaySettingForOrigin(
+ BrowserContextHandle browserContextHandle, String origin, int value);
void reportNotificationRevokedForOrigin(
BrowserContextHandle browserContextHandle, String origin, int newSettingValue);
void setProtectedMediaIdentifierSettingForOrigin(BrowserContextHandle browserContextHandle,
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -1443,3 +1443,21 @@ static base::android::ScopedJavaLocalRef<jstring> JNI_WebsitePreferenceBridge_Ge
GetHostContentSettingsMap(jbrowser_context_handle)->GetTimezoneOverrideValue(timezone);
return ConvertUTF8ToJavaString(env, timezone);
@@ -579,6 +579,17 @@ static void JNI_WebsitePreferenceBridge_GetCameraOrigins(
managedOnly);
}
+
+static jboolean JNI_WebsitePreferenceBridge_GetAutoplayEnabled(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jbrowser_context_handle) {
+ return GetBooleanForContentSetting(jbrowser_context_handle,
+ ContentSettingsType::AUTOPLAY);
+}
+
+static void JNI_WebsitePreferenceBridge_SetAutoplayEnabled(
+static void JNI_WebsitePreferenceBridge_GetAutoplayOrigins(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jbrowser_context_handle,
+ jboolean allow) {
+ GetHostContentSettingsMap(jbrowser_context_handle)
+ ->SetDefaultContentSetting(
+ ContentSettingsType::AUTOPLAY,
+ allow ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK);
+ const JavaParamRef<jobject>& list,
+ jboolean managedOnly) {
+ GetOrigins(env, jbrowser_context_handle,
+ ContentSettingsType::AUTOPLAY,
+ &Java_WebsitePreferenceBridge_insertAutoplayInfoIntoList, list,
+ managedOnly);
+}
+
static void JNI_WebsitePreferenceBridge_GetMicrophoneOrigins(
JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -631,6 +642,17 @@ static void JNI_WebsitePreferenceBridge_SetCameraSettingForOrigin(
static_cast<ContentSetting>(value));
}
+static void JNI_WebsitePreferenceBridge_SetAutoplaySettingForOrigin(
+ JNIEnv* env,
+ const JavaParamRef<jobject>& jbrowser_context_handle,
+ const JavaParamRef<jstring>& origin,
+ jint value) {
+ // Here 'nullptr' indicates that autoplay uses wildcard for embedder.
+ SetSettingForOrigin(env, jbrowser_context_handle,
+ ContentSettingsType::AUTOPLAY, origin, nullptr,
+ static_cast<ContentSetting>(value));
+}
+
static jboolean JNI_WebsitePreferenceBridge_IsContentSettingsPatternValid(
JNIEnv* env,
const JavaParamRef<jstring>& pattern) {
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@ -438,7 +449,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -324,7 +324,7 @@ void ContentSettingsRegistry::Init() {
@@ -323,7 +323,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@ -458,7 +469,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ ResourceIdentifier(), &(rules->autoplay_rules));
map->GetSettingsForOneType(ContentSettingsType::POPUPS, ResourceIdentifier(),
&(rules->popup_redirect_rules));
}
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@ -469,7 +480,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
+ content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::CLIENT_HINTS ||
content_type == ContentSettingsType::POPUPS ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::MIXEDSCRIPT;
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
--- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h
@ -480,7 +491,7 @@ diff --git a/components/content_settings/core/common/content_settings.h b/compon
+ ContentSettingsForOneType autoplay_rules;
ContentSettingsForOneType popup_redirect_rules;
ContentSettingsForOneType mixed_content_rules;
ContentSettingsForOneType timezone_override_rules;
};
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
--- a/components/content_settings/core/common/content_settings.mojom
+++ b/components/content_settings/core/common/content_settings.mojom
@ -491,7 +502,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
+ array<ContentSettingPatternSource> autoplay_rules;
array<ContentSettingPatternSource> popup_redirect_rules;
array<ContentSettingPatternSource> mixed_content_rules;
array<ContentSettingPatternSource> timezone_override_rules;
};
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
@ -501,12 +512,12 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
data.ReadScriptRules(&out->script_rules) &&
+ data.ReadAutoplayRules(&out->autoplay_rules) &&
data.ReadPopupRedirectRules(&out->popup_redirect_rules) &&
data.ReadMixedContentRules(&out->mixed_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
data.ReadMixedContentRules(&out->mixed_content_rules);
}
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
@@ -134,6 +134,11 @@ struct StructTraits<
@@ -135,6 +135,11 @@ struct StructTraits<
return r.script_rules;
}
@ -521,8 +532,8 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -425,6 +425,17 @@ bool ContentSettingsAgentImpl::AllowRunningInsecureContent(
return allow;
@@ -429,6 +429,17 @@ bool ContentSettingsAgentImpl::AllowRunningInsecureContent(
return false;
}
+bool ContentSettingsAgentImpl::AllowAutoplay(bool default_value) {
@ -542,7 +553,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
--- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -98,6 +98,7 @@ class ContentSettingsAgentImpl
@@ -96,6 +96,7 @@ class ContentSettingsAgentImpl
void DidNotAllowScript() override;
bool AllowRunningInsecureContent(bool allowed_per_settings,
const blink::WebURL& url) override;
@ -553,7 +564,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -120,6 +120,7 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -134,6 +134,7 @@ void PageInfoControllerAndroid::SetPermissionInfo(
permissions_to_display.push_back(ContentSettingsType::ADS);
permissions_to_display.push_back(
ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER);
@ -564,7 +575,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -102,6 +102,7 @@ ContentSettingsType kPermissionType[] = {
@@ -100,6 +100,7 @@ ContentSettingsType kPermissionType[] = {
ContentSettingsType::ADS,
ContentSettingsType::BACKGROUND_SYNC,
ContentSettingsType::SOUND,
@ -572,7 +583,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
ContentSettingsType::AUTOMATIC_DOWNLOADS,
#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER,
@@ -168,6 +169,11 @@ bool ShouldShowPermission(const PageInfoUI::PermissionInfo& info,
@@ -142,6 +143,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return is_subresource_filter_activated;
}
@ -587,7 +598,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
--- a/components/page_info/page_info_ui.cc
+++ b/components/page_info/page_info_ui.cc
@@ -162,6 +162,7 @@ base::span<const PermissionsUIInfo> GetContentSettingsUIInfo() {
@@ -163,6 +163,7 @@ base::span<const PermissionsUIInfo> GetContentSettingsUIInfo() {
IDS_PAGE_INFO_TYPE_PROTECTED_MEDIA_IDENTIFIER},
#endif
{ContentSettingsType::ADS, IDS_PAGE_INFO_TYPE_ADS},
@ -598,7 +609,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
diff --git a/components/page_info_strings.grdp b/components/page_info_strings.grdp
--- a/components/page_info_strings.grdp
+++ b/components/page_info_strings.grdp
@@ -275,6 +275,9 @@
@@ -278,6 +278,9 @@
<message name="IDS_PAGE_INFO_TYPE_SOUND" desc="The label used for the sound permission controls in the Page Info popup.">
Sound
</message>
@ -611,7 +622,7 @@ diff --git a/components/page_info_strings.grdp b/components/page_info_strings.gr
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
--- a/third_party/blink/public/platform/web_content_settings_client.h
+++ b/third_party/blink/public/platform/web_content_settings_client.h
@@ -92,6 +92,9 @@ class WebContentSettingsClient {
@@ -87,6 +87,9 @@ class WebContentSettingsClient {
// interface.
virtual bool AllowMutationEvents(bool default_value) { return default_value; }

View file

@ -4,23 +4,23 @@ Subject: Show site settings for cookies
Avoid displaying info about intrusive ads
---
.../site_settings/SingleWebsiteSettings.java | 58 +++++++++----------
.../site_settings/SingleWebsiteSettings.java | 59 +++++++++----------
.../browser_ui/site_settings/Website.java | 14 +++--
2 files changed, 36 insertions(+), 36 deletions(-)
2 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -418,6 +418,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -415,6 +415,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpSoundPreference(preference);
} else if (type == ContentSettingsType.JAVASCRIPT) {
setUpJavascriptPreference(preference);
+ } else if (type == ContentSettingsType.COOKIES) {
+ setUpCookiePreference(preference);
} else {
// ContentSettingException can not be embargoed.
setUpListPreference(preference, mSite.getContentSettingPermission(type),
@@ -727,18 +729,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} else if (type == ContentSettingsType.GEOLOCATION) {
setUpLocationPreference(preference);
} else if (type == ContentSettingsType.NOTIFICATIONS) {
@@ -732,18 +734,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
private void setUpAdsInformationalBanner() {
@ -41,16 +41,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private SiteSettingsCategory getWarningCategory() {
@@ -899,13 +891,29 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
@@ -906,14 +898,31 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@Nullable
Integer currentValue = mSite.getContentSettingPermission(ContentSettingsType.JAVASCRIPT);
Integer currentValue =
mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT);
- // If Javascript is blocked by default, then always show a Javascript permission.
- // To do this, set it to the default value (blocked).
- if ((currentValue == null)
- && !WebsitePreferenceBridge.isCategoryEnabled(
- getSiteSettingsClient().getBrowserContextHandle(),
- ContentSettingsType.JAVASCRIPT)) {
- browserContextHandle, ContentSettingsType.JAVASCRIPT)) {
- currentValue = ContentSettingValues.BLOCK;
+ // Always show the Javascript permission
+ if (currentValue == null) {
@ -59,7 +58,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ ContentSettingsType.JAVASCRIPT)
+ ? ContentSettingValues.ALLOW
+ : ContentSettingValues.BLOCK;
+ }
}
- // Not possible to embargo JAVASCRIPT.
+ setUpListPreference(preference, currentValue, false);
+ }
+
@ -75,20 +75,22 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ ContentSettingsType.COOKIES)
+ ? ContentSettingValues.ALLOW
+ : ContentSettingValues.BLOCK;
}
// Not possible to embargo JAVASCRIPT.
+ }
+ // Not possible to embargo COOKIES.
setUpListPreference(preference, currentValue, false /* isEmbargoed */);
@@ -924,22 +932,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
@@ -932,22 +941,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setUpListPreference(preference, null, false);
return;
}
- // If the ad blocker is activated, then this site will have ads blocked unless there is an
- // explicit permission disallowing the blocking.
- boolean activated = WebsitePreferenceBridge.getAdBlockingActivated(
- getSiteSettingsClient().getBrowserContextHandle(), mSite.getAddress().getOrigin());
- browserContextHandle, mSite.getAddress().getOrigin());
@ContentSettingValues
@Nullable
Integer permission = mSite.getContentSettingPermission(ContentSettingsType.ADS);
Integer permission = mSite.getContentSetting(browserContextHandle, ContentSettingsType.ADS);
- // If |permission| is null, there is no explicit (non-default) permission set for this site.
- // If the site is not considered a candidate for blocking, do the standard thing and remove
@ -104,8 +106,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -197,13 +197,17 @@ public final class Website implements Serializable {
// ContentSettingsType.
@@ -187,13 +187,17 @@ public final class Website implements Serializable {
ContentSettingException exception = getContentSettingException(type);
if (type == ContentSettingsType.ADS) {
- // It is possible to set the permission without having an existing exception,

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

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ Subject: Update i18n zh_CN support
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
@@ -6783,4 +6783,8 @@
@@ -7020,4 +7020,8 @@
<translation id="995782501881226248">YouTube</translation>
<translation id="996250603853062861">正在建立安全连接...</translation>
<translation id="998747458861718449">检查(&amp;N)</translation>
@ -24,7 +24,7 @@ diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/res
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
@@ -1062,6 +1062,25 @@
@@ -1104,6 +1104,25 @@
<translation id="9042893549633094279">隐私设置和安全性</translation>
<translation id="9050666287014529139">密码</translation>
<translation id="9063523880881406963">关闭“请求切换到桌面版网站”</translation>

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
@@ -108,7 +108,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -106,7 +106,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
*/
private boolean mHasShownView;
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mInitialized;
@@ -532,7 +532,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -531,7 +531,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();
@@ -803,7 +803,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -802,7 +802,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
Integer maxRows = mQueryTileSection == null
? null
: mQueryTileSection.getMaxRowsForMostVisitedTiles();
@ -43,7 +43,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
@@ -24,7 +24,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
@@ -25,7 +25,7 @@ public class MostVisitedSitesBridge implements MostVisitedSites {
* Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if
* the UI supports it, getting more can raise unexpected issues.
*/

View file

@ -3,33 +3,18 @@ Date: Sun, 15 Dec 2019 19:40:37 +0100
Subject: Use dummy DFM installer
---
.../chrome/browser/ChromeApplication.java | 4 --
components/module_installer/android/BUILD.gn | 2 -
.../module_installer/engine/FakeEngine.java | 16 +-----
.../engine/SplitCompatEngine.java | 53 ++++---------------
.../engine/SplitCompatEngineFacade.java | 22 ++------
.../engine/SplitCompatEngineFacade.java | 28 +++-------
.../module_installer/logger/Logger.java | 16 ++----
.../logger/PlayCoreLogger.java | 36 ++-----------
.../logger/SplitAvailabilityLogger.java | 28 ----------
.../logger/SplitInstallStatusLogger.java | 30 +----------
.../module_installer/util/ModuleUtil.java | 5 --
.../util/SplitCompatInitializer.java | 6 ---
11 files changed, 23 insertions(+), 195 deletions(-)
10 files changed, 26 insertions(+), 194 deletions(-)
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
@@ -123,10 +123,6 @@ public class ChromeApplication extends Application {
}
}
- // Write installed modules to crash keys. This needs to be done as early as possible so that
- // these values are set before any crashes are reported.
- ModuleUtil.updateCrashKeys();
-
BuildInfo.setFirebaseAppId(FirebaseConfig.getFirebaseAppId());
if (!ContextUtils.isIsolatedProcess()) {
diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
--- a/components/module_installer/android/BUILD.gn
+++ b/components/module_installer/android/BUILD.gn
@ -194,7 +179,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
@@ -6,10 +6,10 @@ package org.chromium.components.module_installer.engine;
@@ -6,31 +6,28 @@ package org.chromium.components.module_installer.engine;
import android.app.Activity;
@ -207,7 +192,12 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
import org.chromium.base.ContextUtils;
import org.chromium.components.module_installer.logger.Logger;
@@ -21,16 +21,13 @@ import org.chromium.components.module_installer.util.ModuleUtil;
import org.chromium.components.module_installer.logger.PlayCoreLogger;
-import org.chromium.components.module_installer.util.ModuleUtil;
+//import org.chromium.components.module_installer.util.ModuleUtil;
/**
* PlayCore SplitCompatEngine Context. Class used to segregate external dependencies that
* cannot be easily mocked and simplify the engine's design.
*/
class SplitCompatEngineFacade {
@ -226,7 +216,7 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
mLogger = umaLogger;
}
@@ -38,24 +35,13 @@ class SplitCompatEngineFacade {
@@ -38,25 +35,14 @@ class SplitCompatEngineFacade {
return mLogger;
}
@ -241,16 +231,19 @@ diff --git a/components/module_installer/android/java/src/org/chromium/component
}
public void notifyObservers() {
ModuleUtil.notifyModuleInstalled();
}
- public SplitInstallRequest createSplitInstallRequest(String moduleName) {
- return SplitInstallRequest.newBuilder().addModule(moduleName).build();
- ModuleUtil.notifyModuleInstalled();
- }
-
public void updateCrashKeys() {
ModuleUtil.updateCrashKeys();
- public SplitInstallRequest createSplitInstallRequest(String moduleName) {
- return SplitInstallRequest.newBuilder().addModule(moduleName).build();
+ //ModuleUtil.notifyModuleInstalled();
}
public void updateCrashKeys() {
- ModuleUtil.updateCrashKeys();
+ //ModuleUtil.updateCrashKeys();
}
}
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java

View file

@ -11,7 +11,7 @@ Disables the autofill download manager (trk:158).
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
--- a/components/autofill/core/browser/autofill_download_manager.cc
+++ b/components/autofill/core/browser/autofill_download_manager.cc
@@ -66,7 +66,6 @@ constexpr std::pair<int, int> kAutofillExperimentRanges[] = {
@@ -65,7 +65,6 @@ constexpr std::pair<int, int> kAutofillExperimentRanges[] = {
{3314445, 3314448}, {3314854, 3314883},
};
@ -19,7 +19,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
const size_t kAutofillDownloadManagerMaxFormCacheSize = 16;
const size_t kMaxFieldsPerQueryRequest = 100;
@@ -523,35 +522,6 @@ bool GetUploadPayloadForApi(const AutofillUploadContents& upload,
@@ -511,35 +510,6 @@ bool GetUploadPayloadForApi(const AutofillUploadContents& upload,
return upload_request.SerializeToString(payload);
}
@ -55,7 +55,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
// Gets HTTP body payload for API POST request.
bool GetAPIBodyPayload(const std::string& payload,
AutofillDownloadManager::RequestType type,
@@ -785,6 +755,7 @@ size_t AutofillDownloadManager::GetPayloadLength(
@@ -769,6 +739,7 @@ size_t AutofillDownloadManager::GetPayloadLength(
std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
const FormRequestData& request_data) const {
@ -63,7 +63,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
std::string method("POST");
std::string query_str;
@@ -807,36 +778,18 @@ std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
@@ -791,36 +762,18 @@ std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
GURL url = autofill_server_url_
.Resolve(RequestTypeToString(request_data.request_type))
.ReplaceComponents(replacements);
@ -109,7 +109,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -185,19 +185,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
@@ -187,19 +187,6 @@ void LogDeveloperEngagementUkm(ukm::UkmRecorder* ukm_recorder,
}
}
@ -129,7 +129,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
ValuePatternsMetric GetValuePattern(const base::string16& value) {
if (IsUPIVirtualPaymentAddress(value))
return ValuePatternsMetric::kUpiVpa;
@@ -1648,11 +1635,6 @@ AutofillManager::AutofillManager(
@@ -1644,11 +1631,6 @@ AutofillManager::AutofillManager(
: std::make_unique<CreditCardAccessManager>(
driver, client_, personal_data_,
credit_card_form_event_logger_.get());
@ -139,8 +139,8 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
- driver, this, GetAPIKeyForUrl(channel), client_->GetLogManager()));
- }
CountryNames::SetLocaleString(app_locale_);
offer_manager_ = client_->GetAutofillOfferManager();
}
--
2.17.1

View file

@ -31,7 +31,7 @@ diff --git a/DEPS b/DEPS
# By default bot checkouts the WPR archive files only when this
# flag is set True.
@@ -4244,49 +4244,6 @@ hooks = [
@@ -4249,49 +4249,6 @@ hooks = [
'sync', '--extract',
],
},
@ -81,7 +81,7 @@ diff --git a/DEPS b/DEPS
{
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
@@ -4410,18 +4367,6 @@ hooks = [
@@ -4415,18 +4372,6 @@ hooks = [
'-s', 'src/buildtools/mac/clang-format.sha1',
],
},
@ -100,7 +100,7 @@ diff --git a/DEPS b/DEPS
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
@@ -4447,29 +4392,6 @@ hooks = [
@@ -4452,29 +4397,6 @@ hooks = [
'-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
],
},

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