Compare commits

...
Author SHA1 Message Date
csagan5 dbf32840c6 Release 79.0.3945.111 2020-01-08 02:14:39 +01:00
csagan5 4b8e47060b Update features list 2020-01-06 09:44:32 +01:00
csagan5 43bf98a956 Remove entry about bug not yet fixed 2019-12-31 18:15:28 +01:00
csagan5 b94b80e096 Release 79.0.3945.107 2019-12-31 18:07:47 +01:00
csagan5 52202a3ffb Release 79.0.3945.100 2019-12-27 16:08:41 +01:00
CarlandGitHub 4e5c7c36a1 Merge pull request #447 from bromite/v79/bugfixes
Bugfixes to build vanilla Chromium
2019-12-27 16:05:39 +01:00
csagan5 d1fb4d4974 Updated patches for next v79 release 2019-12-27 16:05:14 +01:00
csagan5 edaf4c0f17 Fixes for unified consent and feed build issues 2019-12-23 02:28:56 +01:00
csagan5 4a9cbe673d Bugfixes to build vanilla Chromium 2019-12-21 10:03:09 +01:00
csagan5 6340bb4398 Remove duplicate symbols in GN_ARGS 2019-12-20 08:43:56 +01:00
csagan5 ba0e1dc920 Release 79.0.3945.94 2019-12-20 07:58:59 +01:00
CarlandGitHub c8e8919714 Updated patches for v79 (#440)
* Updated patches for v79

Remaining issue:
* blank tabs when running on x86 emulators

Waiting on upstream to fix that.

The other upstream storage bug (https://bugs.chromium.org/p/chromium/issues/detail?id=1033655) is fixed in this version.
2019-12-19 23:55:40 +01:00
csagan5 4902cfb5d5 Remove mention of original nochromo patch, no more used 2019-12-15 11:18:30 +01:00
csagan5 bc3ef3746a Release 78.0.3904.130 2019-12-09 11:51:40 +01:00
csagan5 c941fcf137 Release 78.0.3904.119 2019-11-30 17:51:25 +01:00
CarlandGitHub 86f3e97b6b Use headers for the feature request template 2019-11-18 22:10:54 +01:00
csagan5 f62bd97771 Release 78.0.3904.105 2019-11-17 13:30:59 +01:00
161 changed files with 265525 additions and 6055 deletions
+8 -4
View File
@@ -4,16 +4,20 @@ about: Suggest a privacy-related idea for this project
---
**Is your feature request related to privacy?**
### Is your feature request related to privacy?
Features that are not related to privacy are unlikely to be considered.
**Is there a patch available for this feature somewhere?**
### Is there a patch available for this feature somewhere?
If yes then provide URL and license information.
**Describe the solution you would like**
### Describe the solution you would like
A clear and concise description of what you want to happen.
Do not ask "I would like feature X which is available in browser Y"; such issues are closed immediately.
**Describe alternatives you have considered**
### Describe alternatives you have considered
A clear and concise description of any alternative solutions or features you have considered.
+43
View File
@@ -1,3 +1,44 @@
# 79.0.3945.111
* restore enable-horizontal-tab-switcher flag
* remove non-working contextual search settings
* disable QUIC by default
* fix DoH timeouts issue (https://github.com/bromite/bromite/issues/437)
* remove logging for DoH timeouts
# 79.0.3945.107
* always show cookies, javascript and ads site settings (fixes https://github.com/bromite/bromite/issues/133)
* remove global ads and javascript menu options
# 79.0.3945.100
* log timeout values for DoH
* enable DFM (fixes https://github.com/bromite/bromite/issues/441)
* updated User-agent version
# 79.0.3945.94
* removed patches which do not apply anymore (Widevine version punting, always show homepage settings, network errors UMA recording)
* removed split APKs support (Play integration)
* disabled password reuse functionality (Play integration)
* re-introduced minimal headers for DoH
* removed Startpage
* disable feed support
* updated User-agent version
# 78.0.3904.130
* support user-specified subresources filter URL (fixes https://github.com/bromite/bromite/issues/2)
* revert removal of flag for disabling pull-to-refresh effect
* fix crash when entering no DoH URL (fixes https://github.com/bromite/bromite/issues/430)
* added Peter Lowe's Ad and tracking server list (fixes https://github.com/bromite/bromite/issues/423)
* enabled dav1d_decoder
# 78.0.3904.119
* replace fixed DNS-over-HTTPS feature flag with user-customizable option
* fix background playback issue (fixes https://github.com/bromite/bromite/issues/424)
# 78.0.3904.105
* add flag to disable WebGL (fixes https://github.com/bromite/bromite/issues/411)
* more selective AMP sanitization (fixes https://github.com/bromite/bromite/issues/410)
* build optimizations to disable debug information
# 78.0.3904.93
* introduce flags to disable browser fingerprinting capabilities (fixes https://github.com/bromite/bromite/issues/402)
* major enhancements to AMP sanitization for news/images
@@ -9,6 +50,8 @@
* disable HEAD requests for single words typed and clicked in Omnibar
* increase number of autocomplete matches from 5 to 10
* replace DoH probe domain with RIPE domain
* merged fixes for adblock/javascript menu text (https://github.com/bromite/bromite/pull/398)
* updated User-agent phone model and version
# 78.0.3904.72
* updated User-agent phone model and version
+6 -7
View File
@@ -69,14 +69,14 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
# Features
* native adblock engine
* customizable adblock filters via user-provided URL
* remove click-tracking and AMP from search results
* DNS-over-HTTPS support via Google, Cloudflare, Quad9 and AdGuard servers
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
* [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines
* chrome flags to disable custom intents and clear session on exit
* DNS-over-HTTPS support, you can use any DoH endpoint
* always-incognito mode
* completely removed safe browsing and other privacy-unfriendly features
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
* [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines available by default
* chrome flags to disable custom intents and clear session on exit
* anti-fingerprinting mitigations for canvas, audio, client rects, webGL and sensor APIs
* use fixed User-Agent to conceal real model and browser version
* privacy enhancement patches from [Iridium](https://iridiumbrowser.de/), [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/) and [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) projects
@@ -154,14 +154,13 @@ Bromite uses an unindexed filter file, which is periodically published at https:
* [GrapheneOS](https://github.com/GrapheneOS) for some security patches
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (via ungoogled-chromium)
* [Brave Browser](https://github.com/brave/browser-android-tabs) for some patches
* nochromo for the original adblock patch, currently used only in the SystemWebView
* [Vadim Pleshkov](http://vadimpleshkov.me/) for Bromite's logo
# Filters credits
* [EasyList](https://easylist.to/#easylist)
* [EasyPrivacy](https://easylist.to/#easyprivacy)
* [uBlock Origin](https://github.com/uBlockOrigin)
* [Peter Lowe's Ad and tracking server list](https://pgl.yoyo.org/adservers/)
# License
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
+7 -3
View File
@@ -2,11 +2,16 @@ android_channel="stable"
blink_symbol_level=1
dcheck_always_on=false
debuggable_apks=false
dfmify_dev_ui=false
disable_android_lint=true
enable_ac3_eac3_audio_demuxing=true enable_hevc_demuxing=true enable_iterator_debugging=false
disable_autofill_assistant_dfm=true
disable_tab_ui_dfm=true
enable_av1_decoder=true
enable_dav1d_decoder=true
enable_feed_in_chrome=false
enable_gvr_services=false
enable_hangout_services_extension=false
enable_iterator_debugging=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true ffmpeg_branding="Chrome" proprietary_codecs=true
enable_nacl=false
@@ -16,15 +21,14 @@ enable_reporting=false
enable_resource_whitelist_generation=false
enable_vr=false
fieldtrial_testing_like_official_build=true
icu_use_data_file=true
is_cfi=true
is_component_build=false
is_debug=false
is_official_build=true
jumbo_file_merge_limit=60
rtc_build_examples=false
safe_browsing_mode=0
strip_absolute_paths_from_debug_symbols=true
strip_debug_info=false
symbol_level=1
target_os="android"
use_debug_fission=true
+14 -11
View File
@@ -1,10 +1,8 @@
Disable-third-party-cookies-by-default.patch
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-UnifiedConsent-from-ChromeFeatureList.patch
Restore-classic-new-tab-page.patch
Always-use-new-tab-page-for-default-home-page.patch
Always-allow-partner-customisation.patch
Always-show-home-page-settings.patch
battery_status_service-disable-more-privacy-nightmares.patch
Battery-API-return-nothing.patch
google-cloud-messaging-disable-experiment-status-check.patch
@@ -14,7 +12,6 @@ Remove-EV-certificates.patch
promo-disable-Google-promotion-fetching.patch
Disable-omission-of-URL-elements-in-Omnibox.patch
Modify-default-preferences.patch
Disable-contextual-search-by-default.patch
Do-not-store-passwords-by-default.patch
Disable-NTP-remote-suggestions-by-default.patch
Disable-references-to-fonts.googleapis.com.patch
@@ -39,12 +36,12 @@ safe_browsing-disable-cookie-transmission.patch
Disable-safe-browsing.patch
Skip-the-first-run-and-metrics.patch
Disable-all-promo-dialogs.patch
Disable-sync-services-menu-entry.patch
Remove-signin-and-data-saver-integrations.patch
Remove-background-sync-and-translate-menu-options.patch
Hide-passwords-manager-link.patch
Disable-Omaha-update-checks.patch
Disable-update-scheduler.patch
Add-StartPage-search-engine.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
Add-Qwant-search-engine.patch
@@ -60,15 +57,11 @@ Add-flag-to-control-video-playback-resume-feature.patch
Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch
Remove-help-menu-item.patch
Add-menu-option-to-toggle-global-Javascript-preference.patch
Add-menu-option-to-toggle-ad-blocker.patch
User-Agent-anonymize.patch
AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
Multiple-fingerprinting-mitigations-for-canvas-text-and-client-rectangles.patch
Add-flags-to-disable-device-motion-and-orientation-APIs.patch
Punt-the-Widevine-version-string.patch
Disable-metrics-on-all-I-O-threads.patch
Add-a-flag-for-DNS-over-HTTPS.patch
Always-respect-async-dns-flag-regardless-of-SDK-version.patch
Add-flag-to-configure-maximum-connections-per-host.patch
Add-site-settings-option-for-session-only-cookies.patch
@@ -102,7 +95,6 @@ Remove-dependency-on-com.google.android.gms.flags-com.google.android.gms.locatio
Remove-dependency-on-com.google.android.gms.fido-com.google.android.gms.iid-com.google.android.gms.instantapps-com.google.android.gms.location.patch
Remove-dependency-on-com.google.android.gms.cast.patch
Remove-dependency-on-com.google.android.gms.common-auth-signin-dynamic-com.google.android.gms.tasks.patch
Remove-play-dependency-for-module-installer.patch
Remove-SMS-integration.patch
Allow-website-sign-in-without-account-sign-in.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
@@ -127,15 +119,26 @@ disable-payment-support-by-default.patch
disable-background-sync-by-default.patch
disable-sensors-access-site-setting-by-default.patch
Disable-media-router-and-remoting-by-default.patch
Do-not-record-UMA-for-network-errors.patch
Disable-unified-consent-on-Android.patch
Revert-Cleanup-Search-Ready-Omnibox-flag-since-it-has-launched.patch
Disable-search-ready-omnibox-by-default.patch
disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Add-option-to-configure-the-ad-blocker-filters-URL.patch
Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-from-5-to-10.patch
Disable-HEAD-requests-for-single-word-Omnibar-searches.patch
Block-all-connection-requests-with-qjz9zk-in-the-domain-name-or-with-a-trk-scheme.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
Add-user-setting-for-DNS-over-HTTPS-DoH-custom-URL.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
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
Disable-addresses-autofill-by-default.patch
Always-show-site-settings-for-cookies-javascript-and-ads.patch
Automated-domain-substitution.patch
Do-not-enable-QUIC-by-default.patch
Restore-enable-horizontal-tab-switcher-flag.patch
+2 -2
View File
@@ -1,6 +1,6 @@
Revert-Remove-pre-unified-consent-code-in-sync-and-privacy-directory.patch
Revert-Remove-UnifiedConsent-from-ChromeFeatureList.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Disable-safe-browsing.patch
Disable-password-reuse-detection-on-android.patch
Allow-building-without-feed-support.patch
+16 -16
View File
@@ -5,21 +5,21 @@ Subject: AV1 codec support
libaom build fixes (requires -fPIC)
Report AV1 as playable on Android
---
media/base/mime_util_internal.cc | 6 +++++-
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
.../source/config/linux/arm-neon-cpu-detect/config/aom_config.asm | 2 +-
.../source/config/linux/arm-neon-cpu-detect/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm-neon/config/aom_config.asm | 2 +-
third_party/libaom/source/config/linux/arm-neon/config/aom_config.h | 2 +-
third_party/libaom/source/config/linux/arm/config/aom_config.asm | 2 +-
third_party/libaom/source/config/linux/arm/config/aom_config.h | 2 +-
third_party/libaom/source/config/linux/arm64/config/aom_config.asm | 2 +-
third_party/libaom/source/config/linux/arm64/config/aom_config.h | 2 +-
.../libaom/source/config/linux/generic/config/aom_config.asm | 2 +-
third_party/libaom/source/config/linux/generic/config/aom_config.h | 2 +-
third_party/libaom/source/config/linux/x64/config/aom_config.asm | 2 +-
third_party/libaom/source/config/linux/x64/config/aom_config.h | 2 +-
media/base/mime_util_internal.cc | 6 +++++-
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
.../config/linux/arm-neon-cpu-detect/config/aom_config.asm | 2 +-
.../config/linux/arm-neon-cpu-detect/config/aom_config.h | 2 +-
.../source/config/linux/arm-neon/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm-neon/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.h | 2 +-
.../source/config/linux/generic/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/generic/config/aom_config.h | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.h | 2 +-
15 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
@@ -230,5 +230,5 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/th
#define CONFIG_RUNTIME_CPU_DETECT 1
#define CONFIG_SHARED 0
--
2.11.0
2.17.1
@@ -3,10 +3,10 @@ Date: Thu, 12 Oct 2017 11:06:18 +0200
Subject: Add DuckDuckGo Lite search engine
---
.../search_engines/prepopulated_engines.json | 10 ++
components/search_engines/search_engine_type.h | 1 +
.../template_url_prepopulate_data.cc | 129 +++++++++++----------
3 files changed, 76 insertions(+), 64 deletions(-)
.../search_engines/prepopulated_engines.json | 10 ++
.../search_engines/search_engine_type.h | 1 +
.../template_url_prepopulate_data.cc | 122 +++++++++---------
3 files changed, 75 insertions(+), 58 deletions(-)
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
@@ -38,12 +38,12 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT,
SEARCH_ENGINE_PARSIJOO,
SEARCH_ENGINE_QWANT,
SEARCH_ENGINE_STARTPAGE,
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[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo,
+ &duckduckgo, &duckduckgo_light,
@@ -51,7 +51,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[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -60,7 +60,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Albania
@@ -60,7 +61,7 @@ const PrepopulatedEngine* const engines_AR[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo_ar,
- &duckduckgo,
@@ -69,7 +69,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Austria
@@ -68,7 +69,7 @@ const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo_at,
- &duckduckgo,
@@ -78,7 +78,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Australia
@@ -76,7 +77,7 @@ const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo_au,
- &duckduckgo,
@@ -87,7 +87,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Bosnia and Herzegovina
@@ -92,7 +93,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -96,7 +96,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Bulgaria
@@ -124,7 +125,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -105,7 +105,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Bolivia
@@ -132,7 +133,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -114,7 +114,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
// Brazil
@@ -140,7 +141,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
&yahoo_br,
- &duckduckgo,
@@ -122,31 +122,30 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Belarus
@@ -156,19 +157,19 @@ const PrepopulatedEngine* const engines_BZ[] = {
&googleen, &google, &startpage,
@@ -157,11 +158,12 @@ const PrepopulatedEngine* const engines_BZ[] = {
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&duckduckgo,
+ &duckduckgo_light,
};
// Canada
const PrepopulatedEngine* const engines_CA[] = {
- &googleen, &google, &startpage, &bing, &yahoo_ca, &yahoo_qc, &duckduckgo,
+ &googleen, &google, &startpage, &bing, &yahoo_ca, &yahoo_qc, &duckduckgo, &duckduckgo_light,
- &googleen, &google, &bing, &yahoo_ca, &yahoo_qc, &duckduckgo,
+ &googleen, &google, &bing, &yahoo_ca, &yahoo_qc, &duckduckgo, &duckduckgo_light,
};
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google, &startpage,
@@ -169,6 +171,7 @@ const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&duckduckgo,
+ &duckduckgo_light,
&yahoo_ch,
};
@@ -177,7 +178,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google, &startpage,
@@ -177,7 +180,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google,
&bing,
&yahoo_cl,
- &duckduckgo,
@@ -154,8 +153,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// China
@@ -190,7 +191,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&googleen, &google, &startpage,
@@ -190,7 +193,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&googleen, &google,
&yahoo_co,
&bing,
- &duckduckgo,
@@ -163,8 +162,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Costa Rica
@@ -198,7 +199,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google, &startpage,
@@ -198,7 +201,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -172,8 +171,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Czech Republic
@@ -214,7 +215,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google, &startpage,
@@ -214,7 +217,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google,
&bing,
&yahoo_de,
- &duckduckgo,
@@ -181,8 +180,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Denmark
@@ -222,7 +223,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google, &startpage,
@@ -222,7 +225,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google,
&bing,
&yahoo_dk,
- &duckduckgo,
@@ -190,8 +189,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Dominican Republic
@@ -230,7 +231,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google, &startpage,
@@ -230,7 +233,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -199,8 +198,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Algeria
@@ -246,7 +247,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&googleen, &google, &startpage,
@@ -246,7 +249,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -208,8 +207,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Estonia
@@ -270,7 +271,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google, &startpage,
@@ -270,7 +273,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google,
&bing,
&yahoo_es,
- &duckduckgo,
@@ -217,8 +216,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Finland
@@ -278,7 +279,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google, &startpage,
@@ -278,7 +281,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google,
&bing,
&yahoo_fi,
- &duckduckgo,
@@ -226,8 +225,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Faroe Islands
@@ -286,7 +287,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google, &startpage,
@@ -286,7 +289,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -235,8 +234,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// France
@@ -302,7 +303,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google, &startpage,
@@ -302,7 +305,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google,
&bing,
&yahoo_uk,
- &duckduckgo,
@@ -244,8 +243,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Greece
@@ -310,7 +311,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google, &startpage,
@@ -310,7 +313,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -253,8 +252,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Guatemala
@@ -318,7 +319,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google, &startpage,
@@ -318,7 +321,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -262,8 +261,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Hong Kong
@@ -334,7 +335,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google, &startpage,
@@ -334,7 +337,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -271,8 +270,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Croatia
@@ -342,7 +343,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google, &startpage,
@@ -342,7 +345,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -280,8 +279,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Hungary
@@ -350,7 +351,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google, &startpage,
@@ -350,7 +353,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google,
&yahoo,
&bing,
- &duckduckgo,
@@ -289,8 +288,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Indonesia
@@ -358,7 +359,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&googleen, &google, &startpage,
@@ -358,7 +361,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&googleen, &google,
&yahoo_id,
&bing,
- &duckduckgo,
@@ -298,8 +297,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ireland
@@ -366,7 +367,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google, &startpage,
@@ -366,7 +369,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -307,8 +306,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Israel
@@ -382,7 +383,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google, &startpage,
@@ -382,7 +385,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google,
&yahoo_in,
&bing,
- &duckduckgo,
@@ -316,8 +315,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Iraq
@@ -405,7 +406,7 @@ const PrepopulatedEngine* const engines_IS[] = {
&googleen, &google, &startpage,
@@ -405,7 +408,7 @@ const PrepopulatedEngine* const engines_IS[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -325,8 +324,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Italy
@@ -413,7 +414,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google, &startpage,
@@ -413,7 +416,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -334,8 +333,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Jamaica
@@ -421,7 +422,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google, &startpage,
@@ -421,7 +424,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -343,8 +342,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Jordan
@@ -445,7 +446,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google, &startpage,
@@ -445,7 +448,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google,
&yahoo,
&bing,
- &duckduckgo,
@@ -352,34 +351,33 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// South Korea
@@ -477,14 +478,14 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google, &startpage,
@@ -478,6 +481,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&duckduckgo,
+ &duckduckgo_light,
};
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google, &startpage,
@@ -485,6 +489,7 @@ const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&duckduckgo,
+ &duckduckgo_light,
&yahoo,
};
@@ -500,7 +501,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -500,7 +505,7 @@ const PrepopulatedEngine* const engines_LT[] = {
const PrepopulatedEngine* const engines_LU[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo,
};
@@ -533,7 +534,7 @@ const PrepopulatedEngine* const engines_MC[] = {
&googleen, &google, &startpage,
@@ -533,7 +538,7 @@ const PrepopulatedEngine* const engines_MC[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -387,8 +385,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Moldova
@@ -541,7 +542,7 @@ const PrepopulatedEngine* const engines_MD[] = {
&googleen, &google, &startpage,
@@ -541,7 +546,7 @@ const PrepopulatedEngine* const engines_MD[] = {
&googleen, &google,
&yandex_ru,
&mail_ru,
- &duckduckgo,
@@ -396,8 +394,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Montenegro
@@ -557,7 +558,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google, &startpage,
@@ -557,7 +562,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google,
&yahoo,
&bing,
- &duckduckgo,
@@ -405,8 +403,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Mexico
@@ -565,7 +566,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google, &startpage,
@@ -565,7 +570,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google,
&bing,
&yahoo_mx,
- &duckduckgo,
@@ -414,8 +412,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Malaysia
@@ -581,7 +582,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google, &startpage,
@@ -581,7 +586,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -423,8 +421,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Netherlands
@@ -589,7 +590,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google, &startpage,
@@ -589,7 +594,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google,
&bing,
&yahoo_nl,
- &duckduckgo,
@@ -432,25 +430,24 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Norway
@@ -597,14 +598,14 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google, &startpage,
@@ -598,13 +603,14 @@ const PrepopulatedEngine* const engines_NO[] = {
&bing,
&yahoo,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&duckduckgo,
+ &duckduckgo_light,
};
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google, &startpage,
&googleen, &google,
&bing,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&yahoo_nz,
};
@@ -621,7 +622,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google, &startpage,
@@ -621,7 +627,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -458,8 +455,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Peru
@@ -629,7 +630,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&googleen, &google, &startpage,
@@ -629,7 +635,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&googleen, &google,
&yahoo_pe,
&bing,
- &duckduckgo,
@@ -467,8 +464,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Philippines
@@ -637,7 +638,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&googleen, &google, &startpage,
@@ -637,7 +643,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&googleen, &google,
&yahoo_ph,
&bing,
- &duckduckgo,
@@ -476,8 +473,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Pakistan
@@ -653,7 +654,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google, &startpage,
@@ -653,7 +659,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -485,8 +482,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Puerto Rico
@@ -661,7 +662,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google, &startpage,
@@ -661,7 +667,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -494,8 +491,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Portugal
@@ -669,7 +670,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google, &startpage,
@@ -669,7 +675,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -503,8 +500,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Paraguay
@@ -677,7 +678,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google, &startpage,
@@ -677,7 +683,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -512,8 +509,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Qatar
@@ -693,7 +694,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google, &startpage,
@@ -693,7 +699,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -521,8 +518,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Serbia
@@ -701,7 +702,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google, &startpage,
@@ -701,7 +707,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google,
&yahoo,
&bing,
- &duckduckgo,
@@ -530,8 +527,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Russia
@@ -733,7 +734,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google, &startpage,
@@ -733,7 +739,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google,
&bing,
&yahoo_se,
- &duckduckgo,
@@ -539,8 +536,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Singapore
@@ -749,7 +750,7 @@ const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google, &startpage,
@@ -749,7 +755,7 @@ const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -548,8 +545,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Slovakia
@@ -757,7 +758,7 @@ const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google, &startpage,
@@ -757,7 +763,7 @@ const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -557,8 +554,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// El Salvador
@@ -765,7 +766,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google, &startpage,
@@ -765,7 +771,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -566,8 +563,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Syria
@@ -805,7 +806,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google, &startpage,
@@ -805,7 +811,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -575,8 +572,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Taiwan
@@ -837,7 +838,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google, &startpage,
@@ -837,7 +843,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -584,8 +581,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Uruguay
@@ -845,7 +846,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google, &startpage,
@@ -845,7 +851,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -593,8 +590,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Venezuela
@@ -853,7 +854,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google, &startpage,
@@ -853,7 +859,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google,
&yahoo_ve,
&bing,
- &duckduckgo,
@@ -602,8 +599,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Vietnam
@@ -877,7 +878,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google, &startpage,
@@ -877,7 +883,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google,
&bing,
&yahoo,
- &duckduckgo,
@@ -611,15 +608,6 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Zimbabwe
@@ -897,7 +898,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
&bing,
&coccoc,
&daum,
- &duckduckgo,
+ &duckduckgo, &duckduckgo_light,
&googleen, &google, &startpage,
&mail_ru,
&naver,
--
2.11.0
2.17.1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,258 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 28 Apr 2018 08:30:26 +0200
Subject: Add a flag for DNS-over-HTTPS
Allow selection between Google and Cloudflare endpoints.
Serve DoH requests with maximum priority, remove traffic annotation.
Reduce HTTP headers in DoH requests to bare minimum.
Add AdGuard (default) endpoint
Do not fallback to UDP when using DoH
See also: https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-14.txt
---
chrome/browser/about_flags.cc | 10 +++++++++-
chrome/browser/net/system_network_context_manager.cc | 18 +++++++++++-------
chrome/common/chrome_features.cc | 9 ---------
chrome/common/chrome_features.h | 2 --
.../common/network_features.cc | 6 ++++++
.../common/network_features.h | 6 ++++++
.../common/network_switch_list.h | 4 ++++
net/base/load_flags_list.h | 6 ++++++
net/dns/dns_transaction.cc | 4 ++--
net/url_request/url_request_http_job.cc | 16 +++++++++++-----
10 files changed, 55 insertions(+), 26 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -418,6 +418,14 @@ const FeatureEntry::FeatureVariation kCCTModuleCacheVariations[] = {
base::size(kCCTModuleCache_ThirtyMinutes), nullptr},
};
+const FeatureEntry::Choice kDnsOverHttpsChoices[] = {
+ {features::kDnsOverHttpsChoiceDefault, "", ""},
+ {features::kDnsOverHttpsChoiceGoogle, switches::kDnsOverHttpsServer, "https://dns.google/dns-query"},
+ {features::kDnsOverHttpsChoiceCloudflare, switches::kDnsOverHttpsServer, "https://1.1.1.1/dns-query"},
+ {features::kDnsOverHttpsChoiceQuad9, switches::kDnsOverHttpsServer, "https://9.9.9.9/dns-query"},
+ {features::kDnsOverHttpsChoiceAdGuard, switches::kDnsOverHttpsServer, "https://dns.adguard.com/dns-query"}
+};
+
#endif // OS_ANDROID
const FeatureEntry::FeatureParam kForceDark_SimpleHsl[] = {
@@ -4491,7 +4499,7 @@ const FeatureEntry kFeatureEntries[] = {
{"dns-over-https", flag_descriptions::kDnsOverHttpsName,
flag_descriptions::kDnsOverHttpsDescription,
kOsMac | kOsWin | kOsCrOS | kOsAndroid,
- FEATURE_VALUE_TYPE(features::kDnsOverHttps)},
+ MULTI_VALUE_TYPE(kDnsOverHttpsChoices)},
#if defined(OS_ANDROID)
{"tab-switcher-longpress-menu",
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -25,6 +25,7 @@
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/component_updater/crl_set_component_installer.h"
#include "chrome/browser/net/chrome_mojo_proxy_resolver_factory.h"
+#include "components/network_session_configurator/common/network_switches.h"
#include "chrome/browser/net/dns_util.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/ssl/ssl_config_service_manager.h"
@@ -142,6 +143,7 @@ void GetStubResolverConfig(
base::SPLIT_WANT_NONEMPTY)) {
if (!chrome_browser_net::IsValidDohTemplate(server_template,
&server_method)) {
+ LOG(ERROR) << "Invalid DoH template: " << server_template << " with method " << server_method;
continue;
}
@@ -406,14 +408,16 @@ SystemNetworkContextManager::SystemNetworkContextManager(
base::Value(ShouldEnableAsyncDns()));
std::string default_doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
std::string default_doh_templates = "";
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
- if (features::kDnsOverHttpsFallbackParam.Get()) {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeAutomatic;
- } else {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeSecure;
- }
- default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
+
+ std::string server =
+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
+ switches::kDnsOverHttpsServer);
+ if (!server.empty()) {
+ default_doh_mode = chrome_browser_net::kDnsOverHttpsModeSecure;
+ // will use POST when URLs do not contain a 'dns' query parameter
+ default_doh_templates = server;
}
+
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
base::Value(default_doh_mode));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsTemplates,
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
@@ -269,15 +269,6 @@ const base::Feature kDisallowUnsafeHttpDownloads{
"DisallowUnsafeHttpDownloads", base::FEATURE_DISABLED_BY_DEFAULT};
const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
-// Enable DNS over HTTPS (DoH).
-const base::Feature kDnsOverHttps{"DnsOverHttps",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
-// Set whether fallback to insecure DNS is allowed by default. This setting may
-// be overridden for individual transactions.
-const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps,
- "Fallback", 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
// will be used to construct a list of DoH templates associated with the IP
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -166,8 +166,6 @@ extern const char kDisallowUnsafeHttpDownloadsParamName[];
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDnsOverHttps;
COMPONENT_EXPORT(CHROME_FEATURES)
-extern const base::FeatureParam<bool> kDnsOverHttpsFallbackParam;
-COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam;
#if defined(OS_ANDROID)
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
--- a/components/network_session_configurator/common/network_features.cc
+++ b/components/network_session_configurator/common/network_features.cc
@@ -8,4 +8,10 @@
namespace features {
+const char kDnsOverHttpsChoiceDefault[] = "Disabled",
+ kDnsOverHttpsChoiceGoogle[] = "Google",
+ kDnsOverHttpsChoiceCloudflare[] = "Cloudflare",
+ kDnsOverHttpsChoiceQuad9[] = "Quad9",
+ kDnsOverHttpsChoiceAdGuard[] = "AdGuard";
+
} // namespace features
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
--- a/components/network_session_configurator/common/network_features.h
+++ b/components/network_session_configurator/common/network_features.h
@@ -10,6 +10,12 @@
namespace features {
+// DNS over HTTPS server endpoint choices
+ // (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-12.txt).
+NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[],
+ kDnsOverHttpsChoiceGoogle[], kDnsOverHttpsChoiceCloudflare[], kDnsOverHttpsChoiceQuad9[],
+ kDnsOverHttpsChoiceAdGuard[];
+
} // namespace features
#endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
--- a/components/network_session_configurator/common/network_switch_list.h
+++ b/components/network_session_configurator/common/network_switch_list.h
@@ -32,6 +32,10 @@ NETWORK_SWITCH(kOriginToForceQuicOn, "origin-to-force-quic-on")
// the server.
NETWORK_SWITCH(kQuicConnectionOptions, "quic-connection-options")
+// Specifies an IETF DNS-over-HTTPS server endpoint
+// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-02.txt).
+NETWORK_SWITCH(kDnsOverHttpsServer, "dns-over-https-server")
+
// Specifies the maximum length for a QUIC packet.
NETWORK_SWITCH(kQuicMaxPacketLength, "quic-max-packet-length")
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
@@ -117,3 +117,9 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 18)
// is considered privileged, and therefore this flag must only be set from a
// trusted process.
LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 19)
+
+// This load will not send Accept-Language or User-Agent headers, and not
+// advertise brotli encoding.
+// Used to comply with IETF (draft) DNS-over-HTTPS:
+// "Implementors SHOULD NOT set non-essential HTTP headers in DoH client requests."
+LOAD_FLAG(MINIMAL_HEADERS, 1 << 20)
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -403,7 +403,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
// perspective to prevent the client from sending AIA requests).
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
LOAD_BYPASS_PROXY |
- LOAD_DISABLE_CERT_NETWORK_FETCHES);
+ LOAD_DISABLE_CERT_NETWORK_FETCHES | LOAD_MINIMAL_HEADERS);
request_->set_allow_credentials(false);
}
@@ -997,7 +997,7 @@ class DnsTransactionImpl : public DnsTransaction,
had_tcp_attempt_(false),
first_server_index_(0),
url_request_context_(url_request_context),
- request_priority_(DEFAULT_PRIORITY) {
+ request_priority_(MAXIMUM_PRIORITY) {
DCHECK(session_.get());
DCHECK(!hostname_.empty());
DCHECK(!callback_.is_null());
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
@@ -339,6 +339,7 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
// Our consumer should have made sure that this is a safe referrer. See for
// instance WebCore::FrameLoader::HideReferrer.
if (referrer.is_valid()) {
@@ -354,11 +355,14 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
referer_value);
}
+ }
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
request_info_.extra_headers.SetHeaderIfMissing(
HttpRequestHeaders::kUserAgent,
http_user_agent_settings_ ?
http_user_agent_settings_->GetUserAgent() : std::string());
+ }
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -582,10 +586,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
} else {
// Advertise "br" encoding only if transferred data is opaque to proxy.
bool advertise_brotli = false;
- if (request()->context()->enable_brotli()) {
- if (request()->url().SchemeIsCryptographic() ||
- IsLocalhost(request()->url())) {
- advertise_brotli = true;
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
+ if (request()->context()->enable_brotli()) {
+ if (request()->url().SchemeIsCryptographic() ||
+ IsLocalhost(request()->url())) {
+ advertise_brotli = true;
+ }
}
}
@@ -603,7 +609,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}
- if (http_user_agent_settings_) {
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS) && http_user_agent_settings_) {
// Only add default Accept-Language if the request didn't have it
// specified.
std::string accept_language =
--
2.11.0
@@ -7,26 +7,26 @@ Allows to use a PAC script URL, automatic configuration and explicit proxy
settings.
Offer auto-complete for the proxy page URL.
---
chrome/android/java/res/values/values.xml | 3 +
.../android/java/res/xml/privacy_preferences.xml | 4 +
.../chrome_autocomplete_provider_client.cc | 2 +
chrome/browser/browser_resources.grd | 6 +
.../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 ++++
chrome/browser/resources/proxy_config.html | 78 ++++
chrome/browser/resources/proxy_config.js | 252 +++++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../ui/webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 397 +++++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 33 ++
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.h | 2 +
.../policy/core/browser/proxy_policy_handler.cc | 2 +-
components/proxy_config/proxy_config_dictionary.cc | 22 +-
components/proxy_config/proxy_config_dictionary.h | 6 +-
net/proxy_resolution/proxy_config.cc | 45 +++
net/proxy_resolution/proxy_config.h | 3 +
19 files changed, 915 insertions(+), 12 deletions(-)
chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 +
.../chrome_autocomplete_provider_client.cc | 2 +
chrome/browser/browser_resources.grd | 6 +
.../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 +++
chrome/browser/resources/proxy_config.html | 78 ++++
chrome/browser/resources/proxy_config.js | 252 +++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 395 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 33 ++
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.h | 2 +
.../core/browser/proxy_policy_handler.cc | 2 +-
.../proxy_config/proxy_config_dictionary.cc | 22 +-
.../proxy_config/proxy_config_dictionary.h | 6 +-
net/proxy_resolution/proxy_config.cc | 45 ++
net/proxy_resolution/proxy_config.h | 3 +
19 files changed, 913 insertions(+), 12 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -36,7 +36,7 @@ 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
@@ -76,6 +76,9 @@
@@ -78,6 +78,9 @@
<integer name="list_item_level_selected">1</integer>
<integer name="list_item_level_incognito">2</integer>
@@ -63,15 +63,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
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
@@ -257,6 +257,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -256,6 +256,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<base::string16> builtins_to_provide;
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
builtins_to_provide.push_back(
+ base::ASCIIToUTF16(chrome::kChromeUIProxyConfigURL));
+ builtins_to_provide.push_back(
+ base::ASCIIToUTF16(chrome::kChromeUIProxyConfigURL));
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
#if !defined(OS_ANDROID)
builtins_to_provide.push_back(
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
@@ -91,7 +91,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -153,7 +153,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
@@ -152,7 +152,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
@@ -509,7 +509,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
@@ -275,6 +275,8 @@ jumbo_split_static_library("ui") {
@@ -263,6 +263,8 @@ jumbo_static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -529,7 +529,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
#include "chrome/browser/ui/webui/settings/settings_ui.h"
#include "chrome/browser/ui/webui/settings_utils.h"
@@ -413,6 +414,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -376,6 +377,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -542,7 +542,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webu
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
@@ -0,0 +1,397 @@
@@ -0,0 +1,395 @@
+/*
+ This file is part of Bromite.
+
@@ -811,9 +811,7 @@ new file mode 100644
+void ProxyConfigMessageHandler::OnApply(const base::ListValue* list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+ const base::Value::ListStorage& params = list->GetList();
+
+ if ((params.size() != 1) || !params[0].is_dict()) {
+ if ((list->GetList().size() != 1) || !list->GetList()[0].is_dict()) {
+ return;
+ }
+
@@ -981,7 +979,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -189,6 +189,8 @@ const char kChromeUINativePhysicalWebDiagnosticsURL[] =
@@ -182,6 +182,8 @@ const char kChromeUINativePhysicalWebDiagnosticsURL[] =
const char kChromeUINativeScheme[] = "chrome-native";
const char kChromeUIOfflineInternalsHost[] = "offline-internals";
const char kChromeUIPhysicalWebDiagnosticsHost[] = "physical-web-diagnostics";
@@ -990,7 +988,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUISnippetsInternalsHost[] = "snippets-internals";
const char kChromeUIWebApksHost[] = "webapks";
#endif
@@ -456,6 +458,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
@@ -461,6 +463,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
kResetSubPage,
kSmartLockSettingsSubPage,
kSmbSharesSubPage,
@@ -998,7 +996,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kStorageSubPage,
kStylusSubPage,
kSwitchAccessSubPage,
@@ -556,6 +559,7 @@ const char* const kChromeHostURLs[] = {
@@ -561,6 +564,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !defined(OS_CHROMEOS)
kChromeUIAppLauncherPageHost,
@@ -1009,7 +1007,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -110,6 +110,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -105,6 +105,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@@ -1201,5 +1199,5 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co
// Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
// &fallback_proxies}, or NULL if there is no proxy to use.
--
2.11.0
2.17.1
@@ -4,16 +4,18 @@ Subject: Add an always-incognito mode
More specifically, add a preference that causes all new tabs and all
clicked links to launch as incognito.
Make sure initial incognito status is correctly recognized.
---
chrome/android/chrome_java_sources.gni | 1 +
.../android/java/res/xml/privacy_preferences.xml | 5 ++
.../browser/AlwaysIncognitoLinkInterceptor.java | 73 ++++++++++++++++++++++
.../chromium/chrome/browser/ChromeActivity.java | 5 ++
.../chrome/browser/appmenu/AppMenuHandlerImpl.java | 11 ++++
.../contextmenu/ChromeContextMenuPopulator.java | 9 ++-
.../chrome/browser/tabmodel/ChromeTabCreator.java | 24 ++++++-
.../java/strings/android_chrome_strings.grd | 8 +++
8 files changed, 134 insertions(+), 2 deletions(-)
chrome/android/chrome_java_sources.gni | 1 +
.../java/res/xml/privacy_preferences.xml | 5 ++
.../AlwaysIncognitoLinkInterceptor.java | 73 +++++++++++++++++++
.../chrome/browser/ChromeActivity.java | 4 +
.../chrome/browser/ChromeTabbedActivity.java | 6 +-
.../browser/appmenu/AppMenuHandlerImpl.java | 9 +++
.../ChromeContextMenuPopulator.java | 9 ++-
.../browser/tabmodel/ChromeTabCreator.java | 20 ++++-
.../java/strings/android_chrome_strings.grd | 8 ++
9 files changed, 131 insertions(+), 4 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
@@ -26,7 +28,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
+ "java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java",
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabTaskDescriptionHelper.java",
"java/src/org/chromium/chrome/browser/AfterStartupTaskUtils.java",
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -72,7 +74,7 @@ new file mode 100644
+ */
+public class AlwaysIncognitoLinkInterceptor extends EmptyTabObserver {
+
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+ public static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+
+ private final SharedPreferences alwaysIncognitoContainer;
+ private final Map<Tab, String> lastUrls;
@@ -123,55 +125,70 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -225,6 +225,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private static final int RECORD_MULTI_WINDOW_SCREEN_WIDTH_DELAY_MS = 5000;
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+
/**
* Timeout in ms for reading PartnerBrowserCustomizations provider.
*/
@@ -1650,6 +1652,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -55,6 +55,7 @@ import org.chromium.base.annotations.UsedByReflection;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.appmenu.AppMenuBlocker;
@@ -1706,6 +1707,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
+ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)) {
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ return mIncognitoTabCreator;
+ }
return incognito ? mIncognitoTabCreator : mRegularTabCreator;
}
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.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -1652,8 +1653,9 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
- boolean startIncognito = savedInstanceState != null
- && savedInstanceState.getBoolean("is_incognito_selected", false);
+ boolean startIncognito = ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ || (savedInstanceState != null
+ && savedInstanceState.getBoolean("is_incognito_selected", false));
int index = savedInstanceState != null ? savedInstanceState.getInt(WINDOW_INDEX, 0) : 0;
mTabModelSelectorImpl = (TabModelSelectorImpl)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandlerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandlerImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandlerImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandlerImpl.java
@@ -20,6 +20,7 @@ import android.view.WindowManager;
import android.widget.PopupMenu;
@@ -20,8 +20,10 @@ import android.widget.PopupMenu;
import org.chromium.base.Callback;
+import org.chromium.base.ContextUtils;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.VisibleForTesting;
+import org.chromium.base.ContextUtils;
import org.chromium.base.metrics.RecordUserAction;
@@ -57,6 +58,8 @@ class AppMenuHandlerImpl
private @Nullable OverviewModeBehavior mOverviewModeBehavior;
private OverviewModeBehavior.OverviewModeObserver mOverviewModeObserver;
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
+
/**
* The resource id of the menu item to highlight when the menu next opens. A value of
* {@code null} means no item will be highlighted. This value will be cleared after the menu is
@@ -267,6 +270,14 @@ class AppMenuHandlerImpl
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.ConfigurationChangedObserver;
import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver;
@@ -208,6 +210,13 @@ class AppMenuHandlerImpl
if (mDelegate.shouldShowHeader(appRect.height())) {
headerResourceId = mDelegate.getHeaderResourceId();
}
+
+ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)) {
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)) {
+ final MenuItem newTabOption = mAppMenu.getMenu().findItem(R.id.new_tab_menu_id);
+ if (newTabOption != null) {
+ if (newTabOption != null)
+ newTabOption.setVisible(false);
+ }
+ }
+
mAppMenu.show(wrapper, anchorView, isByPermanentButton, rotation, appRect, pt.y,
@@ -180,42 +197,36 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -15,6 +15,7 @@ import android.webkit.URLUtil;
@@ -16,7 +16,9 @@ import androidx.annotation.IntDef;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.base.ContextUtils;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabPanel;
@@ -46,6 +47,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
private static final String TAG = "CCMenuPopulator";
private final ContextMenuItemDelegate mDelegate;
private final @ContextMenuMode int mMode;
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
/**
* Defines the Groups of each Context Menu Item
@@ -298,7 +300,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
@@ -301,7 +303,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (FirstRunStatus.getFirstRunFlowComplete() && mMode == ContextMenuMode.NORMAL
&& !isEmptyUrl(params.getUrl())
&& UrlUtilities.isAcceptedScheme(params.getUrl())) {
- linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
+ if (ContextUtils.getAppSharedPreferences().getBoolean(PREF_ALWAYS_INCOGNITO, false)
+ if (ContextUtils.getAppSharedPreferences().getBoolean(AlwaysIncognitoLinkInterceptor.PREF_ALWAYS_INCOGNITO, false)
+ && !mDelegate.isIncognito()) {
+ // disallow open in new tab
+ } else {
+ } else
+ linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_NEW_TAB));
+ }
+
if (!mDelegate.isIncognito() && mDelegate.isIncognitoSupported()) {
linkTab.add(new ChromeContextMenuItem(Item.OPEN_IN_INCOGNITO_TAB));
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -8,8 +8,10 @@ import android.content.Intent;
import android.support.annotation.Nullable;
import android.text.TextUtils;
@@ -9,8 +9,10 @@ import android.text.TextUtils;
import androidx.annotation.Nullable;
+import org.chromium.base.ContextUtils;
import org.chromium.base.SysUtils;
@@ -224,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.ServiceTabLauncher;
@@ -17,6 +19,7 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
@@ -19,6 +21,7 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabAssociatedApp;
import org.chromium.chrome.browser.tab.TabBuilder;
@@ -232,50 +243,47 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.tab.TabDelegateFactory;
import org.chromium.chrome.browser.tab.TabParentIntent;
import org.chromium.chrome.browser.tab.TabRedirectHandler;
@@ -37,6 +40,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -40,6 +43,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
private final ChromeActivity mActivity;
private final StartupTabPreloader mStartupTabPreloader;
private final boolean mIncognito;
+ private final TabObserver mExtraLogic;
private WindowAndroid mNativeWindow;
private TabModel mTabModel;
@@ -47,6 +51,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
mActivity = activity;
@@ -51,6 +55,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
mStartupTabPreloader = startupTabPreloader;
mNativeWindow = nativeWindow;
mIncognito = incognito;
+ if (!mIncognito) {
+ if (!mIncognito)
+ mExtraLogic = new AlwaysIncognitoLinkInterceptor(ContextUtils.getAppSharedPreferences());
+ } else {
+ else
+ mExtraLogic = null;
+ }
}
@Override
@@ -171,6 +180,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -186,6 +194,9 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
tab.getWebContents());
}
+ if (mExtraLogic != null) {
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+ }
+
mTabModel.addTab(tab, position, type);
return tab;
} finally {
@@ -199,6 +212,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.setWindow(mNativeWindow)
.setLaunchType(type)
@@ -217,6 +228,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.setDelegateFactory(delegateFactory)
.setInitiallyHidden(!openInForeground)
.build();
+
+ if (mExtraLogic != null) {
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+ }
+
tab.initialize(webContents, delegateFactory, !openInForeground, null, false);
mTabModel.addTab(tab, position, type);
return true;
@@ -242,7 +260,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
}
@@ -259,7 +274,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
*/
public Tab launchUrlFromExternalApp(String url, String referer, String headers,
String appId, boolean forceNewTab, Intent intent, long intentTimestamp) {
@@ -283,14 +291,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName());
// If an external app sends an intent for a Weblite URL and the Data Reduction Proxy is
@@ -307,6 +324,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
state.isIncognito());
tab.initialize(null, createDefaultTabDelegateFactory(), !selectTab, state, false);
@@ -326,6 +340,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
.setTabState(state)
.build();
assert state.isIncognito() == mIncognito;
+
+ if (mExtraLogic != null) {
+ if (mExtraLogic != null)
+ tab.addObserver(mExtraLogic);
+ }
+
mTabModel.addTab(tab, index, TabLaunchType.FROM_RESTORE);
return tab;
@@ -298,7 +305,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -689,6 +689,14 @@ CHAR-LIMIT guidelines:
@@ -669,6 +669,14 @@ CHAR-LIMIT guidelines:
Search and site suggestions disabled
</message>
@@ -314,5 +321,5 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
<message name="IDS_PREFS_THEMES" desc="Title for the Themes preferences. [CHAR-LIMIT=32]">
Themes
--
2.11.0
2.17.1
@@ -6,29 +6,29 @@ Add bookmark import/export actions in bookmarks activity and page
Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog
---
chrome/android/java/AndroidManifest.xml | 1 -
.../java/res/menu/bookmark_action_bar_menu.xml | 14 ++
.../browser/bookmarks/BookmarkActionBar.java | 12 ++
.../chrome/browser/bookmarks/BookmarkActivity.java | 15 ++
.../chrome/browser/bookmarks/BookmarkBridge.java | 46 +++++
.../chrome/browser/bookmarks/BookmarkDelegate.java | 10 +
.../chrome/browser/bookmarks/BookmarkManager.java | 20 ++
.../chrome/browser/bookmarks/BookmarkPage.java | 1 +
.../java/strings/android_chrome_strings.grd | 6 +
chrome/browser/BUILD.gn | 8 +-
.../browser/android/bookmarks/bookmark_bridge.cc | 215 +++++++++++++++++++++
chrome/browser/android/bookmarks/bookmark_bridge.h | 20 +-
chrome/browser/importer/profile_writer.cc | 12 ++
chrome/browser/importer/profile_writer.h | 6 +
chrome/common/BUILD.gn | 3 +
chrome/utility/BUILD.gn | 7 +-
chrome/utility/importer/bookmark_html_reader.cc | 27 ++-
chrome/utility/importer/bookmark_html_reader.h | 9 +
.../src/org/chromium/ui/base/SelectFileDialog.java | 18 +-
ui/shell_dialogs/select_file_dialog.h | 2 +
ui/shell_dialogs/select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
22 files changed, 446 insertions(+), 14 deletions(-)
chrome/android/java/AndroidManifest.xml | 1 -
.../res/menu/bookmark_action_bar_menu.xml | 14 ++
.../browser/bookmarks/BookmarkActionBar.java | 12 +
.../browser/bookmarks/BookmarkActivity.java | 15 ++
.../browser/bookmarks/BookmarkBridge.java | 47 ++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 20 ++
.../browser/bookmarks/BookmarkPage.java | 1 +
.../java/strings/android_chrome_strings.grd | 6 +
chrome/browser/BUILD.gn | 8 +-
.../android/bookmarks/bookmark_bridge.cc | 215 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 20 +-
chrome/browser/importer/profile_writer.cc | 12 +
chrome/browser/importer/profile_writer.h | 6 +
chrome/common/BUILD.gn | 3 +
chrome/utility/BUILD.gn | 7 +-
.../utility/importer/bookmark_html_reader.cc | 27 ++-
.../utility/importer/bookmark_html_reader.h | 9 +
.../chromium/ui/base/SelectFileDialog.java | 18 +-
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(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@@ -39,15 +39,16 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
- <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
<!-- notouch build doesn't support downloads home and shouldn't need this permission -->
{% set notouch_build = notouch_build|default(0) %}
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
--- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
+++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
@@ -22,6 +22,20 @@
@@ -21,6 +21,20 @@
android:visible="false"
app:showAsAction="ifRoom"
app:iconTint="@color/standard_mode_tint" />
<item
+ <item
+ android:id="@+id/import_menu_id"
+ android:icon="@drawable/ic_folder_blue_24dp"
+ android:title="@string/import_bookmarks"
@@ -61,14 +62,13 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
+ android:visible="true"
+ app:showAsAction="ifRoom"
+ app:iconTint="@color/standard_mode_tint" />
+ <item
<item
android:id="@+id/close_menu_id"
android:icon="@drawable/btn_close"
android:title="@string/bookmark_action_bar_close"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -90,6 +90,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -82,6 +82,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -141,6 +147,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -133,6 +139,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -150,6 +158,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -142,6 +150,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -182,6 +192,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -172,6 +182,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@@ -166,29 +166,26 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import android.net.Uri;
import android.os.SystemClock;
+import android.provider.Browser;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Pair;
@@ -23,6 +27,11 @@ import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
@@ -14,11 +18,15 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.metrics.RecordHistogram;
+import org.chromium.chrome.browser.document.ChromeLauncherActivity;
+import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.url_formatter.UrlFormatter;
+import org.chromium.ui.base.PageTransition;
+import org.chromium.ui.base.WindowAndroid;
+
import java.util.ArrayList;
import java.util.List;
@@ -525,6 +533,24 @@ public class BookmarkBridge {
@@ -553,6 +562,24 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
/**
+ /**
+ * Import bookmarks from a selected file.
+ * @param window The current window of the bookmarks activity or page.
+ */
@@ -206,11 +203,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ BookmarkBridgeJni.get().exportBookmarks(mNativeBookmarkBridge, BookmarkBridge.this);
+ }
+
+ /**
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
* @param maxNumberOfResult Maximum number of result to fetch.
@@ -877,6 +903,24 @@ public class BookmarkBridge {
@@ -914,6 +941,24 @@ public class BookmarkBridge {
depthList.add(depth);
}
@@ -235,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -943,6 +987,8 @@ public class BookmarkBridge {
@@ -982,6 +1027,8 @@ public class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
boolean getFolders, boolean getBookmarks, List<BookmarkId> bookmarksList);
@@ -247,10 +243,11 @@ 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/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -70,6 +70,16 @@ interface BookmarkDelegate {
@@ -69,6 +69,16 @@ interface BookmarkDelegate {
*/
void openSearchUI();
/**
+ /**
+ * Imports bookmarks from user-selected file.
+ */
+ void importBookmarks();
@@ -260,14 +257,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ */
+ void exportBookmarks();
+
+ /**
/**
* Dismisses the search UI.
*/
void closeSearchUI();
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
@@ -22,6 +22,7 @@ import org.chromium.chrome.R;
@@ -23,6 +23,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkItem;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge.BookmarkModelObserver;
@@ -275,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.chrome.browser.favicon.LargeIconBridge;
import org.chromium.chrome.browser.gesturenav.HistoryNavigationDelegate;
import org.chromium.chrome.browser.native_page.BasicNativePage;
@@ -34,6 +35,7 @@ import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
@@ -35,6 +36,7 @@ import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
import org.chromium.chrome.browser.widget.selection.SelectableListToolbar.SearchDelegate;
import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
import org.chromium.components.bookmarks.BookmarkId;
@@ -283,7 +279,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import java.util.Stack;
@@ -58,6 +60,7 @@ public class BookmarkManager
@@ -59,6 +61,7 @@ public class BookmarkManager
private Activity mActivity;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@@ -291,24 +287,25 @@ 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;
@@ -362,6 +365,13 @@ public class BookmarkManager
@@ -374,6 +377,13 @@ public class BookmarkManager
mSelectableListLayout.setHistoryNavigationDelegate(delegate);
}
/**
+ /**
+ * Sets the Android window that is used by further intents created by the bookmark activity.
+ */
+ public void setWindow(ActivityWindowAndroid window) {
+ mWindowAndroid = window;
+ }
+
+ /**
/**
* @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
* return the url previously set by {@link #updateForUrl(String)}.
@@ -523,6 +533,16 @@ public class BookmarkManager
@@ -547,6 +557,16 @@ public class BookmarkManager
}
}
@Override
+ @Override
+ public void importBookmarks() {
+ mBookmarkModel.importBookmarks(mWindowAndroid);
+ }
@@ -318,10 +315,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ mBookmarkModel.exportBookmarks();
+ }
+
+ @Override
@Override
public void openSearchUI() {
setState(BookmarkUIState.createSearchState());
mSelectableListLayout.onStartSearch();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java
@@ -336,7 +332,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -236,6 +236,12 @@ CHAR-LIMIT guidelines:
@@ -230,6 +230,12 @@ CHAR-LIMIT guidelines:
<message name="IDS_SEARCH" desc="The label for a search button.">
Search
</message>
@@ -352,7 +348,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -174,6 +174,10 @@ jumbo_split_static_library("browser") {
@@ -163,6 +163,10 @@ jumbo_static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
@@ -363,7 +359,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
"bookmarks/chrome_bookmark_client.cc",
@@ -3007,8 +3011,6 @@ jumbo_split_static_library("browser") {
@@ -2953,8 +2957,6 @@ jumbo_static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -372,7 +368,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"certificate_viewer.h",
"chrome_browser_field_trials_desktop.cc",
"chrome_browser_field_trials_desktop.h",
@@ -3115,8 +3117,6 @@ jumbo_split_static_library("browser") {
@@ -3059,8 +3061,6 @@ jumbo_static_library("browser") {
"importer/importer_uma.h",
"importer/in_process_importer_bridge.cc",
"importer/in_process_importer_bridge.h",
@@ -384,9 +380,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -41,6 +41,21 @@
#include "components/undo/undo_manager.h"
@@ -43,6 +43,21 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
+#include "base/android/content_uri_utils.h"
+#include "base/android/path_utils.h"
@@ -406,7 +402,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::ConvertUTF16ToJavaString;
@@ -58,6 +73,56 @@ using bookmarks::BookmarkPermanentNode;
@@ -60,6 +75,56 @@ using bookmarks::BookmarkPermanentNode;
using bookmarks::BookmarkType;
using content::BrowserThread;
@@ -462,8 +458,8 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+
namespace {
class BookmarkTitleComparer {
@@ -134,6 +199,10 @@ BookmarkBridge::~BookmarkBridge() {
const int kInvalidId = -1;
@@ -138,6 +203,10 @@ BookmarkBridge::~BookmarkBridge() {
bookmark_model_->RemoveObserver(this);
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
@@ -474,7 +470,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -475,6 +544,152 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -524,6 +593,152 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -662,7 +658,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -129,6 +138,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -133,6 +142,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@@ -676,7 +672,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -274,12 +290,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -278,12 +294,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void ShimBeingDeleted(PartnerBookmarksShim* shim) override;
Profile* profile_;
@@ -752,7 +748,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -440,6 +440,9 @@ static_library("common") {
@@ -445,6 +445,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -774,7 +770,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",
@@ -160,6 +158,11 @@ static_library("utility") {
@@ -164,6 +162,11 @@ static_library("utility") {
}
}
@@ -895,7 +891,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -33,6 +33,7 @@ import org.chromium.base.task.PostTask;
@@ -34,6 +34,7 @@ import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.ui.PhotoPickerListener;
import org.chromium.ui.R;
@@ -903,7 +899,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
import org.chromium.ui.UiUtils;
import java.io.File;
@@ -52,6 +53,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -53,6 +54,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/";
@@ -911,7 +907,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
private static final String ALL_IMAGE_TYPES = IMAGE_TYPE + "*";
private static final String ALL_VIDEO_TYPES = VIDEO_TYPE + "*";
private static final String ALL_AUDIO_TYPES = AUDIO_TYPE + "*";
@@ -130,6 +132,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -131,6 +133,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mFileTypes = fileTypes;
}
@@ -923,7 +919,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/*")
@@ -157,7 +164,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -158,7 +165,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@@ -932,7 +928,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())
@@ -185,7 +192,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -186,7 +193,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@@ -941,7 +937,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",
@@ -199,7 +206,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -200,7 +207,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@@ -950,7 +946,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
onFileNotSelected();
return;
}
@@ -348,6 +355,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -349,6 +356,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@@ -958,7 +954,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -625,6 +633,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -626,6 +634,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(specificType) > 0;
}
@@ -1010,5 +1006,5 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/se
~SelectFileDialogImpl() override;
--
2.11.0
2.17.1
@@ -3,12 +3,12 @@ Date: Wed, 29 Aug 2018 11:03:44 +0200
Subject: Add custom tab intents privacy option
---
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../org/chromium/chrome/browser/LaunchIntentDispatcher.java | 2 ++
.../browser/preferences/privacy/PrivacyPreferences.java | 11 +++++++++++
chrome/android/java/strings/android_chrome_strings.grd | 7 +++++++
5 files changed, 28 insertions(+)
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/LaunchIntentDispatcher.java | 3 +++
.../preferences/privacy/PrivacyPreferences.java | 11 +++++++++++
.../android/java/strings/android_chrome_strings.grd | 7 +++++++
5 files changed, 29 insertions(+)
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
@@ -35,32 +35,33 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:title="@string/allow_custom_tab_intents_title"
+ android:summary="@string/allow_custom_tab_intents_summary"
+ android:defaultValue="false" />
<android.support.v7.preference.Preference
android:key="contextual_search"
android:title="@string/contextual_search_title"
<Preference
android:key="clear_browsing_data"
android:title="@string/clear_browsing_data_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferences;
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.util.FeatureUtilities;
@@ -273,6 +274,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
+import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferences;
import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.browser.util.UrlConstants;
import org.chromium.chrome.browser.vr.VrModuleProvider;
@@ -251,6 +252,8 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(PrivacyPreferences.PREF_ALLOW_CUSTOM_TAB_INTENTS, false)) return false;
// CCT is disabled in noTouch mode except for some Chrome-internal exceptions.
if (FeatureUtilities.isNoTouchModeEnabled()
&& !IntentHandler.wasIntentSenderChrome(intent)) {
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(PrivacyPreferences.PREF_ALLOW_CUSTOM_TAB_INTENTS, false))
+ return false;
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
@@ -43,6 +43,8 @@ public class PrivacyPreferences
@@ -41,6 +41,8 @@ public class PrivacyPreferences
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@@ -68,8 +69,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
+
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManager privacyPrefManager = PrivacyPreferencesManager.getInstance();
@@ -101,6 +103,10 @@ public class PrivacyPreferences
PreferenceUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
@@ -75,6 +77,10 @@ public class PrivacyPreferences
PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
@@ -77,10 +78,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
+ sharedPreferencesEditor.apply();
} else if (PREF_CONTEXTUAL_SEARCH.equals(key)) {
PrefServiceBridge.getInstance().setContextualSearchPreference(((boolean) newValue) ? "true" : "false");
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
@@ -141,6 +147,11 @@ public class PrivacyPreferences
PrefServiceBridge.getInstance().setBoolean(
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@@ -111,6 +117,11 @@ public class PrivacyPreferences
prefServiceBridge.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -91,13 +92,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
+
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
if (doNotTrackPref != null) {
doNotTrackPref.setSummary(prefServiceBridge.isDoNotTrackEnabled() ? textOn : textOff);
doNotTrackPref.setSummary(
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -4020,6 +4020,13 @@ The site does NOT gain access to the camera. The camera images are only visible
<message name="IDS_INCOGNITO_DISCLOSURE_CHECKBOX_TEXT" desc="Text for checkbox inviting to close incognito tabs in incognito disclosure dialog." translateable="false">
Close other incognito tabs
@@ -3965,6 +3965,13 @@ The site does NOT gain access to the camera. The camera images are only visible
'Installing Extra ICU for Chrome…').">
Extra ICU
</message>
+ <!-- Allow custom tab intents -->
+ <message name="IDS_ALLOW_CUSTOM_TAB_INTENTS_TITLE" desc="Text for 'Allow custom tab intents' settings-privacy option.">
@@ -107,8 +108,8 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
+ Allow applications to open custom tab intents, similar to webview.
+ </message>
<!-- Autofill Assistant preferences -->
<message name="IDS_PREFS_AUTOFILL_ASSISTANT_TITLE" desc="Title for the Autofill Assistant preferences screen. [CHAR-LIMIT=32]">
</messages>
</release>
--
2.11.0
2.17.1
+7 -7
View File
@@ -4,10 +4,10 @@ Subject: Add exit menu item
Corrected Exit functionality
---
chrome/android/java/res/menu/main_menu.xml | 2 ++
.../java/src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
.../org/chromium/chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
chrome/android/java/strings/android_chrome_strings.grd | 3 +++
chrome/android/java/res/menu/main_menu.xml | 2 ++
.../src/org/chromium/chrome/browser/ChromeActivity.java | 2 ++
.../chrome/browser/init/ChromeLifetimeController.java | 6 +++++-
chrome/android/java/strings/android_chrome_strings.grd | 3 +++
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
@@ -25,7 +25,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2137,6 +2137,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2204,6 +2204,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
new AddToHomescreenManager(this, currentTab);
addToHomescreenManager.start();
RecordUserAction.record("MobileMenuAddToHomescreen");
@@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2947,6 +2947,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -2860,6 +2860,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_PREFERENCES" desc="Menu item for opening browser preferences. [CHAR-LIMIT=27]">
Settings
</message>
@@ -64,5 +64,5 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
Close all tabs
</message>
--
2.11.0
2.17.1
@@ -6,20 +6,20 @@ With the introduction of this flag it is possible to increase the maximum
allowed connections per host; this can however be detrimental to devices
with limited CPU/memory resources and it is disabled by default.
---
chrome/browser/about_flags.cc | 8 ++++++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
.../common/network_features.cc | 3 +++
.../common/network_features.h | 4 ++++
.../common/network_switch_list.h | 4 ++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 1 +
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
chrome/browser/about_flags.cc | 8 ++++++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
.../common/network_features.cc | 3 +++
.../common/network_features.h | 4 ++++
.../common/network_switch_list.h | 4 ++++
.../spoof_checks/top_domains/BUILD.gn | 1 +
net/socket/client_socket_pool_manager.cc | 17 +++++++++++++++++
8 files changed, 44 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -677,6 +677,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -668,6 +668,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 ==
@@ -2546,6 +2551,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2596,6 +2601,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kPassiveDocumentEventListenersName,
flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
@@ -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
@@ -1240,6 +1240,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
@@ -1275,6 +1275,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
@@ -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
@@ -761,6 +761,9 @@ extern const char kMarkHttpAsWarning[];
@@ -776,6 +776,9 @@ extern const char kMarkHttpAsWarning[];
extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
@@ -71,16 +71,14 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
--- a/components/network_session_configurator/common/network_features.cc
+++ b/components/network_session_configurator/common/network_features.cc
@@ -8,6 +8,9 @@
@@ -8,4 +8,7 @@
namespace features {
+const char kMaxConnectionsPerHostChoiceDefault[] = "6",
+ kMaxConnectionsPerHostChoice15[] = "15";
+
const char kDnsOverHttpsChoiceDefault[] = "Disabled",
kDnsOverHttpsChoiceGoogle[] = "Google",
kDnsOverHttpsChoiceCloudflare[] = "Cloudflare",
} // namespace features
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
--- a/components/network_session_configurator/common/network_features.h
+++ b/components/network_session_configurator/common/network_features.h
@@ -92,9 +90,9 @@ diff --git a/components/network_session_configurator/common/network_features.h b
+ kMaxConnectionsPerHostChoice6[],
+ kMaxConnectionsPerHostChoice15[];
+
// DNS over HTTPS server endpoint choices
// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-12.txt).
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[],
} // namespace features
#endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_
diff --git a/components/network_session_configurator/common/network_switch_list.h b/components/network_session_configurator/common/network_switch_list.h
--- a/components/network_session_configurator/common/network_switch_list.h
+++ b/components/network_session_configurator/common/network_switch_list.h
@@ -112,7 +110,7 @@ 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
@@ -78,6 +78,7 @@ executable("make_top_domain_list_for_edit_distance") {
@@ -78,6 +78,7 @@ executable("make_top_domain_list_variables") {
"//base",
"//base:i18n",
"//third_party/icu",
@@ -134,7 +132,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
namespace net {
@@ -185,6 +189,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
@@ -187,6 +191,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
int ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
@@ -155,5 +153,5 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
}
--
2.11.0
2.17.1
@@ -4,16 +4,16 @@ Subject: Add flag to control video playback resume feature
Disable it by default on Android as it is everywhere else
---
chrome/browser/about_flags.cc | 8 ++++----
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
media/base/media_switches.cc | 6 +-----
4 files changed, 13 insertions(+), 9 deletions(-)
4 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1580,6 +1580,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1633,6 +1633,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webassembly-threads", flag_descriptions::kEnableWasmThreadsName,
flag_descriptions::kEnableWasmThreadsDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebAssemblyThreads)},
@@ -24,21 +24,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
{"shared-array-buffer", flag_descriptions::kEnableSharedArrayBufferName,
flag_descriptions::kEnableSharedArrayBufferDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kSharedArrayBuffer)},
@@ -1603,10 +1607,6 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kAppNotificationStatusMessaging)},
#endif // OS_ANDROID
{"enable-devtools-experiments", flag_descriptions::kDevtoolsExperimentsName,
- {"resume-background-video",
- flag_descriptions::kResumeBackgroundVideoName,
- flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
- FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
flag_descriptions::kDevtoolsExperimentsDescription, kOsDesktop,
SINGLE_VALUE_TYPE(switches::kEnableDevToolsExperiments)},
{"silent-debugger-extension-api",
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
@@ -876,6 +876,11 @@ const char kMemlogStackModeNative[] = "Native";
@@ -904,6 +904,11 @@ const char kMemlogStackModeNative[] = "Native";
const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
const char kMemlogStackModePseudo[] = "Trace events";
@@ -53,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -520,6 +520,9 @@ extern const char kEnablePortalsDescription[];
@@ -532,6 +532,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
@@ -66,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
@@ -212,11 +212,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -216,11 +216,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
@@ -80,5 +69,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
// Enable Media Capabilities with finch-parameters.
--
2.11.0
2.17.1
@@ -3,20 +3,20 @@ Date: Sun, 18 Nov 2018 13:06:49 +0100
Subject: Add flag to disable IPv6 probes
---
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
components/subresource_filter/tools/BUILD.gn | 6 ++++++
components/url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 10 ++++++++--
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
components/subresource_filter/tools/BUILD.gn | 6 ++++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 10 ++++++++--
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
8 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3206,6 +3206,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3244,6 +3244,11 @@ const FeatureEntry kFeatureEntries[] = {
kMarkHttpAsFeatureVariations,
"HTTPReallyBadFinal")},
@@ -31,21 +31,21 @@ 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
@@ -2512,6 +2512,10 @@ const char kForegroundNotificationManagerDescription[] =
const char kHomePageButtonName[] = "Force Enable Home Page Button";
const char kHomePageButtonDescription[] = "Displays a home button if enabled.";
@@ -2512,6 +2512,10 @@ const char kContextualSearchSimplifiedServerDescription[] =
const char kContextualSearchSecondTapName[] =
"Contextual Search second tap triggering";
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] =
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
+
const char kHomepageTileName[] =
"Enable Homepage tile shown in Suggested Tiles";
const char kHomepageTileDescription[] =
const char kContextualSearchSecondTapDescription[] =
"Enables triggering on a second tap gesture even when Ranker would "
"normally suppress that tap.";
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
@@ -523,6 +523,9 @@ extern const char kEnableNewDownloadBackendDescription[];
@@ -535,6 +535,9 @@ extern const char kEnableNewDownloadBackendDescription[];
extern const char kEnablePortalsName[];
extern const char kEnablePortalsDescription[];
@@ -88,7 +88,7 @@ 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
@@ -78,7 +78,8 @@ executable("make_top_domain_list_for_edit_distance") {
@@ -78,7 +78,8 @@ executable("make_top_domain_list_variables") {
"//base",
"//base:i18n",
"//third_party/icu",
@@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "url/url_canon_ip.h"
#if BUILDFLAG(ENABLE_MDNS)
@@ -3209,8 +3210,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -3269,8 +3270,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
bool cached = true;
if ((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
@@ -46,6 +46,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -51,6 +51,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -142,7 +142,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -19,6 +19,8 @@ extern const base::Feature kNetworkErrorLogging;
@@ -21,6 +21,8 @@ extern const base::Feature kNetworkErrorLogging;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kNetworkService;
COMPONENT_EXPORT(NETWORK_CPP)
@@ -152,5 +152,5 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kReporting;
--
2.11.0
2.17.1
@@ -0,0 +1,53 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 16 Nov 2019 11:18:09 +0100
Subject: Add flag to disable WebGL
---
chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
3 files changed, 10 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1425,6 +1425,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAccelerated2dCanvasName,
flag_descriptions::kAccelerated2dCanvasDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas)},
+ {switches::kDisableWebGL, flag_descriptions::kDisableWebGLName,
+ flag_descriptions::kDisableWebGLDescription, kOsAll,
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebGL)},
{"composited-layer-borders", flag_descriptions::kCompositedLayerBordersName,
flag_descriptions::kCompositedLayerBordersDescription, kOsAll,
SINGLE_VALUE_TYPE(cc::switches::kShowCompositedLayerBorders)},
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
@@ -426,6 +426,10 @@ const char kDisableAudioForDesktopShareDescription[] =
"With this flag on, desktop share picker window will not let the user "
"choose whether to share audio.";
+const char kDisableWebGLName[] = "Disable all versions of WebGL";
+
+const char kDisableWebGLDescription[] = "Disable all versions of WebGL";
+
const char kDisableBestEffortTasksName[] = "Skip best effort tasks";
const char kDisableBestEffortTasksDescription[] =
"With this flag on, tasks of the lowest priority will not be executed "
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
@@ -274,6 +274,9 @@ extern const char kDevtoolsExperimentsDescription[];
extern const char kDisableAudioForDesktopShareName[];
extern const char kDisableAudioForDesktopShareDescription[];
+extern const char kDisableWebGLName[];
+extern const char kDisableWebGLDescription[];
+
extern const char kDisableBestEffortTasksName[];
extern const char kDisableBestEffortTasksDescription[];
--
2.17.1
@@ -5,22 +5,22 @@ Subject: Add flags to disable device motion and orientation APIs
Both flags will be disabled by default and prevent usage of gyroscope and
legacy acceleration events.
---
chrome/browser/about_flags.cc | 6 ++++++
chrome/browser/flag_descriptions.cc | 8 ++++++++
chrome/browser/flag_descriptions.h | 6 ++++++
content/child/runtime_features.cc | 3 +++
content/public/common/content_features.cc | 10 ++++++++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 2 ++
third_party/blink/renderer/modules/modules_initializer.cc | 9 ++++++---
.../blink/renderer/platform/exported/web_runtime_features.cc | 8 ++++++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 8 ++++++++
chrome/browser/about_flags.cc | 6 ++++++
chrome/browser/flag_descriptions.cc | 8 ++++++++
chrome/browser/flag_descriptions.h | 6 ++++++
content/child/runtime_features.cc | 3 +++
content/public/common/content_features.cc | 10 ++++++++++
content/public/common/content_features.h | 2 ++
.../blink/public/platform/web_runtime_features.h | 2 ++
.../blink/renderer/modules/modules_initializer.cc | 9 ++++++---
.../renderer/platform/exported/web_runtime_features.cc | 8 ++++++++
.../renderer/platform/runtime_enabled_features.json5 | 8 ++++++++
10 files changed, 59 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1606,6 +1606,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1659,6 +1659,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
@@ -644,6 +644,14 @@ const char kWinrtSensorsImplementationDescription[] =
@@ -674,6 +674,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
@@ -398,6 +398,12 @@ extern const char kEnableTLS13EarlyDataDescription[];
@@ -410,6 +410,12 @@ extern const char kWinrtGeolocationImplementationDescription[];
extern const char kWinrtSensorsImplementationName[];
extern const char kWinrtSensorsImplementationDescription[];
@@ -70,20 +70,20 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -85,6 +85,9 @@ void SetIndividualRuntimeFeatures(
base::FeatureList::IsEnabled(features::kSharedArrayBuffer) ||
base::FeatureList::IsEnabled(features::kWebAssemblyThreads));
@@ -85,6 +85,9 @@ void SetRuntimeFeatureDefaultsForPlatform(
command_line.HasSwitch(
switches::kEnableGpuMemoryBufferCompositorResources) &&
!command_line.HasSwitch(switches::kDisableWebGLImageChromium) &&
+ WebRuntimeFeatures::EnableDeviceMotion(base::FeatureList::IsEnabled(features::kDeviceMotion));
+ WebRuntimeFeatures::EnableDeviceOrientation(base::FeatureList::IsEnabled(features::kDeviceOrientation));
+
if (command_line.HasSwitch(switches::kDisableSharedWorkers))
WebRuntimeFeatures::EnableSharedWorker(false);
!command_line.HasSwitch(switches::kDisableGpu) &&
base::FeatureList::IsEnabled(features::kWebGLImageChromium);
#else
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
@@ -689,6 +689,16 @@ const base::Feature kExperimentalProductivityFeatures{
@@ -688,6 +688,16 @@ const base::Feature kExperimentalProductivityFeatures{
// TODO(rouslan): Remove this.
const base::Feature kWebPayments{"WebPayments",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -103,7 +103,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -157,6 +157,8 @@ CONTENT_EXPORT extern const base::Feature kScriptStreamingOnPreload;
@@ -156,6 +156,8 @@ CONTENT_EXPORT extern const base::Feature kScriptStreamingOnPreload;
CONTENT_EXPORT extern const base::Feature kTrustedDOMTypes;
CONTENT_EXPORT extern const base::Feature kBrowserUseDisplayThreadPriority;
@@ -115,7 +115,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -91,6 +91,8 @@ class WebRuntimeFeatures {
@@ -96,6 +96,8 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableCSSHexAlphaColor(bool);
BLINK_PLATFORM_EXPORT static void EnableSameSiteByDefaultCookies(bool);
BLINK_PLATFORM_EXPORT static void EnableScrollTopLeftInterop(bool);
@@ -127,7 +127,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
--- a/third_party/blink/renderer/modules/modules_initializer.cc
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
@@ -244,9 +244,12 @@ void ModulesInitializer::InitInspectorAgentSession(
@@ -235,9 +235,12 @@ void ModulesInitializer::InitInspectorAgentSession(
void ModulesInitializer::OnClearWindowObjectInMainWorld(
Document& document,
const Settings& settings) const {
@@ -146,7 +146,7 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -160,6 +160,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
@@ -172,6 +172,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
@@ -164,10 +164,11 @@ 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
@@ -1128,6 +1128,14 @@
@@ -1132,6 +1132,14 @@
name: "OffscreenCanvasCommit",
status: "experimental",
},
{
+ {
+ name: "DeviceMotion",
+ status: "stable",
+ },
@@ -175,10 +176,9 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ name: "DeviceOrientation",
+ status: "stable",
+ },
+ {
{
name: "OnDeviceChange",
// Android does not yet support SystemMonitor.
status: {"Android": "", "default": "stable"},
--
2.11.0
2.17.1
@@ -1,193 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 14 Sep 2019 10:19:07 +0200
Subject: Add menu option to toggle ad blocker
---
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +++++++
chrome/android/java/res/menu/main_menu.xml | 11 ++++++
.../chromium/chrome/browser/ChromeActivity.java | 8 +++++
.../chrome/browser/ChromeTabbedActivity.java | 8 +++++
.../appmenu/AppMenuPropertiesDelegateImpl.java | 40 ++++++++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 2 ++
.../java/strings/android_chrome_strings.grd | 11 ++++++
7 files changed, 92 insertions(+)
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -75,6 +75,18 @@
android:checkable="true" />
</menu>
</item>
+ <item android:id="@+id/enable_adblock_row_menu_id"
+ android:title="@null"
+ android:orderInCategory="2">
+ <menu>
+ <item android:id="@+id/enable_adblock_id"
+ android:title="@string/menu_enable_adblock" />
+ <item android:id="@+id/enable_adblock_check_id"
+ android:title="@null"
+ android:checkable="true" />
+ </menu>
+ </item>
+
<!-- Title is intentionally left blank in xml and will be set in java. -->
<item android:id="@+id/open_in_browser_id"
android:title=""
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
@@ -84,6 +84,17 @@
</menu>
</item>
+ <item android:id="@+id/enable_adblock_row_menu_id"
+ android:title="@null">
+ <menu>
+ <item android:id="@+id/enable_adblock_id"
+ android:title="@string/menu_enable_adblock" />
+ <item android:id="@+id/enable_adblock_check_id"
+ android:title="@null"
+ android:checkable="true" />
+ </menu>
+ </item>
+
<item android:id="@+id/reader_mode_prefs_id"
android:title="@string/menu_reader_mode_prefs"
android:icon="@drawable/reader_mode_prefs_icon" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2159,6 +2159,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.reader_mode_prefs_id) {
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
+ final boolean reloadOnChange = !currentTab.isNativePage();
+ final boolean adblockEnabled = !PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS);
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS, adblockEnabled);
+ if (reloadOnChange) {
+ currentTab.reload();
+ }
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
} else {
return false;
}
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
@@ -1757,6 +1757,14 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
reportNewTabShortcutUsed(true);
getTabCreator(true).launchNTP();
}
+ } else if (id == R.id.enable_adblock_id || id == R.id.enable_adblock_check_id) {
+ final boolean reloadOnChange = !currentTab.isNativePage();
+ final boolean adblockEnabled = !PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS);
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS, adblockEnabled);
+ if (reloadOnChange) {
+ currentTab.reload();
+ }
+ RecordUserAction.record("MobileMenuRequestEnableAdBlock");
} else if (id == R.id.all_bookmarks_menu_id) {
if (currentTab != null) {
getCompositorViewHolder().hideKeyboard(() -> {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -26,6 +26,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ChromeSwitches;
+import org.chromium.chrome.browser.ContentSettingsType;
import org.chromium.chrome.browser.ShortcutHelper;
import org.chromium.chrome.browser.banners.AppBannerManager;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
@@ -224,6 +225,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
// Prepare translate menu button.
prepareTranslateMenuItem(menu, currentTab);
+ updateEnableAdBlockMenuItem(menu, currentTab);
+
// Hide 'Add to homescreen' for the following:
// * chrome:// pages - Android doesn't know how to direct those URLs.
// * incognito pages - To avoid problems where users create shortcuts in incognito
@@ -299,6 +302,43 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
PrefServiceBridge.getInstance().isIncognitoModeManaged());
}
+ /**
+ * Updates the ad blocker item's state.
+ *
+ * @param menu {@link Menu} to enable ad blocker
+ * @param currentTab Current tab being displayed.
+ */
+ protected void updateEnableAdBlockMenuItem(
+ Menu menu, Tab currentTab) {
+ MenuItem enableMenuRow = menu.findItem(R.id.enable_adblock_row_menu_id);
+ MenuItem enableMenuLabel = menu.findItem(R.id.enable_adblock_id);
+ MenuItem enableMenuCheck = menu.findItem(R.id.enable_adblock_check_id);
+
+
+ // Hide Block ads on all chrome:// pages except for the NTP.
+ String url = currentTab.getUrl();
+ boolean isChromeScheme = url.startsWith(UrlConstants.CHROME_URL_PREFIX)
+ || url.startsWith(UrlConstants.CHROME_NATIVE_URL_PREFIX);
+ // Also hide enable javascsript on Reader Mode.
+ boolean isDistilledPage = DomDistillerUrlUtils.isDistilledPage(url);
+
+ boolean itemVisible = (!isChromeScheme || currentTab.isNativePage()) && !isDistilledPage;
+ enableMenuRow.setVisible(itemVisible);
+ if (!itemVisible) return;
+
+ boolean adBlockEnabled = !PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS);
+
+ // Mark the checkbox if ad blocker is globally activated.
+ enableMenuCheck.setChecked(adBlockEnabled);
+
+ // This title doesn't seem to be displayed by Android, but it is used to set up
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
+ enableMenuLabel.setTitleCondensed(adBlockEnabled
+ ? mContext.getString(R.string.menu_enable_adblock_on)
+ : mContext.getString(R.string.menu_enable_adblock_off));
+ }
+
+
/**
* Sets the visibility and labels of the "Add to Home screen" and "Open WebAPK" menu items.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -201,6 +201,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
}
+ updateEnableAdBlockMenuItem(menu, currentTab);
+
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
updateEnableJavascriptMenuItem(menu, currentTab);
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2952,6 +2952,17 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
Turn on Request desktop site
</message>
+
+ <message name="IDS_MENU_ENABLE_ADBLOCK" desc="Menu item in Chrome's overflow/options menu. If this menu item is unselected, Bromite will disable ad blocker engine for the page. [CHAR-LIMIT=27]">
+ Block ads
+ </message>
+ <message name="IDS_MENU_ENABLE_ADBLOCK_ON" desc="Accessibility description for when Block ads is selected.">
+ Turn off ad blocking
+ </message>
+ <message name="IDS_MENU_ENABLE_ADBLOCK_OFF" desc="Accessibility description for when Block ads is unselected.">
+ Turn on ad blocking
+ </message>
+
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR-LIMIT=27]">
Appearance
</message>
--
2.11.0
@@ -1,200 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 18 Oct 2017 21:26:53 +0200
Subject: Add menu option to toggle global Javascript preference
---
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +++++++
chrome/android/java/res/menu/main_menu.xml | 13 ++++++++
.../chromium/chrome/browser/ChromeActivity.java | 8 +++++
.../chrome/browser/ChromeTabbedActivity.java | 8 +++++
.../appmenu/AppMenuPropertiesDelegateImpl.java | 39 ++++++++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
.../java/strings/android_chrome_strings.grd | 11 ++++++
7 files changed, 92 insertions(+)
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -49,6 +49,7 @@
<item android:id="@+id/open_webapk_id"
android:title="@string/menu_open_webapk"
android:orderInCategory="2" />
+
<item android:id="@+id/request_desktop_site_row_menu_id"
android:title="@null"
android:orderInCategory="2">
@@ -63,6 +64,17 @@
<item android:id="@+id/translate_id"
android:title="@string/menu_translate"
android:orderInCategory="2"/>
+ <item android:id="@+id/enable_javascript_row_menu_id"
+ android:title="@null"
+ android:orderInCategory="2">
+ <menu>
+ <item android:id="@+id/enable_javascript_id"
+ android:title="@string/menu_enable_javascript" />
+ <item android:id="@+id/enable_javascript_check_id"
+ android:title="@null"
+ android:checkable="true" />
+ </menu>
+ </item>
<!-- Title is intentionally left blank in xml and will be set in java. -->
<item android:id="@+id/open_in_browser_id"
android:title=""
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
@@ -61,6 +61,7 @@
android:title="@string/menu_add_to_homescreen" />
<item android:id="@+id/open_webapk_id"
android:title="@string/menu_open_webapk" />
+
<item android:id="@+id/request_desktop_site_row_menu_id"
android:title="@null">
<menu>
@@ -71,6 +72,18 @@
android:checkable="true" />
</menu>
</item>
+
+ <item android:id="@+id/enable_javascript_row_menu_id"
+ android:title="@null">
+ <menu>
+ <item android:id="@+id/enable_javascript_id"
+ android:title="@string/menu_enable_javascript" />
+ <item android:id="@+id/enable_javascript_check_id"
+ android:title="@null"
+ android:checkable="true" />
+ </menu>
+ </item>
+
<item android:id="@+id/reader_mode_prefs_id"
android:title="@string/menu_reader_mode_prefs"
android:icon="@drawable/reader_mode_prefs_icon" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2149,6 +2149,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
currentTab.getWebContents().getNavigationController().setUseDesktopUserAgent(
!usingDesktopUserAgent, reloadOnChange);
RecordUserAction.record("MobileMenuRequestDesktopSite");
+ } else if (id == R.id.enable_javascript_id || id == R.id.enable_javascript_check_id) {
+ final boolean reloadOnChange = !currentTab.isNativePage();
+ final boolean jsEnabled = PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT, !jsEnabled);
+ if (reloadOnChange) {
+ currentTab.reload();
+ }
+ RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.reader_mode_prefs_id) {
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
} else {
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
@@ -1802,6 +1802,14 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
+ } else if (id == R.id.enable_javascript_id || id == R.id.enable_javascript_check_id) {
+ final boolean reloadOnChange = !currentTab.isNativePage();
+ final boolean jsEnabled = PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT, !jsEnabled);
+ if (reloadOnChange) {
+ currentTab.reload();
+ }
+ RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.open_recently_closed_tab) {
TabModel currentModel = mTabModelSelectorImpl.getCurrentModel();
if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -241,6 +241,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
+ updateEnableJavascriptMenuItem(menu, currentTab);
+
// Only display reader mode settings menu option if the current page is in reader mode.
menu.findItem(R.id.reader_mode_prefs_id)
.setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.getUrl()));
@@ -432,6 +434,43 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
}
+ /**
+ * Updates the enable JavaScript item's state.
+ *
+ * @param menu {@link Menu} for enable javascript
+ * @param currentTab Current tab being displayed.
+ */
+ protected void updateEnableJavascriptMenuItem(
+ Menu menu, Tab currentTab) {
+ MenuItem enableMenuRow = menu.findItem(R.id.enable_javascript_row_menu_id);
+ MenuItem enableMenuLabel = menu.findItem(R.id.enable_javascript_id);
+ MenuItem enableMenuCheck = menu.findItem(R.id.enable_javascript_check_id);
+
+ // Hide enable javascript on all chrome:// pages except for the NTP.
+ String url = currentTab.getUrl();
+ boolean isChromeScheme = url.startsWith(UrlConstants.CHROME_URL_PREFIX)
+ || url.startsWith(UrlConstants.CHROME_NATIVE_URL_PREFIX);
+ // Also hide enable javascsript on Reader Mode.
+ boolean isDistilledPage = DomDistillerUrlUtils.isDistilledPage(url);
+
+ boolean itemVisible = (!isChromeScheme || currentTab.isNativePage()) && !isDistilledPage;
+ enableMenuRow.setVisible(itemVisible);
+ if (!itemVisible) return;
+
+ boolean jsEnabled = PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT);
+
+ // Mark the checkbox if Javascript is activated on this tab.
+ enableMenuCheck.setChecked(jsEnabled);
+
+ // This title doesn't seem to be displayed by Android, but it is used to set up
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
+ enableMenuLabel.setTitleCondensed(jsEnabled
+ ? mContext.getString(R.string.menu_enable_javascript_on)
+ : mContext.getString(R.string.menu_enable_javascript_off));
+ }
+
+
+
/**
* Updates the request desktop site item's state.
*
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -202,6 +202,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
+ updateEnableJavascriptMenuItem(menu, currentTab);
prepareAddToHomescreenMenuItem(menu, currentTab, addToHomeScreenVisible);
}
}
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2932,6 +2932,17 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_FIND_IN_PAGE" desc="Menu item allowing users to find text within the current page. [CHAR-LIMIT=27]">
Find in page
</message>
+
+ <message name="IDS_MENU_ENABLE_JAVASCRIPT" desc="Menu item in Chrome's overflow/options menu. If this menu item is unselected, Bromite will disable JavaScript support for the page. [CHAR-LIMIT=27]">
+ JavaScript
+ </message>
+ <message name="IDS_MENU_ENABLE_JAVASCRIPT_ON" desc="Accessibility description for when Enable JavaScript is selected.">
+ Turn off JavaScript
+ </message>
+ <message name="IDS_MENU_ENABLE_JAVASCRIPT_OFF" desc="Accessibility description for when Enable JavaScript is unselected.">
+ Turn on JavaScript
+ </message>
+
<message name="IDS_MENU_REQUEST_DESKTOP_SITE" desc="Menu item in Chrome's overflow/options menu. By default, when a user navigates to a web page, Chrome shows the mobile site, that is, the version of the site designed for mobile phones. If this menu item is selected, however, Chrome will try to load the 'desktop' site instead, i.e. the site designed for desktop computers or laptop computers, which have larger screens. [CHAR-LIMIT=24]">
Desktop site
</message>
--
2.11.0
@@ -0,0 +1,491 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 5 Dec 2019 22:41:25 +0100
Subject: Add option to configure the ad blocker filters URL
---
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 65 +++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../java/res/xml/adblock_preferences.xml | 25 +++++
.../android/java/res/xml/main_preferences.xml | 11 ++-
.../browser/preferences/AdBlockEditor.java | 91 +++++++++++++++++++
.../preferences/AdBlockPreferences.java | 53 +++++++++++
.../java/strings/android_chrome_strings.grd | 14 +++
chrome/app/generated_resources.grd | 10 ++
chrome/browser/android/feature_utilities.cc | 8 ++
chrome/browser/browser_process_impl.cc | 3 +-
.../net/system_network_context_manager.cc | 3 +
chrome/common/pref_names.cc | 3 +
chrome/common/pref_names.h | 1 +
.../adblock_updater_service.cc | 6 +-
.../adblock_updater_service.h | 3 +-
16 files changed, 292 insertions(+), 8 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -1277,6 +1277,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/preferences/PreferenceUtils.java",
"java/src/org/chromium/chrome/browser/preferences/Preferences.java",
"java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java",
+ "java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java",
+ "java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java",
"java/src/org/chromium/chrome/browser/preferences/SearchEngineAdapter.java",
"java/src/org/chromium/chrome/browser/preferences/SearchEnginePreference.java",
"java/src/org/chromium/chrome/browser/preferences/SearchUtils.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
+++ b/chrome/android/java/res/layout/adblock_editor.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/scroll_view"
+ android:fillViewport="true" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:focusableInTouchMode="true" >
+
+ <org.chromium.chrome.browser.widget.ChromeTextInputLayout
+ android:id="@+id/adblock_url"
+ style="@style/PreferenceScreenLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+ <!-- TODO(crbug.com/900912): Fix and remove lint ignore -->
+ <EditText
+ tools:ignore="Autofill"
+ android:id="@+id/adblock_url_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textUri"
+ android:singleLine="true"
+ android:hint="@string/options_adblock_edit_label" />
+ </org.chromium.chrome.browser.widget.ChromeTextInputLayout>
+
+ <Space style="@style/ButtonBarTopSpacer" />
+ <View style="@style/ButtonBarTopDivider" />
+
+ <LinearLayout style="@style/ButtonBar" >
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_reset"
+ style="@style/ButtonBarButton"
+ android:text="@string/reset" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_cancel"
+ style="@style/ButtonBarButton"
+ android:text="@string/cancel" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/adblock_save"
+ style="@style/ButtonBarButton"
+ android:text="@string/save" />
+ </LinearLayout>
+ </LinearLayout>
+ </ScrollView>
+
+ <include layout="@layout/preferences_action_bar_shadow"/>
+
+</FrameLayout>
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
@@ -70,6 +70,8 @@
<!-- Our manage space activity. Default pre-KitKat to be nothing. -->
<string name="manage_space_activity"></string>
+ <string name="adblock_help_url">https://www.bromite.org/custom-filters</string>
+
<!-- Value for scaleX to mirror drawables correctly for LTR / RTL layouts. -->
<integer name="automirror_scale_x_reverse">-1</integer>
diff --git a/chrome/android/java/res/xml/adblock_preferences.xml b/chrome/android/java/res/xml/adblock_preferences.xml
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/adblock_preferences.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <org.chromium.chrome.browser.preferences.ChromeSwitchPreference
+ android:key="adblock_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
+
+ <org.chromium.chrome.browser.preferences.HyperlinkPreference
+ android:key="adblock_help"
+ android:title="@string/adblock_help"
+ app:url="@string/adblock_help_url" />
+
+ <Preference
+ android:key="adblock_edit"
+ android:title="@string/options_adblock_edit_label"
+ android:fragment="org.chromium.chrome.browser.preferences.AdBlockEditor" />
+
+</PreferenceScreen>
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
@@ -60,20 +60,25 @@
android:key="privacy"
android:order="13"
android:title="@string/prefs_privacy"/>
+ <Preference
+ android:fragment="org.chromium.chrome.browser.preferences.AdBlockPreferences"
+ android:key="adblock"
+ android:order="14"
+ android:title="@string/prefs_adblock"/>
<Preference
android:fragment="org.chromium.chrome.browser.preferences.AccessibilityPreferences"
android:key="accessibility"
- android:order="14"
+ android:order="15"
android:title="@string/prefs_accessibility"/>
<Preference
android:fragment="org.chromium.chrome.browser.preferences.website.SiteSettingsPreferences"
android:key="content_settings"
- android:order="15"
+ android:order="16"
android:title="@string/prefs_site_settings"/>
<Preference
android:fragment="org.chromium.chrome.browser.preferences.languages.LanguagesPreferences"
android:key="languages"
- android:order="16"
+ android:order="17"
android:title="@string/prefs_languages"/>
<org.chromium.chrome.browser.preferences.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.preferences.download.DownloadPreferences"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockEditor.java
@@ -0,0 +1,91 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.chrome.R;
+import org.chromium.components.url_formatter.UrlFormatter;
+
+/**
+ * Provides the Java-UI for editing the DNS-over-HTTPS (AdBlock) preference.
+ */
+public class AdBlockEditor extends Fragment implements TextWatcher {
+ private EditText mAdBlockFiltersUrlEdit;
+ private Button mSaveButton;
+ private Button mResetButton;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getActivity().setTitle(R.string.options_adblock_edit_title);
+
+ View v = inflater.inflate(R.layout.adblock_editor, container, false);
+ View scrollView = v.findViewById(R.id.scroll_view);
+ scrollView.getViewTreeObserver().addOnScrollChangedListener(
+ PreferenceUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
+ mAdBlockFiltersUrlEdit = (EditText) v.findViewById(R.id.adblock_url_edit);
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ mAdBlockFiltersUrlEdit.addTextChangedListener(this);
+ mAdBlockFiltersUrlEdit.requestFocus();
+
+ initializeSaveCancelResetButtons(v);
+ return v;
+ }
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ mSaveButton.setEnabled(s.length() != 0);
+ mResetButton.setEnabled(true);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ }
+
+ private void initializeSaveCancelResetButtons(View v) {
+ mResetButton = (Button) v.findViewById(R.id.adblock_reset);
+ mResetButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mAdBlockFiltersUrlEdit.setText(FeatureUtilities.getAdBlockFiltersURL());
+ getActivity().finish();
+ }
+ });
+
+ mSaveButton = (Button) v.findViewById(R.id.adblock_save);
+ mSaveButton.setEnabled(false);
+ mSaveButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ FeatureUtilities.setAdBlockFiltersURL(
+ UrlFormatter.fixupUrl(mAdBlockFiltersUrlEdit.getText().toString()));
+ getActivity().finish();
+ }
+ });
+
+ Button button = (Button) v.findViewById(R.id.adblock_cancel);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getActivity().finish();
+ }
+ });
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/AdBlockPreferences.java
@@ -0,0 +1,53 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
+
+import org.chromium.chrome.browser.ContentSettingsType;
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.R;
+
+/**
+ * Fragment that allows the user to configure AdBlock related preferences.
+ */
+public class AdBlockPreferences extends PreferenceFragmentCompat {
+ @VisibleForTesting
+ public static final String PREF_ADBLOCK_SWITCH = "adblock_switch";
+ private static final String PREF_ADBLOCK_EDIT = "adblock_edit";
+
+ private Preference mAdBlockEdit;
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ getActivity().setTitle(R.string.options_adblock_title);
+ PreferenceUtils.addPreferencesFromResource(this, R.xml.adblock_preferences);
+
+ ChromeSwitchPreference mAdBlockSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_ADBLOCK_SWITCH);
+ boolean isAdBlockEnabled = !PrefServiceBridge.getInstance().isCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS);
+ mAdBlockSwitch.setChecked(isAdBlockEnabled);
+ mAdBlockSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ PrefServiceBridge.getInstance().setCategoryEnabled(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS, !(boolean) newValue);
+ return true;
+ });
+
+ mAdBlockEdit = findPreference(PREF_ADBLOCK_EDIT);
+ updateCurrentAdBlockUrl();
+ }
+
+ private void updateCurrentAdBlockUrl() {
+ mAdBlockEdit.setSummary(FeatureUtilities.getAdBlockFiltersURL());
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updateCurrentAdBlockUrl();
+ }
+}
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -870,6 +870,20 @@ Your Google account may have other forms of browsing history like searches and a
Captions
</message>
+ <!-- AdBlock settings -->
+ <message name="IDS_PREFS_ADBLOCK" desc="Title of the AdBlock Settings screen. [CHAR-LIMIT=32]">
+ AdBlock settings
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_EDIT_TITLE" desc="The title of the screen that allows users to change the URL that is used to fetch the ad blocker filters.">
+ Edit filters URL
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_EDIT_LABEL" desc="The label for the edit text field that allows the user to change the URL that is used to fetch the ad blocker filters.">
+ Filters URL
+ </message>
+ <message name="IDS_ADBLOCK_HELP" desc="The title of the hyperlink that allows users to visit the web page with instructions for custom ad blocker filters.">
+ Visit help page
+ </message>
+
<!-- Site settings -->
<message name="IDS_PREFS_SITE_SETTINGS" desc="Title of the Website Settings screen. [CHAR-LIMIT=32]">
Site settings
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
@@ -9603,6 +9603,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
+ <!-- Ad Blocking preferences -->
+ <if expr="is_android">
+ <message name="IDS_OPTIONS_ADBLOCK_TITLE" desc="The title of the Ad Blocking option on Android" formatter_data="android_java">
+ Ad Blocking
+ </message>
+ <message name="IDS_OPTIONS_ADBLOCK_SUMMARY" desc="The title of the Ad Blocking summary on Android" formatter_data="android_java">
+ Configure Ad Blocking and filters URL
+ </message>
+ </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.">
Always allow ads on this site
diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/android/feature_utilities.cc
--- a/chrome/browser/android/feature_utilities.cc
+++ b/chrome/browser/android/feature_utilities.cc
@@ -50,6 +50,14 @@ std::string GetReachedCodeProfilerTrialGroup() {
} // namespace android
} // namespace chrome
+static ScopedJavaLocalRef<jstring> JNI_FeatureUtilities_GetAdBlockFiltersURL(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kAdBlockFiltersURL));
+}
+
+static void JNI_FeatureUtilities_SetAdBlockFiltersURL(JNIEnv* env, const JavaParamRef<jstring>& url) {
+ g_browser_process->local_state()->SetString(prefs::kAdBlockFiltersURL, base::android::ConvertJavaStringToUTF8(env, url));
+}
+
static void JNI_FeatureUtilities_SetCustomTabVisible(
JNIEnv* env,
jboolean visible) {
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
@@ -1028,7 +1028,8 @@ BrowserProcessImpl::adblock_updater() {
adblock_updater_ = std::make_unique<adblock_updater::AdBlockUpdaterService>(
g_browser_process->system_network_context_manager()->GetSharedURLLoaderFactory(),
std::move(scheduler),
- g_browser_process->subresource_filter_ruleset_service());
+ g_browser_process->subresource_filter_ruleset_service(),
+ local_state()->GetString(prefs::kAdBlockFiltersURL));
return adblock_updater_.get();
}
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -405,6 +405,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
proxy_config_monitor_(local_state_) {
+ local_state_->SetDefaultPrefValue(prefs::kAdBlockFiltersURL,
+ base::Value("https://www.bromite.org/filters/filters.dat"));
#if !defined(OS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -508,6 +510,7 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
}
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
+ registry->RegisterStringPref(prefs::kAdBlockFiltersURL, std::string());
// Register the DnsClient and DoH preferences. The feature list has not been
// initialized yet, so setting the preference defaults here to reflect the
// corresponding features will only cause the preference defaults to reflect
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
@@ -1925,6 +1925,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
+// Holds the URL to an indexed subresource filters file.
+const char kAdBlockFiltersURL[] = "adblock.filters_url";
+
// A pref holding the value of the policy used to explicitly allow or deny
// access to video capture devices. When enabled or not set, the user is
// prompted for device access. When disabled, access to video capture devices
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
@@ -30,6 +30,7 @@ extern const char kDownloadRestrictions[];
extern const char kForceEphemeralProfiles[];
extern const char kHomePageIsNewTabPage[];
extern const char kHomePage[];
+extern const char kAdBlockFiltersURL[];
extern const char kImportantSitesDialogHistory[];
#if defined(OS_WIN)
extern const char kLastProfileResetTimestamp[];
diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc
--- a/components/component_updater/adblock_updater_service.cc
+++ b/components/component_updater/adblock_updater_service.cc
@@ -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)
+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";
+ filters_url_ = filters_url;
}
AdBlockUpdaterService::~AdBlockUpdaterService() {
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
+++ 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);
+ 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
--
2.17.1
@@ -3,17 +3,17 @@ Date: Sat, 7 Sep 2019 15:07:42 +0200
Subject: Add option to not persist tabs across sessions
---
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../org/chromium/chrome/browser/ChromeTabbedActivity.java | 4 +++-
.../browser/preferences/privacy/PrivacyPreferences.java | 12 ++++++++++++
chrome/android/java/strings/android_chrome_strings.grd | 6 ++++++
chrome/android/java/res/values/values.xml | 3 +++
chrome/android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/ChromeTabbedActivity.java | 4 +++-
.../preferences/privacy/PrivacyPreferences.java | 12 ++++++++++++
.../android/java/strings/android_chrome_strings.grd | 6 ++++++
5 files changed, 29 insertions(+), 1 deletion(-)
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
@@ -62,6 +62,9 @@
@@ -64,6 +64,9 @@
<!-- TODO(peconn): Add help section. -->
<!-- <string name="help_context_suggestions">mobile_content_suggestions</string> -->
@@ -26,10 +26,10 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
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
@@ -38,6 +38,11 @@
android:key="contextual_search"
android:title="@string/contextual_search_title"
android:fragment="org.chromium.chrome.browser.preferences.privacy.ContextualSearchPreferenceFragment" />
@@ -34,6 +34,11 @@
android:title="@string/allow_custom_tab_intents_title"
android:summary="@string/allow_custom_tab_intents_summary"
android:defaultValue="false" />
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
+ android:key="close_tabs_on_exit"
+ android:title="@string/close_tabs_on_exit_title"
@@ -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
@@ -1166,8 +1166,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
@@ -1174,8 +1174,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -64,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
import android.os.Bundle;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v7.preference.CheckBoxPreference;
@@ -14,6 +15,7 @@ import android.view.Menu;
@@ -13,6 +14,7 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -72,15 +72,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
import org.chromium.base.BuildInfo;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
@@ -38,6 +40,7 @@ public class PrivacyPreferences
@@ -36,6 +38,7 @@ public class PrivacyPreferences
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@@ -112,6 +115,10 @@ public class PrivacyPreferences
@@ -84,6 +87,10 @@ public class PrivacyPreferences
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
PrefServiceBridge.getInstance().setBoolean(
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@@ -91,9 +91,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
}
return true;
@@ -162,6 +169,11 @@ public class PrivacyPreferences
boolean isContextualSearchEnabled = !prefServiceBridge.isContextualSearchDisabled();
contextualPref.setSummary(isContextualSearchEnabled ? textOn : textOff);
@@ -127,6 +134,11 @@ public class PrivacyPreferences
doNotTrackPref.setSummary(
prefServiceBridge.isDoNotTrackEnabled() ? R.string.text_on : R.string.text_off);
}
+
+ ChromeBaseCheckBoxPreference closeTabsOnExitPref =
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -3764,6 +3764,12 @@ The site does NOT gain access to the camera. The camera images are only visible
@@ -3677,6 +3677,12 @@ The site does NOT gain access to the camera. The camera images are only visible
<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>
@@ -120,5 +120,5 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
LINK
</message>
--
2.11.0
2.17.1
@@ -4,35 +4,35 @@ Subject: Add option to use home page as NTP
Use about:blank as default homepage
---
.../android/java/res/xml/homepage_preferences.xml | 5 +++++
.../partnercustomizations/HomepageManager.java | 24 ++++++++++++++++++++--
.../browser/preferences/HomepagePreferences.java | 10 +++++++++
.../chrome/browser/tabmodel/TabCreatorManager.java | 11 ++++++++--
.../java/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
chrome/common/pref_names.cc | 4 ++++
chrome/common/pref_names.h | 1 +
.../java/res/xml/homepage_preferences.xml | 5 ++++
.../HomepageManager.java | 24 +++++++++++++++++--
.../preferences/HomepagePreferences.java | 10 ++++++++
.../browser/tabmodel/TabCreatorManager.java | 11 +++++++--
.../java/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/browser_ui_prefs.cc | 2 ++
chrome/common/pref_names.cc | 4 ++++
chrome/common/pref_names.h | 1 +
8 files changed, 56 insertions(+), 4 deletions(-)
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
--- a/chrome/android/java/res/xml/homepage_preferences.xml
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
@@ -7,6 +7,11 @@
@@ -6,6 +6,11 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<org.chromium.chrome.browser.preferences.ChromeSwitchPreference
+ <org.chromium.chrome.browser.preferences.ChromeSwitchPreference
+ android:key="ntp_is_homepage_switch"
+ android:summaryOn="@string/options_ntp_is_homepage_label"
+ android:summaryOff="@string/options_ntp_is_homepage_label" />
+
+ <org.chromium.chrome.browser.preferences.ChromeSwitchPreference
<org.chromium.chrome.browser.preferences.ChromeSwitchPreference
android:key="homepage_switch"
android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
@@ -32,6 +32,7 @@ public class HomepageManager {
@@ -31,6 +31,7 @@ public class HomepageManager {
}
private static final String PREF_HOMEPAGE_ENABLED = "homepage";
@@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
private static final String PREF_HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
private static final String PREF_HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
@@ -91,7 +92,8 @@ public class HomepageManager {
@@ -90,7 +91,8 @@ public class HomepageManager {
*/
public static boolean shouldCloseAppWithZeroTabs() {
return HomepageManager.isHomepageEnabled()
@@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
/**
@@ -111,7 +113,7 @@ public class HomepageManager {
* @return The default homepage URI.
* if the homepage button is force enabled via flag.
*/
public static String getDefaultHomepageUri() {
- return UrlConstants.NTP_NON_NATIVE_URL;
@@ -59,10 +59,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
}
/**
@@ -125,6 +127,14 @@ public class HomepageManager {
@@ -124,6 +126,14 @@ public class HomepageManager {
return mSharedPreferences.getBoolean(PREF_HOMEPAGE_ENABLED, true);
}
/**
+ /**
+ * Returns the user preference for whether the New Tab Page is the homepage or not.
+ *
+ */
@@ -70,14 +71,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
+ return mSharedPreferences.getBoolean(PREF_NTP_IS_HOMEPAGE, false);
+ }
+
+ /**
/**
* Sets the user preference for whether the homepage is enabled.
*/
public void setPrefHomepageEnabled(boolean enabled) {
@@ -138,6 +148,16 @@ public class HomepageManager {
@@ -137,6 +147,16 @@ public class HomepageManager {
notifyHomepageUpdated();
}
/**
+ /**
+ * Sets the user preference for whether the new tab page is the homepage or not.
+ */
+ public void setPrefNTPIsHomepageEnabled(boolean enabled) {
@@ -87,14 +88,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
+ notifyHomepageUpdated();
+ }
+
+ /**
/**
* @return User specified homepage custom URI string.
*/
public String getPrefHomepageCustomUri() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/HomepagePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/HomepagePreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/HomepagePreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/HomepagePreferences.java
@@ -20,6 +20,7 @@ public class HomepagePreferences extends PreferenceFragmentCompat {
@@ -19,6 +19,7 @@ public class HomepagePreferences extends PreferenceFragmentCompat {
@VisibleForTesting
public static final String PREF_HOMEPAGE_SWITCH = "homepage_switch";
private static final String PREF_HOMEPAGE_EDIT = "homepage_edit";
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Hom
private HomepageManager mHomepageManager;
private Preference mHomepageEdit;
@@ -42,6 +43,15 @@ public class HomepagePreferences extends PreferenceFragmentCompat {
@@ -39,6 +40,15 @@ public class HomepagePreferences extends PreferenceFragmentCompat {
return true;
});
@@ -153,20 +153,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCre
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -663,6 +663,9 @@ CHAR-LIMIT guidelines:
<message name="IDS_OPTIONS_HOMEPAGE_EDIT_LABEL" desc="The label for the edit text field that allows the user to change the URL that is opened when they tap on the home page button in the omnibox.">
Open this page
@@ -668,6 +668,9 @@ CHAR-LIMIT guidelines:
<message name="IDS_NOTIFICATIONS_CONTENT_SUGGESTIONS_SUMMARY_DISABLED" desc="Summary for the disabled preference to turn on/off content suggestions notifications when search and site suggestions are disabled.">
Search and site suggestions disabled
</message>
+ <message name="IDS_OPTIONS_NTP_IS_HOMEPAGE_LABEL" desc="The label for switch that allows the user to toggle whether opening a new tab leads to the new tab page or the home page.">
+ Use for new tabs
+ </message>
<!-- Startup page preferences -->
<message name="IDS_OPTIONS_STARTUP_PAGE_TITLE" desc="The title of the setting that allows users to manage the page that opens when they start Chrome.">
<!-- always incognito -->
<message name="IDS_ALWAYS_INCOGNITO_TITLE" desc="Title for always incognito mode">
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -54,6 +54,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -55,6 +55,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
GetHomeButtonAndHomePageIsNewTabPageFlags());
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
GetHomeButtonAndHomePageIsNewTabPageFlags());
@@ -192,8 +192,8 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -318,6 +318,7 @@ extern const char kSettingsShowBrowserBanner[];
extern const char kSettingsShowOSBanner[];
@@ -322,6 +322,7 @@ extern const char kSettingsShowOSBanner[];
extern const char kDeviceLoginScreenWebUsbAllowDevicesForUrls[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
+extern const char kNewTabPageIsHomePage[];
@@ -201,5 +201,5 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kAllowDeletingBrowserHistory[];
#if !defined(OS_ANDROID)
--
2.11.0
2.17.1
@@ -3,12 +3,12 @@ Date: Tue, 28 Aug 2018 23:27:23 +0200
Subject: Add site settings option for session-only cookies
---
chrome/android/java/res/values/values.xml | 3 +++
.../android/java/res/xml/website_preferences.xml | 7 ++++++
.../browser/preferences/PrefServiceBridge.java | 10 +++++++++
.../website/SingleCategoryPreferences.java | 21 +++++++++++++++++-
.../java/strings/android_chrome_strings.grd | 6 ++++++
.../android/preferences/pref_service_bridge.cc | 25 ++++++++++++++++++++++
chrome/android/java/res/values/values.xml | 3 +++
.../java/res/xml/website_preferences.xml | 7 ++++++
.../preferences/PrefServiceBridge.java | 10 ++++++++
.../website/SingleCategoryPreferences.java | 21 +++++++++++++++-
.../java/strings/android_chrome_strings.grd | 6 +++++
.../preferences/pref_service_bridge.cc | 25 +++++++++++++++++++
6 files changed, 71 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
@@ -44,44 +44,37 @@ diff --git a/chrome/android/java/res/xml/website_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
@@ -242,6 +242,10 @@ public class PrefServiceBridge {
return nativeGetBlockThirdPartyCookiesEnabled();
@@ -265,6 +265,10 @@ public class PrefServiceBridge {
return PrefServiceBridgeJni.get().getBlockThirdPartyCookiesEnabled(PrefServiceBridge.this);
}
+ public boolean isCookiesSessionOnlyEnabled() {
+ return nativeGetCookiesSessionOnlyEnabled();
+ return PrefServiceBridgeJni.get().getCookiesSessionOnlyEnabled(PrefServiceBridge.this);
+ }
+
/**
* @return Whether third-party cookie blocking is configured by policy
*/
@@ -631,6 +635,10 @@ public class PrefServiceBridge {
nativeSetBlockThirdPartyCookiesEnabled(enabled);
@@ -668,6 +672,10 @@ public class PrefServiceBridge {
PrefServiceBridge.this, enabled);
}
+ public void setCookiesSessionOnlyEnabled(boolean enabled) {
+ nativeSetCookiesSessionOnlyEnabled(enabled);
+ PrefServiceBridgeJni.get().setCookiesSessionOnlyEnabled(PrefServiceBridge.this, enabled);
+ }
+
public void setDoNotTrackEnabled(boolean enabled) {
nativeSetDoNotTrackEnabled(enabled);
PrefServiceBridgeJni.get().setDoNotTrackEnabled(PrefServiceBridge.this, enabled);
}
@@ -1094,6 +1102,7 @@ public class PrefServiceBridge {
private native boolean nativeGetAutoplayEnabled();
private native boolean nativeGetBackgroundSyncEnabled();
private native boolean nativeGetBlockThirdPartyCookiesEnabled();
+ private native boolean nativeGetCookiesSessionOnlyEnabled();
private native boolean nativeGetBlockThirdPartyCookiesManaged();
private native boolean nativeGetRememberPasswordsEnabled();
private native boolean nativeGetPasswordManagerAutoSigninEnabled();
@@ -1141,6 +1150,7 @@ public class PrefServiceBridge {
private native void nativeSetAutoplayEnabled(boolean enabled);
private native void nativeSetAllowCookiesEnabled(boolean enabled);
private native void nativeSetBackgroundSyncEnabled(boolean enabled);
+ private native void nativeSetCookiesSessionOnlyEnabled(boolean enabled);
private native void nativeSetBlockThirdPartyCookiesEnabled(boolean enabled);
private native void nativeSetClipboardEnabled(boolean enabled);
private native void nativeSetDoNotTrackEnabled(boolean enabled);
@@ -1138,6 +1146,8 @@ public class PrefServiceBridge {
@NativeMethods
public interface Natives {
+ boolean getCookiesSessionOnlyEnabled(PrefServiceBridge caller);
+ void setCookiesSessionOnlyEnabled(PrefServiceBridge caller, boolean enabled);
boolean isContentSettingEnabled(PrefServiceBridge caller, int contentSettingType);
boolean isContentSettingManaged(PrefServiceBridge caller, int contentSettingType);
void setContentSettingEnabled(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
@@ -93,15 +86,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate";
public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
private static final String ADD_EXCEPTION_KEY = "add_exception";
@@ -484,6 +485,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
if (type == SiteSettingsCategory.Type.COOKIES
&& !FeatureUtilities.isNoTouchModeEnabled()) {
@@ -477,6 +478,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
if (type == SiteSettingsCategory.Type.COOKIES) {
updateThirdPartyCookiesCheckBox();
+ updateCookiesSessionOnlyCheckBox();
} else if (type == SiteSettingsCategory.Type.NOTIFICATIONS) {
updateNotificationsVibrateCheckBox();
}
@@ -523,6 +525,8 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
@@ -516,6 +518,8 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
int setting = (int) newValue;
prefServiceBridge.setContentSetting(mCategory.getContentSettingsType(), setting);
getInfoForOrigins();
@@ -110,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
prefServiceBridge.setBlockThirdPartyCookiesEnabled(((boolean) newValue));
} else if (NOTIFICATIONS_VIBRATE_TOGGLE_KEY.equals(preference.getKey())) {
@@ -840,6 +844,8 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
@@ -833,6 +837,8 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) screen.findPreference(TRI_STATE_TOGGLE_KEY);
Preference thirdPartyCookies = screen.findPreference(THIRD_PARTY_COOKIES_TOGGLE_KEY);
@@ -119,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY);
PreferenceGroup allowedGroup = (PreferenceGroup) screen.findPreference(ALLOWED_GROUP);
@@ -871,6 +877,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
@@ -864,6 +870,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
if (hideSecondaryToggles) {
screen.removePreference(thirdPartyCookies);
@@ -127,15 +120,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
screen.removePreference(notificationsVibrate);
screen.removePreference(explainProtectedMediaKey);
screen.removePreference(allowedGroup);
@@ -881,14 +888,17 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
@@ -874,12 +881,15 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
return;
}
- // Configure/hide the third-party cookies toggle, as needed.
+ // Configure/hide the third-party cookies toggle and session-only cookie toggle, as needed.
// We don't need this toggle in touchless. Refer to crbug/951850.
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)
&& !FeatureUtilities.isNoTouchModeEnabled()) {
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
thirdPartyCookies.setOnPreferenceChangeListener(this);
updateThirdPartyCookiesCheckBox();
+ cookiesSessionOnly.setOnPreferenceChangeListener(this);
@@ -146,7 +137,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
}
// Configure/hide the notifications vibrate toggle, as needed.
@@ -1003,6 +1013,15 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
@@ -994,6 +1004,15 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
preference -> PrefServiceBridge.getInstance().isBlockThirdPartyCookiesManaged());
}
@@ -165,7 +156,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -895,6 +895,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -878,6 +878,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_BLOCK_THIRD_PARTY_COOKIES_SUMMARY" desc="Summary text for Block Third Party Cookies preference">
Prevent third-party websites from saving and reading cookie data
</message>
@@ -181,7 +172,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
--- a/chrome/browser/android/preferences/pref_service_bridge.cc
+++ b/chrome/browser/android/preferences/pref_service_bridge.cc
@@ -314,6 +314,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
@@ -330,6 +330,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
return GetPrefService()->GetBoolean(prefs::kBlockThirdPartyCookies);
}
@@ -199,7 +190,7 @@ diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/
static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesManaged(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
@@ -785,6 +796,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
@@ -801,6 +812,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
GetPrefService()->SetBoolean(prefs::kBlockThirdPartyCookies, enabled);
}
@@ -221,5 +212,5 @@ diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/
JNIEnv* env,
const JavaParamRef<jobject>& obj,
--
2.11.0
2.17.1
@@ -0,0 +1,518 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 23 Nov 2019 10:55:16 +0100
Subject: Add user setting for DNS-over-HTTPS (DoH) custom URL
---
chrome/android/chrome_java_sources.gni | 2 +
chrome/android/java/res/layout/doh_editor.xml | 65 +++++++++++++
chrome/android/java/res/values/values.xml | 2 +
.../android/java/res/xml/doh_preferences.xml | 25 +++++
.../java/res/xml/privacy_preferences.xml | 5 +
.../chrome/browser/preferences/DoHEditor.java | 91 +++++++++++++++++++
.../browser/preferences/DoHPreferences.java | 52 +++++++++++
.../chrome/browser/util/FeatureUtilities.java | 24 +++++
.../java/strings/android_chrome_strings.grd | 11 +++
chrome/app/generated_resources.grd | 6 ++
chrome/browser/android/feature_utilities.cc | 23 +++++
.../net/system_network_context_manager.cc | 46 +++-------
chrome/common/chrome_features.cc | 4 +-
13 files changed, 319 insertions(+), 37 deletions(-)
create mode 100644 chrome/android/java/res/layout/doh_editor.xml
create mode 100644 chrome/android/java/res/xml/doh_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHEditor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHPreferences.java
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -1263,7 +1263,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/preferences/ClearBrowsingDataCheckBoxPreference.java",
"java/src/org/chromium/chrome/browser/preferences/ExpandablePreferenceGroup.java",
"java/src/org/chromium/chrome/browser/preferences/HomepageEditor.java",
+ "java/src/org/chromium/chrome/browser/preferences/DoHEditor.java",
"java/src/org/chromium/chrome/browser/preferences/HomepagePreferences.java",
+ "java/src/org/chromium/chrome/browser/preferences/DoHPreferences.java",
"java/src/org/chromium/chrome/browser/preferences/HyperlinkPreference.java",
"java/src/org/chromium/chrome/browser/preferences/LearnMorePreference.java",
"java/src/org/chromium/chrome/browser/preferences/LegalInformationPreferences.java",
diff --git a/chrome/android/java/res/layout/doh_editor.xml b/chrome/android/java/res/layout/doh_editor.xml
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/layout/doh_editor.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/scroll_view"
+ android:fillViewport="true" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:focusableInTouchMode="true" >
+
+ <org.chromium.chrome.browser.widget.ChromeTextInputLayout
+ android:id="@+id/doh_url"
+ style="@style/PreferenceScreenLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+ <!-- TODO(crbug.com/900912): Fix and remove lint ignore -->
+ <EditText
+ tools:ignore="Autofill"
+ android:id="@+id/doh_url_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textUri"
+ android:singleLine="true"
+ android:hint="@string/options_doh_edit_label" />
+ </org.chromium.chrome.browser.widget.ChromeTextInputLayout>
+
+ <Space style="@style/ButtonBarTopSpacer" />
+ <View style="@style/ButtonBarTopDivider" />
+
+ <LinearLayout style="@style/ButtonBar" >
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/doh_reset"
+ style="@style/ButtonBarButton"
+ android:text="@string/reset" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/doh_cancel"
+ style="@style/ButtonBarButton"
+ android:text="@string/cancel" />
+
+ <org.chromium.ui.widget.ButtonCompat
+ android:id="@+id/doh_save"
+ style="@style/ButtonBarButton"
+ android:text="@string/save" />
+ </LinearLayout>
+ </LinearLayout>
+ </ScrollView>
+
+ <include layout="@layout/preferences_action_bar_shadow"/>
+
+</FrameLayout>
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
@@ -92,6 +92,8 @@
<integer name="download_infobar_bar_fill_in_delay">400</integer>
<integer name="download_infobar_bar_fill_out_delay">200</integer>
+ <string name="doh_help_url">https://www.bromite.org/doh</string>
+
<!-- Bottom navigation bar styling. -->
<bool name="window_light_navigation_bar">true</bool>
diff --git a/chrome/android/java/res/xml/doh_preferences.xml b/chrome/android/java/res/xml/doh_preferences.xml
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/res/xml/doh_preferences.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2015 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. -->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
+ <org.chromium.chrome.browser.preferences.ChromeSwitchPreference
+ android:key="doh_switch"
+ android:summaryOn="@string/text_on"
+ android:summaryOff="@string/text_off" />
+
+ <org.chromium.chrome.browser.preferences.HyperlinkPreference
+ android:key="doh_help"
+ android:title="@string/doh_help"
+ app:url="@string/doh_help_url" />
+
+ <Preference
+ android:key="doh_edit"
+ android:title="@string/options_doh_edit_label"
+ android:fragment="org.chromium.chrome.browser.preferences.DoHEditor" />
+
+</PreferenceScreen>
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
@@ -19,6 +19,11 @@
android:key="can_make_payment"
android:title="@string/can_make_payment_title"
android:summary="@string/settings_can_make_payment_toggle_label" />
+ <Preference
+ android:fragment="org.chromium.chrome.browser.preferences.DoHPreferences"
+ android:key="doh"
+ android:title="@string/options_doh_title"
+ android:summary="@string/options_doh_summary" />
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
android:key="preload_pages"
android:title="@string/preload_pages_title"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHEditor.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHEditor.java
@@ -0,0 +1,91 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
+
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.chrome.R;
+import org.chromium.components.url_formatter.UrlFormatter;
+
+/**
+ * Provides the Java-UI for editing the DNS-over-HTTPS (DoH) preference.
+ */
+public class DoHEditor extends Fragment implements TextWatcher {
+ private EditText mDoHUrlEdit;
+ private Button mSaveButton;
+ private Button mResetButton;
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getActivity().setTitle(R.string.options_doh_edit_title);
+
+ View v = inflater.inflate(R.layout.doh_editor, container, false);
+ View scrollView = v.findViewById(R.id.scroll_view);
+ scrollView.getViewTreeObserver().addOnScrollChangedListener(
+ PreferenceUtils.getShowShadowOnScrollListener(v, v.findViewById(R.id.shadow)));
+ mDoHUrlEdit = (EditText) v.findViewById(R.id.doh_url_edit);
+ mDoHUrlEdit.setText(FeatureUtilities.getDoHTemplates());
+ mDoHUrlEdit.addTextChangedListener(this);
+ mDoHUrlEdit.requestFocus();
+
+ initializeSaveCancelResetButtons(v);
+ return v;
+ }
+
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ mSaveButton.setEnabled(s.length() != 0);
+ mResetButton.setEnabled(true);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ }
+
+ private void initializeSaveCancelResetButtons(View v) {
+ mResetButton = (Button) v.findViewById(R.id.doh_reset);
+ mResetButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mDoHUrlEdit.setText(FeatureUtilities.getDoHTemplates());
+ getActivity().finish();
+ }
+ });
+
+ mSaveButton = (Button) v.findViewById(R.id.doh_save);
+ mSaveButton.setEnabled(false);
+ mSaveButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ FeatureUtilities.setDoHTemplates(
+ mDoHUrlEdit.getText().toString());
+ getActivity().finish();
+ }
+ });
+
+ Button button = (Button) v.findViewById(R.id.doh_cancel);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ getActivity().finish();
+ }
+ });
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHPreferences.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/DoHPreferences.java
@@ -0,0 +1,52 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.preferences;
+
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceFragmentCompat;
+
+import org.chromium.chrome.browser.util.FeatureUtilities;
+import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.R;
+
+/**
+ * Fragment that allows the user to configure DoH related preferences.
+ */
+public class DoHPreferences extends PreferenceFragmentCompat {
+ @VisibleForTesting
+ public static final String PREF_DOH_SWITCH = "doh_switch";
+ private static final String PREF_DOH_EDIT = "doh_edit";
+
+ private Preference mDoHEdit;
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ getActivity().setTitle(R.string.options_doh_title);
+ PreferenceUtils.addPreferencesFromResource(this, R.xml.doh_preferences);
+
+ ChromeSwitchPreference mDoHSwitch =
+ (ChromeSwitchPreference) findPreference(PREF_DOH_SWITCH);
+ boolean isDoHEnabled = FeatureUtilities.getDoHEnabled();
+ mDoHSwitch.setChecked(isDoHEnabled);
+ mDoHSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ FeatureUtilities.setDoHEnabled((boolean) newValue);
+ return true;
+ });
+
+ mDoHEdit = findPreference(PREF_DOH_EDIT);
+ updateCurrentDoHUrl();
+ }
+
+ private void updateCurrentDoHUrl() {
+ mDoHEdit.setSummary(FeatureUtilities.getDoHTemplates());
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updateCurrentDoHUrl();
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
@@ -223,6 +223,26 @@ public class FeatureUtilities {
FeatureUtilitiesJni.get().setCustomTabVisible(visible);
}
+ /**
+ * Records whether custom URL for DoH is enabled with native-side feature utilities.
+ * @param url Whether custom URL is enabled or not.
+ */
+ public static void setDoHEnabled(boolean enabled) {
+ FeatureUtilitiesJni.get().setDoHEnabled(enabled);
+ }
+
+ public static boolean getDoHEnabled() {
+ return FeatureUtilitiesJni.get().getDoHEnabled();
+ }
+
+ public static void setDoHTemplates(String t) {
+ FeatureUtilitiesJni.get().setDoHTemplates(t);
+ }
+
+ public static String getDoHTemplates() {
+ return FeatureUtilitiesJni.get().getDoHTemplates();
+ }
+
/**
* Records whether the activity is in multi-window mode with native-side feature utilities.
* @param isInMultiWindowMode Whether the activity is in Android N multi-window mode.
@@ -852,6 +872,10 @@ public class FeatureUtilities {
interface Natives {
void setCustomTabVisible(boolean visible);
void setIsInMultiWindowMode(boolean isInMultiWindowMode);
+ void setDoHEnabled(boolean enabled);
+ boolean getDoHEnabled();
+ void setDoHTemplates(String templates);
+ String getDoHTemplates();
boolean isNetworkServiceWarmUpEnabled();
void setAdBlockFiltersURL(String url);
String getAdBlockFiltersURL();
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -644,6 +644,17 @@ CHAR-LIMIT guidelines:
Chrome Passwords
</message>
+ <!-- DoH preferences -->
+ <message name="IDS_OPTIONS_DOH_EDIT_TITLE" desc="The title of the screen that allows users to change the URL that is used for DNS-over-HTTPS queries.">
+ Edit DoH template URLs
+ </message>
+ <message name="IDS_OPTIONS_DOH_EDIT_LABEL" desc="The label for the edit text field that allows the user to change the URL that is used for DNS-over-HTTPS queries.">
+ DoH template URLs
+ </message>
+ <message name="IDS_DOH_HELP" desc="The title of the hyperlink that allows users to visit the wiki page with instructions for DNS-over-HTTPS configuration.">
+ Visit help page
+ </message>
+
<!-- Homepage preferences -->
<message name="IDS_OPTIONS_HOMEPAGE_EDIT_TITLE" desc="The title of the screen that allows users to change the URL that opens when they tap on the home page button in the omnibox.">
Edit home page
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
@@ -6558,6 +6558,12 @@ the Bookmarks menu.">
<message name="IDS_OPTIONS_HOMEPAGE_TITLE" desc="The title of the home page overlay on Android" formatter_data="android_java">
Home page
</message>
+ <message name="IDS_OPTIONS_DOH_TITLE" desc="The title of the DNS-over-HTTPS option on Android" formatter_data="android_java">
+ Secure DNS
+ </message>
+ <message name="IDS_OPTIONS_DOH_SUMMARY" desc="The title of the DNS-over-HTTPS summary on Android" formatter_data="android_java">
+ Configure DNS-over-HTTPS (DoH) secure DNS
+ </message>
</if>
<!-- Autofill dialog: field labels. -->
diff --git a/chrome/browser/android/feature_utilities.cc b/chrome/browser/android/feature_utilities.cc
--- a/chrome/browser/android/feature_utilities.cc
+++ b/chrome/browser/android/feature_utilities.cc
@@ -7,6 +7,9 @@
#include "chrome/android/chrome_jni_headers/FeatureUtilities_jni.h"
#include "base/android/jni_string.h"
+#include "chrome/browser/browser_process.h"
+#include "components/prefs/pref_service.h"
+#include "chrome/common/pref_names.h"
#include "chrome/browser/ntp_snippets/content_suggestions_service_factory.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "components/ntp_snippets/content_suggestions_service.h"
@@ -76,3 +79,23 @@ static jboolean JNI_FeatureUtilities_IsNetworkServiceWarmUpEnabled(
return content::IsOutOfProcessNetworkService() &&
base::FeatureList::IsEnabled(features::kWarmUpNetworkProcess);
}
+
+static jboolean JNI_FeatureUtilities_GetDoHEnabled(JNIEnv* env) {
+ std::string doh_mode = g_browser_process->local_state()->GetString(prefs::kDnsOverHttpsMode);
+ return ((doh_mode == "secure") || (doh_mode == "auto"));
+}
+
+static void JNI_FeatureUtilities_SetDoHEnabled(JNIEnv* env, jboolean enabled) {
+ if (enabled)
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsMode, "secure");
+ else
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsMode, "off");
+}
+
+static ScopedJavaLocalRef<jstring> JNI_FeatureUtilities_GetDoHTemplates(JNIEnv* env) {
+ return base::android::ConvertUTF8ToJavaString(env, g_browser_process->local_state()->GetString(prefs::kDnsOverHttpsTemplates));
+}
+
+static void JNI_FeatureUtilities_SetDoHTemplates(JNIEnv* env, const JavaParamRef<jstring>& templates) {
+ g_browser_process->local_state()->SetString(prefs::kDnsOverHttpsTemplates, base::android::ConvertJavaStringToUTF8(env, templates));
+}
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -137,9 +137,14 @@ void GetStubResolverConfig(
std::string doh_templates =
local_state->GetString(prefs::kDnsOverHttpsTemplates);
- std::string server_method;
- if (!doh_templates.empty() &&
- *secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ if (doh_templates.empty()) {
+ *secure_dns_mode = net::DnsConfig::SecureDnsMode::OFF;
+ doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
+ }
+
+ LOG(INFO) << "DoH templates: '" << doh_templates << "' with mode " << doh_mode;
+ if (*secure_dns_mode != net::DnsConfig::SecureDnsMode::OFF) {
+ std::string server_method;
for (const std::string& server_template :
SplitString(doh_templates, " ", base::TRIM_WHITESPACE,
base::SPLIT_WANT_NONEMPTY)) {
@@ -425,40 +430,11 @@ SystemNetworkContextManager::SystemNetworkContextManager(
// features before registering change callbacks for these preferences.
local_state_->SetDefaultPrefValue(prefs::kBuiltInDnsClientEnabled,
base::Value(ShouldEnableAsyncDns()));
- std::string default_doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
- std::string default_doh_templates = "";
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
- if (features::kDnsOverHttpsFallbackParam.Get()) {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeAutomatic;
- } else {
- default_doh_mode = chrome_browser_net::kDnsOverHttpsModeSecure;
- }
- default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
- }
+ //NOTE: DoH fallback feature to insecure mode is not evaluated
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
- base::Value(default_doh_mode));
+ base::Value(chrome_browser_net::kDnsOverHttpsModeOff));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsTemplates,
- base::Value(default_doh_templates));
-
- // If the user has explicitly enabled or disabled the DoH experiment in
- // chrome://flags, store that choice in the user prefs so that it can be
- // persisted after the experiment ends. Also make sure to remove the stored
- // prefs value if the user has changed their chrome://flags selection to the
- // default.
- flags_ui::PrefServiceFlagsStorage flags_storage(local_state_);
- std::set<std::string> entries = flags_storage.GetFlags();
- if (entries.count("dns-over-https@1")) {
- // The user has "Enabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeAutomatic);
- } else if (entries.count("dns-over-https@2")) {
- // The user has "Disabled" selected.
- local_state_->SetString(prefs::kDnsOverHttpsMode,
- chrome_browser_net::kDnsOverHttpsModeOff);
- } else {
- // The user has "Default" selected.
- local_state_->ClearPref(prefs::kDnsOverHttpsMode);
- }
+ base::Value(features::kDnsOverHttpsTemplatesParam.Get()));
PrefChangeRegistrar::NamedChangeCallback dns_pref_callback =
base::BindRepeating(&OnStubResolverConfigChanged,
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
@@ -294,12 +294,12 @@ const char kDisallowUnsafeHttpDownloadsParamName[] = "MimeTypeList";
// Enable DNS over HTTPS (DoH).
const base::Feature kDnsOverHttps{"DnsOverHttps",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Set whether fallback to insecure DNS is allowed by default. This setting may
// be overridden for individual transactions.
const base::FeatureParam<bool> kDnsOverHttpsFallbackParam{&kDnsOverHttps,
- "Fallback", true};
+ "Fallback", false};
// 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
@@ -0,0 +1,83 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 19 Dec 2019 22:52:53 +0100
Subject: Allow building without feed support
---
.../start_surface/StartSurfaceCoordinator.java | 5 -----
.../start_surface/StartSurfaceMediator.java | 16 ----------------
.../browser/ntp/cards/ExploreOfflineCard.java | 5 +----
3 files changed, 1 insertion(+), 25 deletions(-)
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceCoordinator.java
@@ -198,11 +198,6 @@ public class StartSurfaceCoordinator implements StartSurface {
mBottomBarCoordinator = new BottomBarCoordinator(
mActivity, mActivity.getCompositorViewHolder(), mPropertyModel);
}
-
- mExploreSurfaceCoordinator = new ExploreSurfaceCoordinator(mActivity,
- mSurfaceMode == SurfaceMode.SINGLE_PANE ? mTasksSurface.getBodyViewContainer()
- : mActivity.getCompositorViewHolder(),
- mPropertyModel, mSurfaceMode == SurfaceMode.SINGLE_PANE);
}
private TabSwitcher.Controller initializeSecondaryTasksSurface() {
diff --git a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/internal/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -253,15 +253,6 @@ class StartSurfaceMediator
RecordUserAction.record("StartSurface.TasksOnly");
}
- // Make sure FeedSurfaceCoordinator is built before the explore surface is showing by
- // default.
- if (mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
- mPropertyModel.set(FEED_SURFACE_COORDINATOR,
- mFeedSurfaceCreator.createFeedSurfaceCoordinator(
- mNightModeStateProvider.isInNightMode()));
- }
-
mPropertyModel.set(IS_SHOWING_OVERVIEW, true);
mFakeboxDelegate.addUrlFocusChangeListener(mUrlFocusChangeListener);
}
@@ -361,13 +352,6 @@ class StartSurfaceMediator
private void setExploreSurfaceVisibility(boolean isVisible) {
if (isVisible == mPropertyModel.get(IS_EXPLORE_SURFACE_VISIBLE)) return;
- if (isVisible && mPropertyModel.get(IS_SHOWING_OVERVIEW)
- && mPropertyModel.get(FEED_SURFACE_COORDINATOR) == null) {
- mPropertyModel.set(FEED_SURFACE_COORDINATOR,
- mFeedSurfaceCreator.createFeedSurfaceCoordinator(
- mNightModeStateProvider.isInNightMode()));
- }
-
mPropertyModel.set(IS_EXPLORE_SURFACE_VISIBLE, isVisible);
if (mSurfaceMode == SurfaceMode.TWO_PANES) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ExploreOfflineCard.java
@@ -13,7 +13,6 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.download.DownloadUtils;
-import org.chromium.chrome.browser.feed.FeedConfiguration;
import org.chromium.net.NetworkChangeNotifier;
import org.chromium.ui.text.SpanApplier;
@@ -73,9 +72,7 @@ public class ExploreOfflineCard {
View imageView = cardView.findViewById(R.id.explore_offline_image);
imageView.setBackground(imageView.getContext().getResources().getDrawable(
- FeedConfiguration.getFeedUiEnabled()
- ? R.drawable.card_background_rounded_right_half_with_border
- : R.drawable.card_background_rounded_right_half_no_border));
+ R.drawable.card_background_rounded_right_half_no_border));
cardView.setOnClickListener(v -> mOpenDownloadHomeCallback.run());
return cardView;
--
2.17.1
@@ -3,29 +3,14 @@ Date: Thu, 2 Nov 2017 18:21:16 +0200
Subject: Allow playing audio in background
---
chrome/browser/about_flags.cc | 4 ++++
media/blink/webmediaplayer_impl.cc | 12 +++++++++++-
media/blink/webmediaplayer_impl.h | 2 ++
3 files changed, 17 insertions(+), 1 deletion(-)
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1603,6 +1603,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kAppNotificationStatusMessaging)},
#endif // OS_ANDROID
{"enable-devtools-experiments", flag_descriptions::kDevtoolsExperimentsName,
+ {"resume-background-video",
+ flag_descriptions::kResumeBackgroundVideoName,
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
flag_descriptions::kDevtoolsExperimentsDescription, kOsDesktop,
SINGLE_VALUE_TYPE(switches::kEnableDevToolsExperiments)},
{"silent-debugger-extension-api",
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
@@ -976,6 +976,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -989,6 +989,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -38,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());
@@ -3278,7 +3284,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3298,7 +3304,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
// Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
// to move the logic of checking video frames out of that function.
@@ -54,7 +39,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
--- a/media/blink/webmediaplayer_impl.h
+++ b/media/blink/webmediaplayer_impl.h
@@ -142,6 +142,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
@@ -143,6 +143,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
// True if the loaded media has a playable video/audio track.
bool HasVideo() const override;
bool HasAudio() const override;
@@ -64,5 +49,5 @@ diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl
void EnabledAudioTracksChanged(
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds)
--
2.11.0
2.17.1
@@ -20,5 +20,5 @@ diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/
// static
--
2.11.0
2.17.1
@@ -3,13 +3,13 @@ Date: Thu, 14 Dec 2017 16:19:50 +0200
Subject: Always allow partner customisation
---
.../PartnerBrowserCustomizations.java | 16 ++++++++--------
.../PartnerBrowserCustomizations.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
@@ -243,14 +243,14 @@ public class PartnerBrowserCustomizations {
@@ -244,14 +244,14 @@ public class PartnerBrowserCustomizations {
@Override
protected Void doInBackground() {
try {
@@ -33,5 +33,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
if (isCancelled()) return null;
refreshIncognitoModeDisabled();
--
2.11.0
2.17.1
@@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -244,7 +244,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
@@ -245,7 +245,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
// Android this includes checking the Android version in the field trial.
bool ShouldEnableAsyncDns() {
bool feature_can_be_enabled = true;
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -550,7 +550,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
@@ -573,7 +573,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
effective_experimental_options->Remove(it.key(), nullptr);
continue;
}
@@ -34,5 +34,5 @@ diff --git a/components/cronet/url_request_context_config.cc b/components/cronet
const base::DictionaryValue* stale_dns_args = nullptr;
if (!it.value().GetAsDictionary(&stale_dns_args)) {
--
2.11.0
2.17.1
@@ -1,234 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 17 Mar 2019 20:51:11 +0100
Subject: Always show home page settings
Remove the "Force Enable Home Page Button" flag, which was bugged, and always
display home page settings.
This allows removing the home page button and restoring it from settings.
---
.../browser/init/ProcessInitializationHandler.java | 12 --------
.../partnercustomizations/HomepageManager.java | 17 ++---------
.../preferences/ChromePreferenceManager.java | 7 -----
.../browser/preferences/MainPreferences.java | 12 +++-----
.../chrome/browser/util/FeatureUtilities.java | 34 ----------------------
chrome/browser/about_flags.cc | 3 --
chrome/browser/android/chrome_feature_list.cc | 4 ---
chrome/browser/android/chrome_feature_list.h | 1 -
8 files changed, 7 insertions(+), 83 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -356,18 +356,6 @@ public class ProcessInitializationHandler {
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
- if (HomepageManager.shouldShowHomepageSetting()) {
- RecordHistogram.recordBooleanHistogram("Settings.ShowHomeButtonPreferenceState",
- HomepageManager.isHomepageEnabled());
- RecordHistogram.recordBooleanHistogram("Settings.HomePageIsCustomized",
- !HomepageManager.getInstance().getPrefHomepageUseDefaultUri());
- }
- }
- });
-
- deferredStartupHandler.addDeferredTask(new Runnable() {
- @Override
- public void run() {
// Starts syncing with GSA.
AppHooks.get().createGsaHelper().startSync();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
@@ -83,10 +83,7 @@ public class HomepageManager {
* @return Whether or not homepage is enabled.
*/
public static boolean isHomepageEnabled() {
- if (FeatureUtilities.isHomePageButtonForceEnabled()) {
- return getInstance().getPrefHomepageEnabled();
- }
- return false;
+ return getInstance().getPrefHomepageEnabled();
}
/**
@@ -98,13 +95,6 @@ public class HomepageManager {
}
/**
- * @return Whether or not homepage setting should be shown.
- */
- public static boolean shouldShowHomepageSetting() {
- return FeatureUtilities.isHomePageButtonForceEnabled();
- }
-
- /**
* @return Homepage URI string, if it's enabled. Null otherwise or uninitialized.
*/
public static String getHomepageUri() {
@@ -118,8 +108,7 @@ public class HomepageManager {
}
/**
- * @return The default homepage URI if the homepage is partner provided or the new tab page
- * if the homepage button is force enabled via flag.
+ * @return The default homepage URI.
*/
public static String getDefaultHomepageUri() {
return UrlConstants.NTP_NON_NATIVE_URL;
@@ -132,7 +121,7 @@ public class HomepageManager {
* @see #isHomepageEnabled
*/
public boolean getPrefHomepageEnabled() {
- return mSharedPreferences.getBoolean(PREF_HOMEPAGE_ENABLED, true);
+ return mSharedPreferences.getBoolean(PREF_HOMEPAGE_ENABLED, false);
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
@@ -154,13 +154,6 @@ public class ChromePreferenceManager {
private static final String CHROME_MODERN_DESIGN_ENABLED_KEY = "chrome_modern_design_enabled";
/**
- * Whether or not the home page button is force enabled.
- * Default value is false.
- */
- public static final String HOME_PAGE_BUTTON_FORCE_ENABLED_KEY =
- "home_page_button_force_enabled";
-
- /**
* Whether or not the homepage tile will be shown.
* Default value is false.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
@@ -206,15 +206,11 @@ public class MainPreferences extends PreferenceFragmentCompat
updateSyncAndServicesPreference();
updateSearchEnginePreference();
- if (HomepageManager.shouldShowHomepageSetting()) {
- Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
- if (FeatureUtilities.isNewTabPageButtonEnabled()) {
- homepagePref.setTitle(R.string.options_startup_page_title);
- }
- setOnOffSummary(homepagePref, HomepageManager.getInstance().getPrefHomepageEnabled());
- } else {
- removePreferenceIfPresent(PREF_HOMEPAGE);
+ Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
+ if (FeatureUtilities.isNewTabPageButtonEnabled()) {
+ homepagePref.setTitle(R.string.options_startup_page_title);
}
+ setOnOffSummary(homepagePref, HomepageManager.getInstance().getPrefHomepageEnabled());
if (NightModeUtils.isNightModeSupported() && FeatureUtilities.isNightModeAvailable()) {
addPreferenceIfAbsent(PREF_UI_THEME);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
@@ -73,7 +73,6 @@ public class FeatureUtilities {
private static Boolean sHasGoogleAccountAuthenticator;
private static Boolean sHasRecognitionIntentHandler;
- private static Boolean sIsHomePageButtonForceEnabled;
private static Boolean sIsHomepageTileEnabled;
private static Boolean sIsNewTabPageButtonEnabled;
private static Boolean sIsBottomToolbarEnabled;
@@ -178,7 +177,6 @@ public class FeatureUtilities {
public static void cacheNativeFlags() {
cacheCommandLineOnNonRootedEnabled();
FirstRunUtils.cacheFirstRunPrefs();
- cacheHomePageButtonForceEnabled();
cacheHomepageTileEnabled();
cacheNewTabPageButtonEnabled();
cacheBottomToolbarEnabled();
@@ -228,38 +226,6 @@ public class FeatureUtilities {
return Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
}
- /**
- * Cache whether or not the home page button is force enabled so on next startup, the value can
- * be made available immediately.
- */
- public static void cacheHomePageButtonForceEnabled() {
- if (PartnerBrowserCustomizations.isHomepageProviderAvailableAndEnabled()) return;
- ChromePreferenceManager.getInstance().writeBoolean(
- ChromePreferenceManager.HOME_PAGE_BUTTON_FORCE_ENABLED_KEY,
- ChromeFeatureList.isEnabled(ChromeFeatureList.HOME_PAGE_BUTTON_FORCE_ENABLED));
- }
-
- /**
- * @return Whether or not the home page button is force enabled.
- */
- public static boolean isHomePageButtonForceEnabled() {
- if (sIsHomePageButtonForceEnabled == null) {
- ChromePreferenceManager prefManager = ChromePreferenceManager.getInstance();
-
- sIsHomePageButtonForceEnabled = prefManager.readBoolean(
- ChromePreferenceManager.HOME_PAGE_BUTTON_FORCE_ENABLED_KEY, false);
- }
- return sIsHomePageButtonForceEnabled;
- }
-
- /**
- * Resets whether the home page button is enabled for tests. After this is called, the next
- * call to #isHomePageButtonForceEnabled() will retrieve the value from shared preferences.
- */
- public static void resetHomePageButtonForceEnabledForTests() {
- sIsHomePageButtonForceEnabled = null;
- }
-
private static void cacheServiceManagerForDownloadResumption() {
boolean resumptionDownloadInReducedMode =
ChromeFeatureList.isEnabled(ChromeFeatureList.SERVICE_MANAGER_FOR_DOWNLOAD);
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
@@ -1932,9 +1932,6 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-chrome-duet-labels", flag_descriptions::kChromeDuetLabelsName,
flag_descriptions::kChromeDuetLabelsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kChromeDuetLabeled)},
- {"force-enable-home-page-button", flag_descriptions::kHomePageButtonName,
- flag_descriptions::kHomePageButtonDescription, kOsAndroid,
- FEATURE_VALUE_TYPE(chrome::android::kHomePageButtonForceEnabled)},
{"enable-ntp-button", flag_descriptions::kNtpButtonName,
flag_descriptions::kNtpButtonDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kNTPButton)},
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -143,7 +143,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kEphemeralTab,
&kExploreSites,
&kHandleMediaIntents,
- &kHomePageButtonForceEnabled,
&kHomepageTile,
&kHorizontalTabSwitcherAndroid,
&kIdentityDisc,
@@ -439,9 +438,6 @@ const base::Feature kForegroundNotificationManager{
const base::Feature kHandleMediaIntents{"HandleMediaIntents",
base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kHomePageButtonForceEnabled{
- "HomePageButtonForceEnabled", base::FEATURE_DISABLED_BY_DEFAULT};
-
const base::Feature kHomepageTile{"HomepageTile",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/android/chrome_feature_list.h b/chrome/browser/android/chrome_feature_list.h
--- a/chrome/browser/android/chrome_feature_list.h
+++ b/chrome/browser/android/chrome_feature_list.h
@@ -77,7 +77,6 @@ extern const base::Feature kEphemeralTab;
extern const base::Feature kExploreSites;
extern const base::Feature kForegroundNotificationManager;
extern const base::Feature kHandleMediaIntents;
-extern const base::Feature kHomePageButtonForceEnabled;
extern const base::Feature kHomepageTile;
extern const base::Feature kHorizontalTabSwitcherAndroid;
extern const base::Feature kIdentityDisc;
--
2.11.0
@@ -0,0 +1,131 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 28 Dec 2019 10:23:04 +0100
Subject: Always show site settings for cookies, javascript and ads
Avoid displaying info about intrusive ads
---
.../website/SingleWebsitePreferences.java | 46 +++++++++----------
.../browser/preferences/website/Website.java | 20 ++++++++
2 files changed, 42 insertions(+), 24 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
@@ -46,6 +46,7 @@ import java.util.Set;
*/
public class SingleWebsitePreferences extends PreferenceFragmentCompat
implements Preference.OnPreferenceChangeListener, Preference.OnPreferenceClickListener {
+ public static final String TAG = "SingleWebsitePreferences";
// SingleWebsitePreferences expects either EXTRA_SITE (a Website) or
// EXTRA_SITE_ADDRESS (a WebsiteAddress) to be present (but not both). If
// EXTRA_SITE is present, the fragment will display the permissions in that
@@ -345,7 +346,24 @@ public class SingleWebsitePreferences extends PreferenceFragmentCompat
} else if (i == ContentSettingException.Type.SOUND) {
setUpSoundPreference(preference);
} else {
- setUpListPreference(preference, mSite.getContentSettingPermission(i));
+ // some Bromite-specific overrides for the defaults
+ @ContentSettingValues
+ @Nullable
+ Integer permission = mSite.getContentSettingPermission(i);
+ // initialize cookie and javascript with the category global defaults
+ if (permission == null) {
+ if (i == ContentSettingException.Type.COOKIE)
+ permission = PrefServiceBridge.getInstance().isCategoryEnabled(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES)
+ ? ContentSettingValues.ALLOW
+ : ContentSettingValues.BLOCK;
+ else if (i == ContentSettingException.Type.JAVASCRIPT)
+ permission = PrefServiceBridge.getInstance().isCategoryEnabled(
+ ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT)
+ ? ContentSettingValues.ALLOW
+ : ContentSettingValues.BLOCK;
+ }
+ setUpListPreference(preference, permission);
}
return;
}
@@ -626,17 +644,8 @@ public class SingleWebsitePreferences extends PreferenceFragmentCompat
}
private void setUpAdsInformationalBanner() {
- // Add the informational banner which shows at the top of the UI if ad blocking is
- // activated on this site.
- boolean adBlockingActivated = SiteSettingsCategory.adsCategoryEnabled()
- && WebsitePreferenceBridge.getAdBlockingActivated(mSite.getAddress().getOrigin())
- && findPreference(PERMISSION_PREFERENCE_KEYS[ContentSettingException.Type.ADS])
- != null;
-
- if (!adBlockingActivated) {
- removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO);
- removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO_DIVIDER);
- }
+ removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO);
+ removePreferenceSafely(PREF_INTRUSIVE_ADS_INFO_DIVIDER);
}
private SiteSettingsCategory getWarningCategory() {
@@ -711,6 +720,7 @@ public class SingleWebsitePreferences extends PreferenceFragmentCompat
// TODO(crbug.com/735110): Figure out if this is the correct thing to do - here we are
// effectively treating non-ALLOW values as BLOCK.
int index = (value == ContentSettingValues.ALLOW ? 0 : 1);
+
listPreference.setValueIndex(index);
listPreference.setOnPreferenceChangeListener(this);
listPreference.setSummary("%s");
@@ -782,22 +792,10 @@ public class SingleWebsitePreferences extends PreferenceFragmentCompat
setUpListPreference(preference, null);
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(mSite.getAddress().getOrigin());
@ContentSettingValues
@Nullable
Integer permission = mSite.getContentSettingPermission(ContentSettingException.Type.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
- // the preference.
- if (permission == null && !activated) {
- setUpListPreference(preference, null);
- return;
- }
-
// However, if the blocking is activated, we still want to show the permission, even if it
// is in the default state.
if (permission == null) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
@@ -166,6 +166,26 @@ public class Website implements Serializable {
new ContentSettingException(ContentSettingsType.CONTENT_SETTINGS_TYPE_ADS,
getAddress().getOrigin(), ContentSettingValues.BLOCK, "");
}
+ } else if (type == ContentSettingException.Type.COOKIE) {
+ // It is possible to set the permission without having an existing exception,
+ // because we can show the ALLOW state even when this permission is set to the
+ // default. In that case, just set an exception now to ALLOW to enable changing the
+ // permission.
+ if (mContentSettingException[type] == null) {
+ mContentSettingException[type] =
+ new ContentSettingException(ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES,
+ getAddress().getOrigin(), ContentSettingValues.ALLOW, "");
+ }
+ } else if (type == ContentSettingException.Type.JAVASCRIPT) {
+ // It is possible to set the permission without having an existing exception,
+ // because we can show the ALLOW state even when this permission is set to the
+ // default. In that case, just set an exception now to ALLOW to enable changing the
+ // permission.
+ if (mContentSettingException[type] == null) {
+ mContentSettingException[type] =
+ new ContentSettingException(ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT,
+ getAddress().getOrigin(), ContentSettingValues.ALLOW, "");
+ }
} else if (type == ContentSettingException.Type.SOUND) {
// It is possible to set the permission without having an existing exception,
// because we always show the sound permission in Site Settings.
--
2.17.1
@@ -4,33 +4,13 @@ Subject: Always use new tab page for default home page
Ignore any partner-provided home page.
---
.../chrome/browser/partnercustomizations/HomepageManager.java | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
.../chrome/browser/partnercustomizations/HomepageManager.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/HomepageManager.java
@@ -83,8 +83,7 @@ public class HomepageManager {
* @return Whether or not homepage is enabled.
*/
public static boolean isHomepageEnabled() {
- if (PartnerBrowserCustomizations.isHomepageProviderAvailableAndEnabled()
- || FeatureUtilities.isHomePageButtonForceEnabled()) {
+ if (FeatureUtilities.isHomePageButtonForceEnabled()) {
return getInstance().getPrefHomepageEnabled();
}
return false;
@@ -102,8 +101,7 @@ public class HomepageManager {
* @return Whether or not homepage setting should be shown.
*/
public static boolean shouldShowHomepageSetting() {
- return PartnerBrowserCustomizations.isHomepageProviderAvailableAndEnabled()
- || FeatureUtilities.isHomePageButtonForceEnabled();
+ return FeatureUtilities.isHomePageButtonForceEnabled();
}
/**
@@ -124,9 +122,7 @@ public class HomepageManager {
@@ -111,9 +111,7 @@ public class HomepageManager {
* if the homepage button is force enabled via flag.
*/
public static String getDefaultHomepageUri() {
@@ -42,5 +22,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
/**
--
2.11.0
2.17.1
@@ -2,12 +2,12 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 25 Mar 2018 21:49:37 +0200
Subject: AudioBuffer, AnalyserNode: fingerprinting mitigations via IDL
Return fixed base latency
Truncate base latency precision to two digits
---
third_party/blink/renderer/modules/webaudio/analyser_node.idl | 8 ++++----
third_party/blink/renderer/modules/webaudio/audio_buffer.idl | 4 ++--
third_party/blink/renderer/modules/webaudio/audio_context.cc | 1 +
3 files changed, 7 insertions(+), 6 deletions(-)
.../blink/renderer/modules/webaudio/analyser_node.idl | 8 ++++----
.../blink/renderer/modules/webaudio/audio_buffer.idl | 4 ++--
.../blink/renderer/modules/webaudio/audio_context.cc | 4 +++-
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
--- a/third_party/blink/renderer/modules/webaudio/analyser_node.idl
@@ -43,14 +43,17 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -343,6 +343,7 @@ void AudioContext::StopRendering() {
double AudioContext::baseLatency() const {
@@ -373,7 +373,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
+ return 0.04;
// TODO(hongchan): Due to the incompatible constructor between
// AudioDestinationNode and RealtimeAudioDestinationNode, casting directly
- return base_latency_;
+ // remove precision past two decimal digits
+ int l = base_latency_ * 100;
+ return double(l)/100;
}
MediaElementAudioSourceNode* AudioContext::createMediaElementSource(
--
2.11.0
2.17.1
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@ Subject: Battery API: return nothing
Include @thestinger's fix for correct charging/unknown values
---
.../renderer/modules/battery/battery_manager.cc | 25 ++++------------------
.../modules/battery/battery_manager.cc | 25 +++----------------
1 file changed, 4 insertions(+), 21 deletions(-)
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
@@ -61,5 +61,5 @@ diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/thi
void BatteryManager::RegisterWithDispatcher() {
--
2.11.0
2.17.1
@@ -6,21 +6,21 @@ Subject: Block all connection requests with 'qjz9zk' in the domain name or
An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used.
This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved'
---
.../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 +
chrome/browser/ui/singleton_tabs.cc | 3 +-
chromecast/browser/url_request_context_factory.cc | 7 ++++-
components/omnibox/browser/autocomplete_input.cc | 7 +++--
components/url_formatter/url_fixer.cc | 4 +++
.../browser/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/url_request.cc | 8 ++++++
net/url_request/url_request_context_builder.cc | 4 +++
url/url_constants.cc | 1 +
url/url_constants.h | 1 +
url/url_util.cc | 2 ++
.../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 +
chrome/browser/ui/singleton_tabs.cc | 3 +-
.../browser/url_request_context_factory.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/url_request.cc | 8 +++++
.../url_request_context_builder.cc | 4 +++
url/url_constants.cc | 1 +
url/url_constants.h | 1 +
url/url_util.cc | 2 ++
15 files changed, 97 insertions(+), 4 deletions(-)
create mode 100644 net/url_request/trk_protocol_handler.cc
create mode 100644 net/url_request/trk_protocol_handler.h
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
--- a/chrome/browser/ui/singleton_tabs.cc
+++ b/chrome/browser/ui/singleton_tabs.cc
@@ -99,7 +99,8 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
@@ -100,7 +100,8 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
// Skip view-source tabs. This is needed because RewriteURLIfNecessary
// removes the "view-source:" scheme which leads to incorrect matching.
@@ -131,7 +131,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
@@ -507,6 +507,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
@@ -513,6 +513,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() {
RegisterWebSafeScheme(url::kHttpsScheme);
RegisterWebSafeScheme(url::kFtpScheme);
RegisterWebSafeScheme(url::kDataScheme);
@@ -142,7 +142,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
@@ -1787,6 +1787,8 @@ component("net") {
@@ -1801,6 +1801,8 @@ component("net") {
"url_request/report_sender.h",
"url_request/static_http_user_agent_settings.cc",
"url_request/static_http_user_agent_settings.h",
@@ -223,7 +223,7 @@ new file mode 100644
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
@@ -15,6 +15,7 @@
@@ -13,6 +13,7 @@
#include "base/metrics/histogram_macros.h"
#include "base/rand_util.h"
#include "base/stl_util.h"
@@ -231,7 +231,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/lock.h"
#include "base/threading/thread_task_runner_handle.h"
@@ -42,6 +43,7 @@
@@ -40,6 +41,7 @@
#include "net/url_request/url_request_redirect_job.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -239,7 +239,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -612,6 +614,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -592,6 +594,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@@ -264,15 +264,15 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
#include "net/url_request/url_request_context_storage.h"
#include "net/url_request/url_request_intercepting_job_factory.h"
@@ -641,6 +642,9 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(url::kDataScheme,
std::make_unique<DataProtocolHandler>());
}
url_request_interceptors_.clear();
}
+ job_factory->SetProtocolHandler(url::kTraceScheme,
+ std::make_unique<TrkProtocolHandler>());
+
#if !BUILDFLAG(DISABLE_FILE_SUPPORT)
if (file_enabled_) {
job_factory->SetProtocolHandler(
if (create_intercepting_job_factory_) {
top_job_factory = std::move(create_intercepting_job_factory_)
.Run(std::move(top_job_factory));
diff --git a/url/url_constants.cc b/url/url_constants.cc
--- a/url/url_constants.cc
+++ b/url/url_constants.cc
@@ -315,5 +315,5 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Schemes that can be sent CORS requests.
--
2.11.0
2.17.1
@@ -7,36 +7,63 @@ Do not use experiments to enable/disable presets
Always enable ad filtering
Download filters by checking Last-Modified header first
---
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_impl.h | 3 +
chrome/browser/chrome_browser_main.cc | 5 +-
chrome/browser/chrome_content_browser_client.cc | 18 --
components/component_updater/BUILD.gn | 6 +
.../component_updater/adblock_updater_service.cc | 249 +++++++++++++++++++++
.../component_updater/adblock_updater_service.h | 99 ++++++++
.../component_updater/download_filters_task.cc | 228 +++++++++++++++++++
.../component_updater/download_filters_task.h | 131 +++++++++++
.../content_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 +
.../content/browser/verified_ruleset_dealer.cc | 2 +
.../core/browser/subresource_filter_features.cc | 113 +---------
.../core/common/common_features.cc | 2 +-
.../frame_host/navigation_throttle_runner.cc | 10 -
20 files changed, 817 insertions(+), 146 deletions(-)
.../chrome/browser/util/FeatureUtilities.java | 10 +
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_impl.h | 3 +
chrome/browser/chrome_browser_main.cc | 5 +-
.../browser/chrome_content_browser_client.cc | 17 --
components/component_updater/BUILD.gn | 6 +
.../adblock_updater_service.cc | 249 ++++++++++++++++++
.../adblock_updater_service.h | 99 +++++++
.../download_filters_task.cc | 228 ++++++++++++++++
.../component_updater/download_filters_task.h | 131 +++++++++
...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 | 2 +
.../browser/subresource_filter_features.cc | 113 +-------
.../core/common/common_features.cc | 2 +-
.../frame_host/navigation_throttle_runner.cc | 10 -
21 files changed, 827 insertions(+), 145 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
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
@@ -277,6 +277,14 @@ public class FeatureUtilities {
cacheServiceManagerForBackgroundPrefetch();
}
+ public static void setAdBlockFiltersURL(String url) {
+ FeatureUtilitiesJni.get().setAdBlockFiltersURL(url);
+ }
+
+ public static String getAdBlockFiltersURL() {
+ return FeatureUtilitiesJni.get().getAdBlockFiltersURL();
+ }
+
/**
* @return True if tab model merging for Android N+ is enabled.
*/
@@ -845,5 +853,7 @@ public class FeatureUtilities {
void setCustomTabVisible(boolean visible);
void setIsInMultiWindowMode(boolean isInMultiWindowMode);
boolean isNetworkServiceWarmUpEnabled();
+ void setAdBlockFiltersURL(String url);
+ String getAdBlockFiltersURL();
}
}
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
+++ b/chrome/browser/after_startup_task_utils.cc
@@ -36,6 +36,8 @@
@@ -37,6 +37,8 @@
#include "ui/views/linux_ui/linux_ui.h"
#endif
@@ -45,7 +72,7 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
using content::BrowserThread;
using content::WebContents;
using content::WebContentsObserver;
@@ -135,6 +137,9 @@ void SetBrowserStartupIsComplete() {
@@ -136,6 +138,9 @@ void SetBrowserStartupIsComplete() {
g_after_startup_tasks.Get().clear();
g_after_startup_tasks.Get().shrink_to_fit();
@@ -58,14 +85,14 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
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
@@ -22,6 +22,7 @@
#include "chrome/browser/shell_integration.h"
@@ -21,6 +21,7 @@
#include "build/build_config.h"
#include "chrome/common/buildflags.h"
#include "media/media_buildflags.h"
+#include "components/component_updater/adblock_updater_service.h"
class BackgroundModeManager;
class DownloadRequestLimiter;
class BrowserProcessPlatformPart;
@@ -58,6 +59,10 @@ class ComponentUpdateService;
class SupervisedUserWhitelistInstaller;
}
@@ -89,7 +116,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
@@ -1009,6 +1009,34 @@ BrowserProcessImpl::component_updater() {
@@ -1005,6 +1005,34 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -135,7 +162,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;
@@ -361,6 +362,8 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -357,6 +358,8 @@ class BrowserProcessImpl : public BrowserProcess,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -147,7 +174,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
@@ -1722,8 +1722,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1715,8 +1715,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
PreBrowserStart();
@@ -163,7 +190,7 @@ 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 @@
@@ -63,7 +63,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/language/translate_frame_binder.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@@ -171,15 +198,15 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/router/presentation/presentation_service_delegate_impl.h"
#include "chrome/browser/media/router/presentation/receiver_presentation_service_delegate_impl.h"
@@ -81,7 +80,6 @@
#include "chrome/browser/net_benchmarking.h"
#include "chrome/browser/notifications/platform_notification_service_factory.h"
#include "chrome/browser/notifications/platform_notification_service_impl.h"
-#include "chrome/browser/page_load_metrics/metrics_navigation_throttle.h"
#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
@@ -4044,16 +4042,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -207,7 +206,6 @@
#include "components/nacl/common/buildflags.h"
#include "components/nacl/common/nacl_constants.h"
#include "components/net_log/chrome_net_log.h"
-#include "components/page_load_metrics/browser/metrics_navigation_throttle.h"
#include "components/page_load_metrics/browser/metrics_web_contents_observer.h"
#include "components/page_load_metrics/browser/page_load_metrics_util.h"
#include "components/payments/content/payment_request_display_manager.h"
@@ -3798,16 +3796,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@@ -194,21 +221,20 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
- }
-
#if BUILDFLAG(ENABLE_PLUGINS)
std::unique_ptr<content::NavigationThrottle> flash_url_throttle =
FlashDownloadInterception::MaybeCreateThrottleFor(handle);
@@ -4163,12 +4151,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
}
MaybeAddThrottle(&throttles,
FlashDownloadInterception::MaybeCreateThrottleFor(handle));
@@ -3914,11 +3902,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
safe_browsing::MaybeCreateNavigationThrottle(handle));
#endif
- std::unique_ptr<content::NavigationThrottle>
- lookalike_url_navigation_throttle = lookalikes::
- LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(handle);
- if (lookalike_url_navigation_throttle)
- throttles.push_back(std::move(lookalike_url_navigation_throttle));
- MaybeAddThrottle(
- &throttles,
- lookalikes::LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(
- handle));
-
std::unique_ptr<content::NavigationThrottle> pdf_iframe_throttle =
PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle);
if (pdf_iframe_throttle)
MaybeAddThrottle(&throttles,
PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle));
diff --git a/components/component_updater/BUILD.gn b/components/component_updater/BUILD.gn
--- a/components/component_updater/BUILD.gn
+++ b/components/component_updater/BUILD.gn
@@ -269,7 +295,7 @@ new file mode 100644
+#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
@@ -743,7 +769,7 @@ new file mode 100644
+
+void DownloadFiltersTask::OnResponseStarted(
+ const GURL& final_url,
+ const network::ResourceResponseHead& response_head) {
+ const network::mojom::URLResponseHead& response_head) {
+
+ final_url_ = final_url;
+ response_code_ = response_head.headers ? response_head.headers->response_code() : -1;
@@ -920,7 +946,7 @@ new file mode 100644
+
+ void OnDownloadProgress(uint64_t current);
+ void OnResponseStarted(const GURL& final_url,
+ const network::ResourceResponseHead& response_head);
+ const network::mojom::URLResponseHead& response_head);
+ void OnDownloadComplete(base::FilePath file_path,
+ int net_error,
+ int64_t content_size);
@@ -955,7 +981,7 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -308,6 +308,17 @@ ContentSubresourceFilterThrottleManager::
@@ -306,6 +306,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@@ -1325,16 +1351,16 @@ diff --git a/content/browser/frame_host/navigation_throttle_runner.cc b/content/
#include "content/browser/frame_host/form_submission_throttle.h"
-#include "content/browser/frame_host/history_navigation_ablation_study_navigation_throttle.h"
#include "content/browser/frame_host/mixed_content_navigation_throttle.h"
#include "content/browser/frame_host/navigation_handle_impl.h"
#include "content/browser/frame_host/navigation_request.h"
#include "content/browser/frame_host/navigator_delegate.h"
@@ -120,15 +119,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
devtools_instrumentation::CreateNavigationThrottles(handle)) {
devtools_instrumentation::CreateNavigationThrottles(handle_)) {
AddThrottle(std::move(throttle));
}
-
- // Delay navigation for an ablation study (if needed).
- AddThrottle(HistoryNavigationAblationStudyNavigationThrottle::
- MaybeCreateForNavigation(handle));
- MaybeCreateForNavigation(handle_));
-
- // Insert all testing NavigationThrottles last.
- throttles_.insert(throttles_.end(),
@@ -1344,5 +1370,5 @@ diff --git a/content/browser/frame_host/navigation_throttle_runner.cc b/content/
NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const {
--
2.11.0
2.17.1
@@ -4,14 +4,14 @@ Subject: Disable HEAD requests for single-word Omnibar searches
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526873727
---
chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc | 8 ++++----
chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h | 2 +-
.../ui/omnibox/chrome_omnibox_navigation_observer.cc | 8 ++++----
.../ui/omnibox/chrome_omnibox_navigation_observer.h | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
--- a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
+++ b/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc
@@ -85,8 +85,8 @@ ChromeOmniboxNavigationObserver::ChromeOmniboxNavigationObserver(
@@ -86,8 +86,8 @@ ChromeOmniboxNavigationObserver::ChromeOmniboxNavigationObserver(
shortcuts_backend_(ShortcutsBackendFactory::GetForProfile(profile)),
load_state_(LOAD_NOT_SEEN),
fetch_state_(FETCH_NOT_COMPLETE) {
@@ -22,7 +22,7 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
// We need to start by listening to AllSources, since we don't know which tab
// the navigation might occur in.
@@ -286,7 +286,7 @@ void ChromeOmniboxNavigationObserver::OnAllLoadingFinished() {
@@ -287,7 +287,7 @@ void ChromeOmniboxNavigationObserver::OnAllLoadingFinished() {
delete this;
}
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
const GURL& destination_url) {
net::NetworkTrafficAnnotationTag traffic_annotation =
net::DefineNetworkTrafficAnnotation("omnibox_navigation_observer", R"(
@@ -327,4 +327,4 @@ void ChromeOmniboxNavigationObserver::CreateLoader(
@@ -328,4 +328,4 @@ void ChromeOmniboxNavigationObserver::CreateLoader(
loader_->SetAllowHttpErrorResults(true);
loader_->SetOnRedirectCallback(base::BindRepeating(
&ChromeOmniboxNavigationObserver::OnURLRedirect, base::Unretained(this)));
@@ -50,5 +50,5 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h b/ch
const base::string16 text_;
const AutocompleteMatch match_;
--
2.11.0
2.17.1
@@ -3,8 +3,9 @@ Date: Thu, 12 Oct 2017 08:15:17 +0200
Subject: Disable NTP remote suggestions by default
---
components/ntp_snippets/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
components/ntp_snippets/features.cc | 4 ++--
.../remote/remote_suggestions_status_service_impl.cc | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
@@ -27,6 +28,20 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
const base::Feature kOptionalImagesEnabledFeature{
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc b/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
--- a/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
+++ b/components/ntp_snippets/remote/remote_suggestions_status_service_impl.cc
@@ -36,8 +36,8 @@ RemoteSuggestionsStatusServiceImpl::~RemoteSuggestionsStatusServiceImpl() =
// static
void RemoteSuggestionsStatusServiceImpl::RegisterProfilePrefs(
PrefRegistrySimple* registry) {
- registry->RegisterBooleanPref(prefs::kEnableSnippets, true);
- registry->RegisterBooleanPref(prefs::kArticlesListVisible, true);
+ registry->RegisterBooleanPref(prefs::kEnableSnippets, false);
+ registry->RegisterBooleanPref(prefs::kArticlesListVisible, false);
}
void RemoteSuggestionsStatusServiceImpl::Init(
--
2.11.0
2.17.1
@@ -4,15 +4,15 @@ Subject: Disable Omaha update checks
Do not consider Jelly Bean unsupported
---
.../android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java | 2 +-
.../java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java | 2 +-
chrome/browser/android/chrome_feature_list.cc | 2 +-
.../java/src/org/chromium/chrome/browser/omaha/OmahaBase.java | 2 +-
.../org/chromium/chrome/browser/omaha/VersionNumberGetter.java | 2 +-
chrome/browser/android/chrome_feature_list.cc | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
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
@@ -135,7 +135,7 @@ public class OmahaBase {
@@ -136,7 +136,7 @@ public class OmahaBase {
/** See {@link #sIsDisabled}. */
static boolean isDisabled() {
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNu
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -465,7 +465,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
@@ -458,7 +458,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kJellyBeanSupported{"JellyBeanSupported",
@@ -46,5 +46,5 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
const base::Feature kSearchEnginePromoExistingDevice{
"SearchEnginePromo.ExistingDevice", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.11.0
2.17.1
@@ -9,7 +9,7 @@ Subject: Disable WebRTC by default
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -82,10 +82,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -83,10 +83,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
false);
#endif
// TODO(guoweis): Remove next 2 options at M50.
@@ -18,11 +18,11 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
+ registry->RegisterBooleanPref(prefs::kWebRTCMultipleRoutesEnabled, false);
+ registry->RegisterBooleanPref(prefs::kWebRTCNonProxiedUdpEnabled, false);
registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy,
- content::kWebRTCIPHandlingDefault);
+ content::kWebRTCIPHandlingDisableNonProxiedUdp);
- blink::kWebRTCIPHandlingDefault);
+ blink::kWebRTCIPHandlingDisableNonProxiedUdp);
registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false);
registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls);
--
2.11.0
2.17.1
@@ -0,0 +1,36 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 19 Dec 2019 21:46:10 +0100
Subject: Disable addresses autofill by default
---
.../autofill_assistant/AutofillAssistantPreferencesUtil.java | 2 +-
.../autofill_assistant/AutofillAssistantPreferences.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
@@ -25,7 +25,7 @@ class AutofillAssistantPreferencesUtil {
/** Checks whether the Autofill Assistant switch preference in settings is on. */
static boolean isAutofillAssistantSwitchOn() {
return ContextUtils.getAppSharedPreferences().getBoolean(
- AutofillAssistantPreferences.PREF_AUTOFILL_ASSISTANT_SWITCH, true);
+ AutofillAssistantPreferences.PREF_AUTOFILL_ASSISTANT_SWITCH, false);
}
/** Checks whether the Autofill Assistant onboarding has been accepted. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill_assistant/AutofillAssistantPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill_assistant/AutofillAssistantPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill_assistant/AutofillAssistantPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/autofill_assistant/AutofillAssistantPreferences.java
@@ -48,7 +48,7 @@ public class AutofillAssistantPreferences extends PreferenceFragmentCompat {
// (e.g. the switch will say "On" when it is really turned off), so .setChecked() should be
// called after .addPreference()
autofillAssistantSwitch.setChecked(ContextUtils.getAppSharedPreferences().getBoolean(
- PREF_AUTOFILL_ASSISTANT_SWITCH, true));
+ PREF_AUTOFILL_ASSISTANT_SWITCH, false));
}
private Context getStyledContext() {
--
2.17.1
@@ -3,13 +3,13 @@ Date: Tue, 12 Jun 2018 15:09:26 +0200
Subject: Disable all promo dialogs
---
.../chrome/browser/ChromeTabbedActivity.java | 30 +---------------------
.../chrome/browser/ChromeTabbedActivity.java | 30 +------------------
1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -799,35 +799,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
@@ -801,35 +801,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
try (TraceEvent e = TraceEvent.scoped(
"ChromeTabbedActivity.createToolbarButtonInProductHelpController")) {
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance();
@@ -47,5 +47,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
}
--
2.11.0
2.17.1
@@ -1,37 +0,0 @@
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 23 Nov 2016 09:26:51 -0500
Subject: Disable contextual search by default
Disable contextual search in preference by default
---
.../src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
@@ -423,7 +423,7 @@ public class PrefServiceBridge {
* @return Whether the Contextual Search feature was disabled by the user explicitly.
*/
public boolean isContextualSearchDisabled() {
- return getContextualSearchPreference().equals(CONTEXTUAL_SEARCH_DISABLED);
+ return !getContextualSearchPreference().equals(CONTEXTUAL_SEARCH_ENABLED);
}
/**
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
@@ -145,7 +145,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
#if defined(OS_ANDROID)
registry->RegisterStringPref(
prefs::kContextualSearchEnabled,
- std::string(),
+ "false",
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
#endif // defined(OS_ANDROID)
registry->RegisterBooleanPref(prefs::kSessionExitedCleanly, true);
--
2.11.0
@@ -3,17 +3,17 @@ Date: Mon, 20 May 2019 23:14:36 +0200
Subject: Disable dynamic module loading
---
chrome/android/chrome_java_sources.gni | 13 ----------
.../browser/customtabs/CustomTabActivity.java | 18 -------------
.../customtabs/CustomTabIntentDataProvider.java | 17 ++----------
.../browser/customtabs/CustomTabsConnection.java | 30 ----------------------
.../CustomTabActivityComponent.java | 4 ---
chrome/android/chrome_java_sources.gni | 13 --------
.../browser/customtabs/CustomTabActivity.java | 18 -----------
.../CustomTabIntentDataProvider.java | 17 ++---------
.../customtabs/CustomTabsConnection.java | 30 -------------------
.../CustomTabActivityComponent.java | 4 ---
5 files changed, 2 insertions(+), 80 deletions(-)
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -418,19 +418,6 @@ chrome_java_sources = [
@@ -426,19 +426,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/customtabs/content/TabCreationMode.java",
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java",
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityModule.java",
@@ -31,12 +31,12 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleMetrics.java",
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ObjectWrapper.java",
"java/src/org/chromium/chrome/browser/customtabs/features/CustomTabNavigationBarController.java",
"java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java",
"java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabBrowserControlsVisibilityDelegate.java",
"java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarCoordinator.java",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -66,7 +66,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.Int
@@ -51,7 +51,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler.Int
import org.chromium.chrome.browser.customtabs.content.TabCreationMode;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityComponent;
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityModule;
@@ -44,17 +44,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarCoordinator;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -136,9 +135,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
@@ -94,9 +93,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
private final CustomTabsConnection mConnection = CustomTabsConnection.getInstance();
- @Nullable
- private DynamicModuleCoordinator mDynamicModuleCoordinator;
-
private ActivityTabTaskDescriptionHelper mTaskDescriptionHelper;
private CustomTabTaskDescriptionHelper mTaskDescriptionHelper;
private CustomTabNightModeStateController mNightModeStateController;
@@ -308,12 +304,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
@@ -233,12 +229,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
public void finishNativeInitialization() {
if (!mIntentDataProvider.isInfoPage()) FirstRunSignInProcessor.start(this);
@@ -64,10 +64,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
- mDynamicModuleCoordinator = getComponent().resolveDynamicModuleCoordinator();
- }
-
mSessionHandler = new SessionHandler() {
mConnection.showSignInToastIfNecessary(mSession, getIntent());
@Override
@@ -432,10 +422,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && useSeparateTask()) {
@@ -280,10 +270,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
WebContents webContents = tab == null ? null : tab.getWebContents();
mConnection.resetPostMessageHandlerForSession(
mIntentDataProvider.getSession(), webContents);
@@ -78,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
}
@Override
@@ -794,10 +780,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
@@ -595,10 +581,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
if (mIntentDataProvider.isTrustedWebActivity()) {
component.resolveTrustedWebActivityCoordinator();
}
@@ -92,15 +92,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
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
@@ -46,7 +46,6 @@ import org.chromium.chrome.browser.ChromeSwitches;
@@ -44,7 +44,6 @@ import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ChromeVersionInfo;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.browserservices.BrowserServicesIntentDataProvider;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.util.ColorUtils;
@@ -460,20 +459,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
import org.chromium.chrome.browser.ui.widget.TintedDrawable;
@@ -459,20 +458,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
// even receive the extras for using the feature.
if (componentName == null) return false;
@@ -126,7 +126,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/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -59,8 +59,6 @@ import org.chromium.chrome.browser.browserservices.Origin;
@@ -58,8 +58,6 @@ import org.chromium.chrome.browser.browserservices.Origin;
import org.chromium.chrome.browser.browserservices.PostMessageHandler;
import org.chromium.chrome.browser.browserservices.SessionDataHolder;
import org.chromium.chrome.browser.browserservices.SessionHandler;
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.init.ChainedTasks;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -219,7 +217,6 @@ public class CustomTabsConnection {
@@ -218,7 +216,6 @@ public class CustomTabsConnection {
private volatile ChainedTasks mWarmupTasks;
@@ -143,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
/**
* <strong>DO NOT CALL</strong>
* Public to be instanciable from {@link ChromeApplication}. This is however
@@ -1373,7 +1370,6 @@ public class CustomTabsConnection {
@@ -1382,7 +1379,6 @@ public class CustomTabsConnection {
if (ChromeApplication.isSevereMemorySignal(level)) {
getInstance().mClientManager.cleanupUnusedSessions();
}
@@ -151,7 +151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
}
@VisibleForTesting
@@ -1510,32 +1506,6 @@ public class CustomTabsConnection {
@@ -1519,32 +1515,6 @@ public class CustomTabsConnection {
recordSpeculationStatusOnSwap(SPECULATION_STATUS_ON_SWAP_BACKGROUND_TAB_NOT_MATCHED);
}
@@ -187,16 +187,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
@@ -15,8 +15,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigatio
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
@@ -18,8 +18,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabContro
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabFactory;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
import org.chromium.chrome.browser.customtabs.features.ImmersiveModeController;
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarCoordinator;
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -32,8 +30,6 @@ import dagger.Subcomponent;
@@ -36,8 +34,6 @@ import dagger.Subcomponent;
@ActivityScope
public interface CustomTabActivityComponent extends ChromeActivityComponent {
TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
@@ -206,5 +206,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/depe
CustomTabBottomBarDelegate resolveBottomBarDelegate();
CustomTabActivityTabController resolveTabController();
--
2.11.0
2.17.1
@@ -3,42 +3,45 @@ Date: Sun, 8 Jul 2018 18:16:34 +0200
Subject: Disable fetching of all field trials
---
.../src/org/chromium/chrome/browser/ChromeFeatureList.java | 12 +++---------
components/variations/service/variations_service.cc | 12 +-----------
2 files changed, 4 insertions(+), 20 deletions(-)
.../chrome/browser/ChromeFeatureList.java | 15 +++------------
.../variations/service/variations_service.cc | 12 +-----------
2 files changed, 4 insertions(+), 23 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
@@ -106,9 +106,7 @@ public abstract class ChromeFeatureList {
@@ -107,10 +107,7 @@ public abstract class ChromeFeatureList {
*/
public static int getFieldTrialParamByFeatureAsInt(
String featureName, String paramName, int defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- assert isInitialized();
- return nativeGetFieldTrialParamByFeatureAsInt(featureName, paramName, defaultValue);
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsInt(
- featureName, paramName, defaultValue);
+ return defaultValue;
}
/**
@@ -125,9 +123,7 @@ public abstract class ChromeFeatureList {
@@ -127,10 +124,7 @@ public abstract class ChromeFeatureList {
*/
public static double getFieldTrialParamByFeatureAsDouble(
String featureName, String paramName, double defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- assert isInitialized();
- return nativeGetFieldTrialParamByFeatureAsDouble(featureName, paramName, defaultValue);
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsDouble(
- featureName, paramName, defaultValue);
+ return defaultValue;
}
/**
@@ -144,9 +140,7 @@ public abstract class ChromeFeatureList {
@@ -147,10 +141,7 @@ public abstract class ChromeFeatureList {
*/
public static boolean getFieldTrialParamByFeatureAsBoolean(
String featureName, String paramName, boolean defaultValue) {
- if (sTestFeatures != null) return defaultValue;
- assert isInitialized();
- return nativeGetFieldTrialParamByFeatureAsBoolean(featureName, paramName, defaultValue);
- return ChromeFeatureListJni.get().getFieldTrialParamByFeatureAsBoolean(
- featureName, paramName, defaultValue);
+ return defaultValue;
}
@@ -46,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureLi
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -240,17 +240,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -241,17 +241,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@@ -66,5 +69,5 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
--
2.11.0
2.17.1
@@ -3,9 +3,9 @@ Date: Thu, 4 Jul 2019 19:08:52 -0400
Subject: Disable media router and remoting by default
---
chrome/browser/media/router/media_router_feature.cc | 17 ++++++++---------
chrome/browser/profiles/profile.cc | 2 +-
chrome/browser/profiles/profile_impl.cc | 2 +-
.../media/router/media_router_feature.cc | 17 ++++++++---------
chrome/browser/profiles/profile.cc | 2 +-
chrome/browser/profiles/profile_impl.cc | 2 +-
3 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
@@ -223,7 +223,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -226,7 +226,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kMediaRouterFirstRunFlowAcknowledged,
false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -444,7 +444,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -422,7 +422,7 @@ void ProfileImpl::RegisterProfilePrefs(
registry->RegisterStringPref(
prefs::kPrintPreviewDefaultDestinationSelectionRules, std::string());
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -62,5 +62,5 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
registry->RegisterBooleanPref(
prefs::kOobeMarketingOptInScreenFinished, false,
--
2.11.0
2.17.1
@@ -3,8 +3,8 @@ Date: Wed, 20 Feb 2019 21:41:26 +0100
Subject: Disable metrics collection for NTP tiles
---
.../android/ntp/most_visited_sites_bridge.cc | 21 ---------------------
components/ntp_tiles/BUILD.gn | 3 ---
.../android/ntp/most_visited_sites_bridge.cc | 21 -------------------
components/ntp_tiles/BUILD.gn | 3 ---
2 files changed, 24 deletions(-)
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -87,5 +87,5 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"popular_sites_impl_unittest.cc",
]
--
2.11.0
2.17.1
@@ -10,7 +10,7 @@ Subject: Disable metrics on all I/O threads
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -909,7 +909,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -905,7 +905,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // defined(OS_CHROMEOS)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@@ -32,5 +32,5 @@ diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profile
#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
#include "components/signin/public/base/signin_pref_names.h"
--
2.11.0
2.17.1
@@ -20,5 +20,5 @@ diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/
const base::Feature kOfflinePagesCTSuppressNotificationsFeature{
"OfflinePagesCTSuppressNotifications", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.11.0
2.17.1
@@ -33,5 +33,5 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
const FormatUrlType kFormatUrlOmitDefaults =
--
2.11.0
2.17.1
@@ -0,0 +1,26 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 15 Dec 2019 22:39:56 +0100
Subject: Disable password reuse detection on android
---
components/password_manager/core/browser/BUILD.gn | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn
--- a/components/password_manager/core/browser/BUILD.gn
+++ b/components/password_manager/core/browser/BUILD.gn
@@ -12,9 +12,9 @@ if (is_android) {
# TODO(crbug.com/1006430): Fix password reuse detection not fully functional on
# Android.
-password_reuse_detection_support = !is_ios
+password_reuse_detection_support = !is_ios && !is_android
password_reuse_warning_support = !is_android && !is_ios
-password_on_focus_ping_support = !is_ios
+password_on_focus_ping_support = !is_android && !is_ios
config("password_reuse_detection_config") {
defines = []
--
2.17.1
@@ -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
@@ -1234,10 +1234,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1169,10 +1169,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -23,5 +23,5 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) {
--
2.11.0
2.17.1
@@ -24,5 +24,5 @@ diff --git a/components/previews/core/previews_features.cc b/components/previews
// Enables the Offline previews on android slow connections.
--
2.11.0
2.17.1
@@ -5,11 +5,11 @@ Subject: Disable promos displayed in bookmarks manager
Remove personalized signin promo view from
bookmarks, never reach signin thresholds.
---
.../personalized_signin_promo_view_bookmarks.xml | 30 ------------
.../browser/bookmarks/BookmarkItemsAdapter.java | 23 +--------
.../browser/bookmarks/BookmarkPromoHeader.java | 54 +---------------------
.../bookmarks/ReorderBookmarkItemsAdapter.java | 19 +-------
.../browser/signin/SigninPromoController.java | 19 +-------
...rsonalized_signin_promo_view_bookmarks.xml | 30 -----------
.../bookmarks/BookmarkItemsAdapter.java | 23 +-------
.../bookmarks/BookmarkPromoHeader.java | 54 +------------------
.../ReorderBookmarkItemsAdapter.java | 19 +------
.../browser/signin/SigninPromoController.java | 19 +------
5 files changed, 7 insertions(+), 138 deletions(-)
delete mode 100644 chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
@@ -52,7 +52,7 @@ deleted file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
@@ -59,7 +59,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -60,7 +60,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
private BookmarkDelegate mDelegate;
private Context mContext;
@@ -60,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private String mSearchText;
private BookmarkId mCurrentFolder;
@@ -217,9 +216,9 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -219,9 +218,9 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
switch (viewType) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
@@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
case ViewType.FOLDER:
BookmarkFolderRow folder = (BookmarkFolderRow) LayoutInflater.from(
parent.getContext()).inflate(R.layout.bookmark_folder_row, parent, false);
@@ -240,8 +239,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -242,8 +241,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
public void onBindViewHolder(ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
break;
case ViewType.SYNC_PROMO:
break;
@@ -260,7 +257,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -262,7 +259,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
public void onViewRecycled(ViewHolder holder) {
switch (holder.getItemViewType()) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
@@ -89,7 +89,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.
@@ -296,7 +292,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -298,7 +294,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
}
};
@@ -97,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
populateTopLevelFoldersList();
notifyDataSetChanged();
}
@@ -307,7 +302,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -309,7 +304,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
mDelegate.removeUIObserver(this);
mDelegate.getModel().removeObserver(mBookmarkModelObserver);
mDelegate = null;
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
@Override
@@ -387,19 +381,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@@ -389,19 +383,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
if (currentUIState == BookmarkUIState.STATE_SEARCHING) return;
assert currentUIState == BookmarkUIState.STATE_FOLDER : "Unexpected UI state";
@@ -128,18 +128,19 @@ 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
@@ -18,7 +18,6 @@ import org.chromium.base.ContextUtils;
@@ -19,7 +19,6 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.signin.IdentityServicesProvider;
-import org.chromium.chrome.browser.signin.PersonalizedSigninPromoView;
import org.chromium.chrome.browser.signin.ProfileDataCache;
import org.chromium.chrome.browser.signin.SigninAccessPoint;
import org.chromium.chrome.browser.signin.SigninManager;
import org.chromium.chrome.browser.signin.SigninManager.SignInStateObserver;
@@ -132,19 +131,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return mPromoState;
}
/**
- /**
- * @return Personalized signin promo header {@link ViewHolder} instance that can be used with
- * {@link RecyclerView}.
- */
@@ -152,11 +153,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
- return new ViewHolder(view) {};
- }
-
- /**
/**
* @return Sync promo header {@link ViewHolder} instance that can be used with
* {@link RecyclerView}.
*/
@@ -156,42 +142,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -157,42 +143,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
return new ViewHolder(view) {};
}
@@ -199,7 +199,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private @PromoState int calculatePromoState() {
if (sPromoStateForTests != null) {
return sPromoStateForTests;
@@ -204,8 +154,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -205,8 +155,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
if (!ChromeSigninController.get().isSignedIn()) {
boolean impressionLimitReached = !SigninPromoController.hasNotReachedImpressionLimit(
SigninAccessPoint.BOOKMARK_MANAGER);
@@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
return PromoState.PROMO_NONE;
}
return PromoState.PROMO_SIGNIN_PERSONALIZED;
@@ -253,7 +202,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
@@ -254,7 +203,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
}
private void triggerPromoUpdate() {
@@ -220,7 +220,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/ReorderBookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ReorderBookmarkItemsAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ReorderBookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ReorderBookmarkItemsAdapter.java
@@ -186,8 +186,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -188,8 +188,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
assert mDelegate != null;
switch (viewType) {
@@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
case ViewType.SYNC_PROMO:
return mPromoHeaderManager.createSyncPromoHolder(parent);
case ViewType.FOLDER:
@@ -202,10 +200,7 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -204,10 +202,7 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
@@ -241,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
BookmarkRow row = ((BookmarkRow) holder.itemView);
BookmarkId id = getIdByPosition(position);
row.setBookmarkId(id, getLocationFromPosition(position));
@@ -229,13 +224,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -231,13 +226,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@Override
public void onViewRecycled(ViewHolder holder) {
@@ -255,7 +255,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
}
/**
@@ -404,9 +392,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -406,9 +394,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
case BookmarkPromoHeader.PromoState.PROMO_NONE:
mPromoHeaderType = ViewType.INVALID_PROMO;
break;
@@ -265,7 +265,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
case BookmarkPromoHeader.PromoState.PROMO_SYNC:
mPromoHeaderType = ViewType.SYNC_PROMO;
break;
@@ -571,4 +556,4 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
@@ -573,4 +558,4 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
private void clearHighlight() {
mHighlightedBookmark = null;
}
@@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Reord
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
@@ -73,23 +73,8 @@ public class SigninPromoController {
@@ -75,23 +75,8 @@ public class SigninPromoController {
*/
public static boolean hasNotReachedImpressionLimit(@AccessPoint int accessPoint) {
SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences();
@@ -302,5 +302,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPr
/**
--
2.11.0
2.17.1
@@ -3,16 +3,16 @@ Date: Sun, 15 Oct 2017 21:45:46 +0200
Subject: Disable references to fonts.googleapis.com
---
.../dom_distiller/content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/preview.html | 2 +-
components/dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +-
third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +--
.../content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/preview.html | 2 +-
.../dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +-
third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +--
4 files changed, 4 insertions(+), 5 deletions(-)
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
@@ -308,7 +308,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -317,7 +317,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
}
std::string DomDistillerViewerSource::GetContentSecurityPolicyStyleSrc() {
@@ -59,5 +59,5 @@ diff --git a/third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css b/th
body,
table,
--
2.11.0
2.17.1
File diff suppressed because it is too large Load Diff
@@ -9,8 +9,8 @@ Subject: Disable search-ready omnibox by default
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -518,7 +518,7 @@ const base::Feature kRevampedContextMenu{"RevampedContextMenu",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -518,7 +518,7 @@ const base::Feature kScrollToExpandPaymentHandler{
"ScrollToExpandPaymentHandler", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSearchReadyOmniboxFeature{
- "SearchReadyOmnibox", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -19,5 +19,5 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
const base::Feature kServiceManagerForBackgroundPrefetch{
"ServiceManagerForBackgroundPrefetch", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.11.0
2.17.1
@@ -9,7 +9,7 @@ Subject: Disable seed-based field trials
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
@@ -535,8 +535,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -538,8 +538,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
bool used_seed = false;
if (!used_testing_config) {
@@ -21,5 +21,5 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
platform_field_trials->SetupFeatureControllingFieldTrials(used_seed,
--
2.11.0
2.17.1
@@ -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
@@ -508,7 +508,7 @@ const base::Feature kSignedExchangePrefetchCacheForNavigations{
@@ -507,7 +507,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
@@ -518,7 +518,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -517,7 +517,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/features/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
@@ -28,5 +28,5 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Whether to send a ping to the inner URL upon navigation or not.
const base::Feature kSignedHTTPExchangePingValidity{
--
2.11.0
2.17.1
@@ -0,0 +1,44 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 11 Nov 2019 23:09:48 +0100
Subject: Disable sync services menu entry
---
chrome/android/java/res/xml/main_preferences.xml | 6 ------
chrome/android/java/res/xml/privacy_preferences.xml | 7 -------
2 files changed, 13 deletions(-)
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
@@ -14,12 +14,6 @@
android:key="sign_in"
android:order="1"
android:title="@string/sign_in_to_chrome"/>
- <org.chromium.chrome.browser.preferences.ChromeBasePreference
- android:key="sync_and_services"
- android:order="2"
- android:layout="@layout/account_management_account_row"
- android:title="@string/prefs_sync_and_services"
- android:fragment="org.chromium.chrome.browser.preferences.sync.SyncAndServicesPreferences"/>
<PreferenceCategory
android:key="basics_section"
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
@@ -29,12 +29,5 @@
android:title="@string/clear_browsing_data_title"
android:summary="@string/clear_browsing_data_summary"
android:fragment="org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataTabsFragment" />
- <android.support.v7.preference.Preference
- android:key="sync_and_services_link_divider"
- android:layout="@layout/divider_preference"
- android:selectable="false"/>
- <org.chromium.chrome.browser.preferences.TextMessagePreference
- android:key="sync_and_services_link"
- android:summary="@string/privacy_sync_and_services_link"
app:allowDividerBelow="false" />
</PreferenceScreen>
--
2.17.1
@@ -10,7 +10,7 @@ author: Chad Miller <chad.miller@canonical.com>
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
@@ -57,7 +57,7 @@ void CookieSettings::GetCookieSettings(
@@ -58,7 +58,7 @@ void CookieSettings::GetCookieSettings(
void CookieSettings::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
@@ -20,5 +20,5 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
registry->RegisterIntegerPref(
prefs::kCookieControlsMode,
--
2.11.0
2.17.1
@@ -1,23 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 12 Aug 2019 08:45:43 +0200
Subject: Disable unified consent on Android
---
components/unified_consent/feature.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/unified_consent/feature.cc b/components/unified_consent/feature.cc
--- a/components/unified_consent/feature.cc
+++ b/components/unified_consent/feature.cc
@@ -11,7 +11,7 @@ namespace unified_consent {
// base::Feature definition.
const base::Feature kUnifiedConsent {
"UnifiedConsent",
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_ENABLED_BY_DEFAULT
--
2.11.0
+2 -2
View File
@@ -3,7 +3,7 @@ Date: Sat, 27 Oct 2018 17:54:01 +0200
Subject: Disable update scheduler
---
.../chromium/chrome/browser/component_updater/UpdateScheduler.java | 7 ++-----
.../chrome/browser/component_updater/UpdateScheduler.java | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java b/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java
@@ -29,5 +29,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updat
\ No newline at end of file
+}
--
2.11.0
2.17.1
@@ -0,0 +1,43 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 4 Jan 2020 14:46:12 +0100
Subject: Do not enable QUIC by default
For reference:
* https://brave.com/quic-in-the-wild/
* https://petsymposium.org/2019/files/papers/issue3/popets-2019-0046.pdf
---
.../browser/network_session_configurator.cc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
--- a/components/network_session_configurator/browser/network_session_configurator.cc
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
@@ -180,7 +180,7 @@ bool ShouldEnableQuic(base::StringPiece quic_trial_group,
return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) ||
quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName) ||
base::LowerCaseEqualsASCII(
- GetVariationParam(quic_trial_params, "enable_quic"), "true");
+ GetVariationParam(quic_trial_params, "enable_quic"), "false");
}
bool ShouldEnableQuicProxiesForHttpsUrls(
@@ -188,7 +188,7 @@ bool ShouldEnableQuicProxiesForHttpsUrls(
return base::LowerCaseEqualsASCII(
GetVariationParam(quic_trial_params,
"enable_quic_proxies_for_https_urls"),
- "true");
+ "false");
}
bool ShouldRetryWithoutAltSvcOnQuicErrors(
@@ -468,7 +468,6 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group,
params->enable_quic =
ShouldEnableQuic(quic_trial_group, quic_trial_params,
is_quic_force_disabled, is_quic_force_enabled);
-
params->enable_server_push_cancellation =
ShouldEnableServerPushCancelation(quic_trial_params);
--
2.17.1
@@ -4,8 +4,8 @@ Subject: Do not grant notifications to default search engine
Block gelocation by default instead of granting it for non-enterprise use cases (almost the totality of users)
---
.../search_permissions/search_permissions_service.cc | 20 ++++++--------------
chrome/common/chrome_features.cc | 2 +-
.../search_permissions_service.cc | 20 ++++++-------------
chrome/common/chrome_features.cc | 2 +-
2 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/chrome/browser/android/search_permissions/search_permissions_service.cc b/chrome/browser/android/search_permissions/search_permissions_service.cc
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -279,7 +279,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
@@ -311,7 +311,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@@ -73,5 +73,5 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
// If enabled, Drive will use FCM for its invalidations.
--
2.11.0
2.17.1
@@ -6,7 +6,7 @@ Upstream has decided that it works as intended (https://bugs.chromium.org/p/chro
but users would like to decide where to save a file even when there is no SD card available;
do not skip the prompt in such cases.
---
.../download/DownloadLocationDialogBridge.java | 73 +++++++---------------
.../DownloadLocationDialogBridge.java | 73 ++++++-------------
1 file changed, 21 insertions(+), 52 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
@@ -108,5 +108,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
switch (dialogType) {
case DownloadLocationDialogType.LOCATION_FULL:
--
2.11.0
2.17.1
@@ -1,38 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 27 Jul 2019 11:19:53 +0200
Subject: Do not record UMA for network errors
---
services/network/network_context.cc | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -393,23 +393,6 @@ class NetworkContext::ContextNetworkDelegate
started);
}
- // Record network errors that HTTP requests complete with, including OK and
- // ABORTED.
- // TODO(mmenke): Seems like this really should be looking at HTTPS requests,
- // too.
- // TODO(mmenke): We should remove the main frame case from here, and move it
- // into the consumer - the network service shouldn't know what a main frame
- // is.
- if (request->url().SchemeIs("http")) {
- base::UmaHistogramSparse("Net.HttpRequestCompletionErrorCodes",
- -net_error);
-
- if (request->load_flags() & net::LOAD_MAIN_FRAME_DEPRECATED) {
- base::UmaHistogramSparse(
- "Net.HttpRequestCompletionErrorCodes.MainFrame", -net_error);
- }
- }
-
ForwardProxyErrors(net_error);
}
--
2.11.0
@@ -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
@@ -202,10 +202,10 @@ void PasswordManager::RegisterProfilePrefs(
@@ -155,10 +155,10 @@ void PasswordManager::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kBlacklistedCredentialsNormalized,
false);
registry->RegisterBooleanPref(
@@ -23,5 +23,5 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp
registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(),
PrefRegistry::NO_REGISTRATION_FLAGS);
--
2.11.0
2.17.1
@@ -9,7 +9,7 @@ Subject: Enable changing default downloads storage location by default
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -279,7 +279,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
@@ -311,7 +311,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
#if defined(OS_ANDROID)
// Enable changing default downloads storage location on Android.
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
@@ -19,5 +19,5 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
// If enabled, Drive will use FCM for its invalidations.
--
2.11.0
2.17.1
@@ -9,7 +9,7 @@ Subject: Enable download rename option by default
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -421,7 +421,7 @@ const base::Feature kDownloadNotificationBadge{
@@ -414,7 +414,7 @@ const base::Feature kDownloadNotificationBadge{
"DownloadNotificationBadge", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadRename{"DownloadRename",
@@ -19,5 +19,5 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
const base::Feature kDownloadTabManagementModule{
"DownloadTabManagementModule", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.11.0
2.17.1
@@ -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
@@ -282,6 +282,10 @@ config("compiler") {
@@ -297,6 +297,10 @@ config("compiler") {
}
}
@@ -54,5 +54,5 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
!is_mac && !is_ios && current_os != "aix") {
--
2.11.0
2.17.1
@@ -19,5 +19,5 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
const base::Feature kAndroidNightModeCCT{"AndroidNightModeCCT",
base::FEATURE_ENABLED_BY_DEFAULT};
--
2.11.0
2.17.1
@@ -9,7 +9,7 @@ Subject: Enable site per process isolation for devices with enough memory
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -608,11 +608,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
@@ -651,11 +651,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"site-per-process",
@@ -21,7 +21,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
};
// Controls a mode for dynamically process-isolating sites where the user has
@@ -634,7 +630,7 @@ const base::Feature kSiteIsolationForPasswordSites{
@@ -685,7 +681,7 @@ const base::Feature kSiteIsolationForPasswordSites{
// base::SysInfo::AmountOfPhysicalMemoryMB().
const base::Feature kSitePerProcessOnlyForHighMemoryClients{
"site-per-process-only-for-high-memory-clients",
@@ -31,5 +31,5 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
"site-per-process-low-memory-cutoff-mb";
--
2.11.0
2.17.1
@@ -20,5 +20,5 @@ diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/p
render_frame_host, canonical_requesting_origin.GetOrigin(),
embedding_origin.GetOrigin());
--
2.11.0
2.17.1
@@ -3,7 +3,7 @@ Date: Sun, 13 Aug 2017 19:33:04 -0400
Subject: Hide passwords manager link
---
.../chrome/browser/preferences/password/SavePasswordsPreferences.java | 4 ++--
.../preferences/password/SavePasswordsPreferences.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
@@ -28,5 +28,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pas
PreferenceCategory profileCategory = new PreferenceCategory(getStyledContext());
profileCategory.setKey(PREF_KEY_CATEGORY_EXCEPTIONS);
--
2.11.0
2.17.1
@@ -19,5 +19,5 @@ diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/j
</LinearLayout>
</LinearLayout>
--
2.11.0
2.17.1
@@ -4,37 +4,27 @@ Subject: Increase number of autocomplete matches from 5 to 10
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
---
components/omnibox/browser/autocomplete_result.cc | 7 ++-----
components/omnibox/browser/autocomplete_result.cc | 3 ++-
components/omnibox/browser/omnibox_field_trial.cc | 3 ++-
2 files changed, 4 insertions(+), 6 deletions(-)
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
@@ -48,17 +48,14 @@ struct MatchGURLHash {
@@ -74,7 +74,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
#if (defined(OS_ANDROID))
- constexpr size_t kDefaultMaxAutocompleteMatches = 5;
+ constexpr size_t kDefaultMaxAutocompleteMatches = 10; // was 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
+ // changed from 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
+ constexpr size_t kDefaultMaxAutocompleteMatches = 10;
if (is_zero_suggest)
return kDefaultMaxAutocompleteMatches;
#else
constexpr size_t kDefaultMaxAutocompleteMatches = 6;
#endif // defined(OS_ANDROID)
- return base::GetFieldTrialParamByFeatureAsInt(
- omnibox::kUIExperimentMaxAutocompleteMatches,
- OmniboxFieldTrial::kUIMaxAutocompleteMatchesParam,
- kDefaultMaxAutocompleteMatches);
+ return kDefaultMaxAutocompleteMatches;
}
AutocompleteResult::AutocompleteResult() {
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -321,7 +321,8 @@ void OmniboxFieldTrial::GetDemotionsByType(
@@ -329,7 +329,8 @@ void OmniboxFieldTrial::GetDemotionsByType(
size_t OmniboxFieldTrial::GetProviderMaxMatches(
AutocompleteProvider::Type provider) {
@@ -45,5 +35,5 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
std::string param_value = base::GetFieldTrialParamValueByFeature(
omnibox::kUIExperimentMaxAutocompleteMatches,
--
2.11.0
2.17.1
File diff suppressed because one or more lines are too long
+29 -29
View File
@@ -4,27 +4,27 @@ Subject: Modify default preferences
Do not hide component extensions
---
chrome/browser/background/background_mode_manager.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 2 +-
chrome/browser/net/prediction_options.cc | 2 +-
chrome/browser/net/prediction_options.h | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
.../settings/reset_page/reset_profile_dialog.html | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
chrome/browser/ui/navigation_correction_tab_observer.cc | 2 +-
.../browser/ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
chrome/service/cloud_print/connector_settings.cc | 2 +-
components/autofill/core/browser/autofill_manager.cc | 14 ++++----------
components/autofill/core/common/autofill_prefs.cc | 2 +-
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
components/safe_browsing/common/safe_browsing_prefs.cc | 4 ++--
extensions/common/extension.cc | 8 --------
.../browser/background/background_mode_manager.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 2 +-
chrome/browser/net/prediction_options.cc | 2 +-
chrome/browser/net/prediction_options.h | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
.../settings/reset_page/reset_profile_dialog.html | 2 +-
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
.../ui/navigation_correction_tab_observer.cc | 2 +-
.../ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
chrome/service/cloud_print/connector_settings.cc | 2 +-
.../autofill/core/browser/autofill_manager.cc | 14 ++++----------
components/autofill/core/common/autofill_prefs.cc | 2 +-
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
.../safe_browsing/common/safe_browsing_prefs.cc | 4 ++--
extensions/common/extension.cc | 8 --------
15 files changed, 19 insertions(+), 37 deletions(-)
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
--- a/chrome/browser/background/background_mode_manager.cc
+++ b/chrome/browser/background/background_mode_manager.cc
@@ -301,7 +301,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -302,7 +302,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
#endif
@@ -36,7 +36,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1150,7 +1150,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1141,7 +1141,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -72,15 +72,15 @@ 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
@@ -140,7 +140,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
@@ -149,7 +149,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
- true,
+ false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
#if defined(OS_ANDROID)
registry->RegisterStringPref(
registry->RegisterBooleanPref(prefs::kSessionExitedCleanly, true);
registry->RegisterStringPref(prefs::kSessionExitType, std::string());
diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
+++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
@@ -96,7 +96,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -66,11 +66,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -67,11 +67,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
@@ -113,7 +113,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/browser/ui/navigation_correction_tab_observer.cc
--- a/chrome/browser/ui/navigation_correction_tab_observer.cc
+++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
@@ -42,7 +42,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {}
@@ -43,7 +43,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {}
// static
void NavigationCorrectionTabObserver::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* prefs) {
@@ -151,7 +151,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
@@ -516,10 +516,7 @@ bool AutofillManager::ShouldParseForms(const std::vector<FormData>& forms,
@@ -529,10 +529,7 @@ bool AutofillManager::ShouldParseForms(const std::vector<FormData>& forms,
bool enabled = IsAutofillEnabled();
sync_state_ = personal_data_ ? personal_data_->GetSyncSigninState()
: AutofillSyncSigninState::kNumSyncStates;
@@ -163,7 +163,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
return enabled;
}
@@ -803,10 +800,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
@@ -818,10 +815,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
// suggestions available.
// TODO(mathp): Differentiate between number of suggestions available
// (current metric) and number shown to the user.
@@ -175,7 +175,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
}
}
@@ -1427,8 +1421,8 @@ void AutofillManager::Reset() {
@@ -1450,8 +1444,8 @@ void AutofillManager::Reset() {
#if defined(OS_ANDROID) || defined(OS_IOS)
autofill_assistant_.Reset();
#endif
@@ -189,7 +189,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) {
@@ -152,7 +152,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@@ -201,7 +201,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
--- a/components/bookmarks/browser/bookmark_utils.cc
+++ b/components/bookmarks/browser/bookmark_utils.cc
@@ -443,12 +443,12 @@ bool DoesBookmarkContainWords(const base::string16& title,
@@ -439,12 +439,12 @@ bool DoesBookmarkContainWords(const base::string16& title,
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kShowBookmarkBar,
@@ -219,7 +219,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar
diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components/safe_browsing/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/common/safe_browsing_prefs.cc
@@ -167,9 +167,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -169,9 +169,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@@ -250,5 +250,5 @@ diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
// show packaged apps and platform apps because there are some pieces of
// functionality that are only available in chrome://extensions/ but which
--
2.11.0
2.17.1
@@ -25,30 +25,30 @@ approach to change color components.
Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data fingerprinting deception
---
chrome/browser/BUILD.gn | 1 +
chrome/browser/about_flags.cc | 13 ++
content/browser/BUILD.gn | 1 +
.../renderer_host/render_process_host_impl.cc | 4 +
content/child/BUILD.gn | 1 +
content/child/runtime_features.cc | 8 ++
.../blink/public/platform/web_runtime_features.h | 3 +
third_party/blink/renderer/core/dom/document.cc | 18 +++
third_party/blink/renderer/core/dom/document.h | 7 +
third_party/blink/renderer/core/dom/element.cc | 8 ++
third_party/blink/renderer/core/dom/range.cc | 12 +-
.../renderer/core/html/canvas/text_metrics.cc | 18 +++
.../blink/renderer/core/html/canvas/text_metrics.h | 2 +
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 8 +-
.../modules/webgl/webgl_debug_renderer_info.cc | 4 +-
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.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 +++
chrome/browser/BUILD.gn | 1 +
chrome/browser/about_flags.cc | 13 ++
content/browser/BUILD.gn | 1 +
.../renderer_host/render_process_host_impl.cc | 4 +
content/child/BUILD.gn | 1 +
content/child/runtime_features.cc | 8 +
.../public/platform/web_runtime_features.h | 3 +
.../blink/renderer/core/dom/document.cc | 18 ++
.../blink/renderer/core/dom/document.h | 7 +
.../blink/renderer/core/dom/element.cc | 8 +
third_party/blink/renderer/core/dom/range.cc | 12 +-
.../renderer/core/html/canvas/text_metrics.cc | 18 ++
.../renderer/core/html/canvas/text_metrics.h | 2 +
.../canvas2d/canvas_rendering_context_2d.cc | 8 +-
.../webgl/webgl_debug_renderer_info.cc | 4 +-
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.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 ++
24 files changed, 343 insertions(+), 5 deletions(-)
create mode 100644 third_party/ungoogled/BUILD.gn
create mode 100644 third_party/ungoogled/ungoogled_switches.cc
@@ -57,7 +57,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
@@ -2200,6 +2200,7 @@ jumbo_split_static_library("browser") {
@@ -2144,6 +2144,7 @@ jumbo_static_library("browser") {
"//third_party/metrics_proto",
"//third_party/re2",
"//third_party/smhasher:cityhash",
@@ -69,14 +69,14 @@ 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
@@ -147,6 +147,7 @@
#include "third_party/blink/public/common/experiments/memory_ablation_experiment.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/forcedark/forcedark_switches.h"
#include "third_party/leveldatabase/leveldb_features.h"
+#include "third_party/ungoogled/ungoogled_switches.h"
#include "third_party/leveldatabase/leveldb_features.h"
#include "ui/accessibility/accessibility_features.h"
#include "ui/accessibility/accessibility_switches.h"
#include "ui/base/ui_base_features.h"
#include "ui/base/ui_base_switches.h"
@@ -1405,12 +1406,24 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1466,12 +1467,24 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
@@ -115,7 +115,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
@@ -213,6 +213,7 @@
@@ -220,6 +220,7 @@
#include "third_party/blink/public/common/page/launching_process_state.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
#include "third_party/blink/public/public_buildflags.h"
@@ -123,22 +123,22 @@ 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"
@@ -2970,6 +2971,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kEnableWebGLSwapChain,
switches::kEnableWebVR,
switches::kFileUrlPathAlias,
@@ -2977,6 +2978,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisablePreferCompositingToLCDText,
switches::kDisableDatabases,
switches::kDisableFileSystem,
+ switches::kFingerprintingClientRectsNoise,
+ switches::kFingerprintingCanvasMeasureTextNoise,
+ switches::kFingerprintingCanvasImageDataNoise,
switches::kForceDisplayColorProfile,
switches::kForceDeviceScaleFactor,
switches::kForceGpuMemAvailableMb,
switches::kDisableFrameRateLimit,
switches::kDisableGpuMemoryBufferVideoFrames,
switches::kDisableImageAnimationResync,
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
@@ -120,6 +120,7 @@ target(link_target_type, "child") {
"//third_party/blink/public:scaled_resources",
@@ -123,6 +123,7 @@ target(link_target_type, "child") {
"//third_party/blink/public/common",
"//third_party/blink/public/strings",
"//third_party/ced",
+ "//third_party/ungoogled:switches",
"//third_party/zlib/google:compression_utils",
@@ -149,15 +149,15 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
+++ b/content/child/runtime_features.cc
@@ -23,6 +23,7 @@
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/web_runtime_features.h"
+#include "third_party/ungoogled/ungoogled_switches.h"
#include "third_party/blink/public/platform/web_runtime_features.h"
#include "ui/accessibility/accessibility_features.h"
#include "ui/base/ui_base_features.h"
#include "ui/events/blink/blink_features.h"
#include "ui/gfx/switches.h"
@@ -461,6 +462,13 @@ void SetIndividualRuntimeFeatures(
WebRuntimeFeatures::EnableAllowSyncXHRInPageDismissal(true);
}
@@ -513,6 +514,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
if (ui::IsOverlayScrollbarEnabled())
WebRuntimeFeatures::EnableOverlayScrollbars(true);
+ WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(
+ !command_line.HasSwitch(switches::kFingerprintingClientRectsNoise));
@@ -166,13 +166,13 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
+ WebRuntimeFeatures::EnableFingerprintingCanvasImageDataNoise(
+ !command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise));
+
WebRuntimeFeatures::EnableAutoplayIgnoresWebAudio(
base::FeatureList::IsEnabled(media::kAutoplayIgnoreWebAudio));
WebRuntimeFeatures::EnableFormControlsRefresh(
features::IsFormControlsRefreshEnabled());
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
@@ -228,6 +228,9 @@ class WebRuntimeFeatures {
@@ -229,6 +229,9 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableMergeBlockingNonBlockingPools(bool);
BLINK_PLATFORM_EXPORT static void EnableGetDisplayMedia(bool);
BLINK_PLATFORM_EXPORT static void EnableAllowSyncXHRInPageDismissal(bool);
@@ -193,9 +193,9 @@ 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"
@@ -1199,6 +1200,15 @@ Document::Document(const DocumentInit& initializer,
#ifndef NDEBUG
liveDocumentSet().insert(this);
@@ -2794,6 +2795,23 @@ void Document::UpdateStyleAndLayoutTree() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this);
#endif
+
+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) {
@@ -206,28 +206,21 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ noise_factor_x_ = 1;
+ noise_factor_y_ = 1;
+ }
}
Document::~Document() {
@@ -1227,6 +1237,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
Position::BeforeNode(*shadow_host));
}
+}
+
+double Document::GetNoiseFactorX() {
+ return noise_factor_x_;
+}
+
+double Document::GetNoiseFactorY() {
+ return noise_factor_y_;
+}
+
SelectorQueryCache& Document::GetSelectorQueryCache() {
if (!selector_query_cache_)
selector_query_cache_ = std::make_unique<SelectorQueryCache>();
}
void Document::UpdateActiveStyle() {
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
@@ -408,6 +408,10 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -414,6 +414,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@@ -238,7 +231,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
String visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
@@ -1905,6 +1909,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1936,6 +1940,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@@ -251,7 +244,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
@@ -1630,6 +1630,11 @@ DOMRectList* Element::getClientRects() {
@@ -1877,6 +1877,11 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@@ -263,7 +256,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return DOMRectList::Create(quads);
}
@@ -1647,6 +1652,9 @@ DOMRect* Element::getBoundingClientRect() {
@@ -1894,6 +1899,9 @@ DOMRect* Element::getBoundingClientRect() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@@ -342,7 +335,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
@@ -811,9 +811,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
@@ -818,9 +818,15 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
else
direction = ToTextDirection(GetState().GetDirection(), canvas());
@@ -379,7 +372,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1417,7 +1417,9 @@ jumbo_component("platform") {
@@ -1454,7 +1454,9 @@ jumbo_component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -390,18 +383,18 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
public_deps = [
":blink_platform_public_deps",
@@ -1450,6 +1452,7 @@ jumbo_component("platform") {
@@ -1487,6 +1489,7 @@ jumbo_component("platform") {
"//third_party/blink/public/common",
"//third_party/blink/public/mojom:embedded_frame_sink_mojo_bindings_blink",
"//third_party/ced",
+ "//third_party/ungoogled:switches",
"//third_party/emoji-segmenter",
"//third_party/icu",
+ "//third_party/ungoogled:switches",
"//third_party/webrtc/api:libjingle_logging_api",
"//third_party/webrtc/api/audio_codecs/L16:audio_decoder_L16",
"//third_party/webrtc/api/audio_codecs/L16:audio_encoder_L16",
"//third_party/libyuv",
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -722,4 +722,16 @@ void WebRuntimeFeatures::EnableAcceleratedSmallCanvases(bool enable) {
@@ -704,4 +704,16 @@ void WebRuntimeFeatures::EnableAcceleratedSmallCanvases(bool enable) {
RuntimeEnabledFeatures::SetAcceleratedSmallCanvasesEnabled(enable);
}
@@ -469,7 +462,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
#include "v8/include/v8.h"
namespace blink {
@@ -154,10 +158,165 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
@@ -141,10 +145,165 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
DCHECK(read_pixels_successful ||
!sk_image->bounds().intersect(SkIRect::MakeXYWH(
rect.X(), rect.Y(), info.width(), info.height())));
@@ -638,8 +631,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
@@ -46,6 +46,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
static scoped_refptr<StaticBitmapImage> Create(WTF::ArrayBufferContents&,
@@ -44,6 +44,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
static scoped_refptr<StaticBitmapImage> Create(sk_sp<SkData> data,
const SkImageInfo&);
+ static void ShuffleSubchannelColorData(const void *addr, const SkImageInfo& info, int srcX, int srcY);
@@ -650,9 +643,9 @@ 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
@@ -677,6 +677,15 @@
name: "FileSystem",
status: "stable",
@@ -683,6 +683,15 @@
name: "FetchMetadataDestination",
status: "experimental"
},
+ {
+ name: "FingerprintingClientRectsNoise",
@@ -663,9 +656,9 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ {
+ name: "FingerprintingCanvasImageDataNoise",
+ },
// FirstContentfulPaintPlusPlus enables the Largest Text Paint metric, Last
// Text Paint metric, Largest Image Paint metric and Last Image Paint
// metric. See also: http://bit.ly/fcp_plus_plus
{
name: "FileHandling",
// NativeFileSystem is in Origin Trial, which doesn't support having
diff --git a/third_party/ungoogled/BUILD.gn b/third_party/ungoogled/BUILD.gn
new file mode 100644
--- /dev/null
@@ -728,5 +721,5 @@ new file mode 100644
+
+#endif // THIRD_PARTY_UNGOOGLED_FINGERPRINTING_SWITCHES_H_
--
2.11.0
2.17.1
@@ -23,5 +23,5 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p
prefs_->GetInt64(prefs::kPopularSitesLastDownloadPref));
const base::TimeDelta time_since_last_download =
--
2.11.0
2.17.1
@@ -20,5 +20,5 @@ diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/t
progress_callback_ = progress_callback;
--
2.11.0
2.17.1
@@ -3,21 +3,21 @@ Date: Sun, 28 Oct 2018 14:11:50 +0100
Subject: Offer builtin autocomplete for chrome://flags
---
chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc | 2 ++
.../browser/autocomplete/chrome_autocomplete_provider_client.cc | 2 ++
1 file changed, 2 insertions(+)
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
@@ -255,6 +255,8 @@ std::vector<base::string16>
@@ -254,6 +254,8 @@ std::vector<base::string16> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
std::vector<base::string16>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<base::string16> builtins_to_provide;
builtins_to_provide.push_back(
+ base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
+ builtins_to_provide.push_back(
+ base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
#if !defined(OS_ANDROID)
builtins_to_provide.push_back(
--
2.11.0
2.17.1
@@ -3,26 +3,34 @@ Date: Thu, 11 Jan 2018 13:27:34 +0200
Subject: Open YouTube links in Bromite
---
.../chrome/browser/externalnav/ExternalNavigationHandler.java | 7 +++++++
1 file changed, 7 insertions(+)
.../browser/externalnav/ExternalNavigationHandler.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -402,6 +402,13 @@ public class ExternalNavigationHandler {
@@ -402,6 +402,7 @@ public class ExternalNavigationHandler {
Uri.parse(WebView.SCHEME_TEL
+ params.getUrl().substring(WTAI_MC_URL_PREFIX.length()))),
false);
+
if (DEBUG) Log.i(TAG, "wtai:// link handled");
RecordUserAction.record("Android.PhoneIntent");
return true;
@@ -745,6 +746,13 @@ public class ExternalNavigationHandler {
return OverrideUrlLoadingResult.OVERRIDE_WITH_ASYNC_ACTION;
}
// TODO(changwan): check if we need to handle URL even when external intent is off.
+ // Force to open YouTube urls in Bromite
+ String intentPackageName = intent.getPackage();
+ // force to open YouTube urls in Bromite
+ String intentPackageName = targetIntent.getPackage();
+ if (intentPackageName != null && intentPackageName.equals("com.google.android.youtube")) {
+ if (DEBUG) Log.i(TAG, "NO_OVERRIDE: YouTube URL for YouTube app");
+ return OverrideUrlLoadingResult.NO_OVERRIDE;
+ }
+
if (CommandLine.getInstance().hasSwitch(
ChromeSwitches.DISABLE_EXTERNAL_INTENT_REQUESTS)) {
Log.w(TAG, "External intent handling is disabled by a command-line flag.");
// This should come after file intents, but before any returns of
// OVERRIDE_WITH_EXTERNAL_INTENT.
if (externalIntentRequestsDisabled()) return OverrideUrlLoadingResult.NO_OVERRIDE;
--
2.11.0
2.17.1
@@ -1,24 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 2 Apr 2018 11:36:02 +0200
Subject: Punt the Widevine version string
Originally from http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromium-browser.wily.beta/view/head:/debian/patches/fix_building_widevinecdm_with_chromium.patch
---
chrome/common/chrome_content_client.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
--- a/chrome/common/chrome_content_client.cc
+++ b/chrome/common/chrome_content_client.cc
@@ -517,7 +517,7 @@ void ChromeContentClient::AddContentDecryptionModules(
base::FilePath cdm_path;
content::CdmCapability capability;
if (IsWidevineAvailable(&cdm_path, &capability)) {
- const base::Version version(WIDEVINE_CDM_VERSION_STRING);
+ const base::Version version("1.0.123.456");
DCHECK(version.IsValid());
cdms->push_back(
--
2.11.0
@@ -0,0 +1,102 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 28 Apr 2018 08:30:26 +0200
Subject: Reduce HTTP headers in DoH requests to bare minimum
Serve DoH requests with maximum priority.
---
net/base/load_flags_list.h | 6 ++++++
net/dns/dns_transaction.cc | 3 ++-
net/url_request/url_request_http_job.cc | 16 +++++++++++-----
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
--- a/net/base/load_flags_list.h
+++ b/net/base/load_flags_list.h
@@ -106,6 +106,12 @@ LOAD_FLAG(SUPPORT_ASYNC_REVALIDATION, 1 << 16)
// the LOAD_CAN_USE_RESTRICTED_PREFETCH load flag.
LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 17)
+// This load will not send Accept-Language or User-Agent headers, and not
+// advertise brotli encoding.
+// Used to comply with IETF (draft) DNS-over-HTTPS:
+// "Implementors SHOULD NOT set non-essential HTTP headers in DoH client requests."
+LOAD_FLAG(MINIMAL_HEADERS, 1 << 18)
+
// This flag must be set on requests that are allowed to reuse cache entries
// that are marked as RESTRICTED_PREFETCH. Requests without this flag cannot
// reuse restricted prefetch responses in the cache. Restricted response reuse
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -403,6 +403,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
// perspective to prevent the client from sending AIA requests).
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
LOAD_BYPASS_PROXY |
+ LOAD_IGNORE_LIMITS | LOAD_MINIMAL_HEADERS |
LOAD_DISABLE_CERT_NETWORK_FETCHES);
request_->set_allow_credentials(false);
}
@@ -1004,7 +1005,7 @@ class DnsTransactionImpl : public DnsTransaction,
had_tcp_attempt_(false),
first_server_index_(0),
url_request_context_(url_request_context),
- request_priority_(DEFAULT_PRIORITY) {
+ request_priority_(MAXIMUM_PRIORITY) {
DCHECK(session_.get());
DCHECK(!hostname_.empty());
DCHECK(!callback_.is_null());
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
@@ -354,6 +354,7 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
// Our consumer should have made sure that this is a safe referrer. See for
// instance WebCore::FrameLoader::HideReferrer.
if (referrer.is_valid()) {
@@ -369,11 +370,14 @@ void URLRequestHttpJob::Start() {
request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
referer_value);
}
+ }
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
request_info_.extra_headers.SetHeaderIfMissing(
HttpRequestHeaders::kUserAgent,
http_user_agent_settings_ ?
http_user_agent_settings_->GetUserAgent() : std::string());
+ }
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -588,10 +592,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
} else {
// Advertise "br" encoding only if transferred data is opaque to proxy.
bool advertise_brotli = false;
- if (request()->context()->enable_brotli()) {
- if (request()->url().SchemeIsCryptographic() ||
- IsLocalhost(request()->url())) {
- advertise_brotli = true;
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
+ if (request()->context()->enable_brotli()) {
+ if (request()->url().SchemeIsCryptographic() ||
+ IsLocalhost(request()->url())) {
+ advertise_brotli = true;
+ }
}
}
@@ -609,7 +615,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
}
}
- if (http_user_agent_settings_) {
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS) && http_user_agent_settings_) {
// Only add default Accept-Language if the request didn't have it
// specified.
std::string accept_language =
--
2.17.1
+1 -1
View File
@@ -97,5 +97,5 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
// RegisterOID registers |policy|, a policy OID in dotted string form, and
--
2.11.0
2.17.1
+4 -4
View File
@@ -3,15 +3,15 @@ Date: Sun, 3 Nov 2019 08:22:29 +0100
Subject: Remove SMS integration
---
content/public/android/BUILD.gn | 2 -
.../org/chromium/content/browser/sms/Wrappers.java | 74 ----------------------
content/public/android/BUILD.gn | 2 -
.../content/browser/sms/Wrappers.java | 74 -------------------
2 files changed, 76 deletions(-)
delete mode 100644 content/public/android/java/src/org/chromium/content/browser/sms/Wrappers.java
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
@@ -231,8 +231,6 @@ android_library("content_java") {
@@ -232,8 +232,6 @@ android_library("content_java") {
"java/src/org/chromium/content/browser/selection/SmartSelectionClient.java",
"java/src/org/chromium/content/browser/selection/SmartSelectionMetricsLogger.java",
"java/src/org/chromium/content/browser/selection/SmartSelectionProvider.java",
@@ -100,5 +100,5 @@ deleted file mode 100644
- }
-}
--
2.11.0
2.17.1
@@ -3,8 +3,8 @@ Date: Wed, 22 Mar 2017 19:10:30 -0400
Subject: Remove background sync and translate menu options
---
chrome/android/java/res/xml/site_settings_preferences.xml | 4 ----
.../chrome/browser/preferences/website/SiteSettingsPreferences.java | 3 +--
chrome/android/java/res/xml/site_settings_preferences.xml | 4 ----
.../browser/preferences/website/SiteSettingsPreferences.java | 3 +--
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/android/java/res/xml/site_settings_preferences.xml
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
@@ -73,7 +73,7 @@ public class SiteSettingsPreferences
@@ -72,7 +72,7 @@ public class SiteSettingsPreferences
// The Media sub-menu only contains Protected Content and Autoplay, so remove all other
// menus.
for (@Type int i = 0; i < Type.NUM_ENTRIES; i++) {
@@ -33,14 +33,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
getPreferenceScreen().removePreference(findPreference(i));
}
getPreferenceScreen().removePreference(findPreference(MEDIA_KEY));
@@ -111,7 +111,6 @@ public class SiteSettingsPreferences
@@ -106,7 +106,6 @@ public class SiteSettingsPreferences
websitePrefs.add(Type.ADS);
}
websitePrefs.add(Type.AUTOMATIC_DOWNLOADS);
- websitePrefs.add(Type.BACKGROUND_SYNC);
CommandLine commandLine = CommandLine.getInstance();
if (commandLine.hasSwitch(ContentSwitches.ENABLE_WEB_BLUETOOTH_SCANNING)) {
if (commandLine.hasSwitch(ContentSwitches.ENABLE_EXPERIMENTAL_WEB_PLATFORM_FEATURES)) {
websitePrefs.add(Type.BLUETOOTH_SCANNING);
--
2.11.0
2.17.1
@@ -3,10 +3,10 @@ Date: Sat, 2 Nov 2019 09:29:52 +0100
Subject: Remove dependency on com.google.android.gcm
---
third_party/android_sdk/BUILD.gn | 3 --
.../external/client/android2/AndroidManifest.xml | 35 ----------------------
.../channel/AndroidMessageReceiverService.java | 17 -----------
.../channel/AndroidMessageSenderService.java | 3 +-
third_party/android_sdk/BUILD.gn | 3 --
.../client/android2/AndroidManifest.xml | 35 -------------------
.../AndroidMessageReceiverService.java | 17 ---------
.../channel/AndroidMessageSenderService.java | 3 +-
4 files changed, 1 insertion(+), 57 deletions(-)
diff --git a/third_party/android_sdk/BUILD.gn b/third_party/android_sdk/BUILD.gn
@@ -128,5 +128,5 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
// GCMRegistrar#getRegistrationId occasionally throws a runtime exception. Catching the
// exception rather than crashing.
--
2.11.0
2.17.1
@@ -3,20 +3,20 @@ Date: Sat, 2 Nov 2019 09:22:31 +0100
Subject: Remove dependency on com.google.android.gms.auth
---
chrome/android/BUILD.gn | 1 -
components/signin/core/browser/android/BUILD.gn | 1 -
.../components/signin/AccountIdProvider.java | 10 +----
.../signin/SystemAccountManagerDelegate.java | 15 +-------
content/public/android/BUILD.gn | 1 -
content/test/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 44 ----------------------
third_party/robolectric/BUILD.gn | 1 -
chrome/android/BUILD.gn | 1 -
.../signin/core/browser/android/BUILD.gn | 1 -
.../components/signin/AccountIdProvider.java | 10 +----
.../signin/SystemAccountManagerDelegate.java | 15 +------
content/public/android/BUILD.gn | 1 -
content/test/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 44 -------------------
third_party/robolectric/BUILD.gn | 1 -
8 files changed, 2 insertions(+), 72 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -267,7 +267,6 @@ android_library("chrome_java") {
@@ -258,7 +258,6 @@ android_library("chrome_java") {
":thumbnail_cache_entry_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@@ -27,7 +27,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -15,7 +15,6 @@ generate_jni("jni_headers") {
@@ -16,7 +16,6 @@ generate_jni("jni_headers") {
android_library("java") {
deps = [
@@ -108,7 +108,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
@@ -2442,7 +2442,6 @@ if (is_android) {
@@ -2444,7 +2444,6 @@ if (is_android) {
testonly = true
java_files = content_java_sources_needing_jni
deps = [
@@ -119,10 +119,11 @@ 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
@@ -772,50 +772,6 @@ android_aar_prebuilt("com_android_support_viewpager_java") {
@@ -802,50 +802,6 @@ android_aar_prebuilt("com_android_support_viewpager_java") {
]
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_auth_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-15.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info"
@@ -166,10 +167,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- strip_drawables = true
-}
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_base_java") {
aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-15.0.1.aar"
info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
--- a/third_party/robolectric/BUILD.gn
+++ b/third_party/robolectric/BUILD.gn
@@ -182,5 +182,5 @@ diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
"$google_play_services_package:google_play_services_basement_java",
"//third_party/android_deps:android_support_v4_java",
--
2.11.0
2.17.1
@@ -3,33 +3,33 @@ Date: Sat, 2 Nov 2019 08:00:04 +0100
Subject: Remove dependency on com.google.android.gms.cast
---
chrome/android/BUILD.gn | 6 --
chrome/android/features/media_router/BUILD.gn | 2 -
.../browser/media/router/CastSessionUtil.java | 35 -------
.../chrome/browser/media/router/MediaSink.java | 44 +-------
.../browser/media/router/MediaStatusBridge.java | 40 ++-----
.../router/caf/BaseNotificationController.java | 46 ---------
.../media/router/caf/BaseSessionController.java | 115 +--------------------
.../router/caf/CafBaseMediaRouteProvider.java | 103 +-----------------
.../media/router/caf/CafMediaRouteProvider.java | 16 ---
.../media/router/caf/CafMessageHandler.java | 97 +----------------
.../browser/media/router/caf/CastMediaSource.java | 10 +-
.../media/router/caf/CastOptionsProvider.java | 22 +---
.../media/router/caf/CastSessionController.java | 84 ---------------
.../chrome/browser/media/router/caf/CastUtils.java | 6 --
.../remoting/CafExpandedControllerActivity.java | 24 +----
.../caf/remoting/FlingingControllerAdapter.java | 61 -----------
.../router/caf/remoting/RemotingMediaSource.java | 8 +-
.../caf/remoting/RemotingSessionController.java | 21 ----
chrome/android/java/AndroidManifest.xml | 28 -----
chrome/test/android/cast_emulator/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 32 ------
21 files changed, 26 insertions(+), 775 deletions(-)
chrome/android/BUILD.gn | 6 -
chrome/android/features/media_router/BUILD.gn | 2 -
.../browser/media/router/CastSessionUtil.java | 35 ------
.../browser/media/router/MediaSink.java | 44 +------
.../media/router/MediaStatusBridge.java | 40 ++----
.../caf/BaseNotificationController.java | 46 -------
.../router/caf/BaseSessionController.java | 118 +-----------------
.../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 -
.../CafExpandedControllerActivity.java | 24 +---
.../remoting/FlingingControllerAdapter.java | 61 ---------
.../caf/remoting/RemotingMediaSource.java | 8 +-
.../remoting/RemotingSessionController.java | 21 ----
chrome/android/java/AndroidManifest.xml | 28 -----
chrome/test/android/cast_emulator/BUILD.gn | 1 -
third_party/android_deps/BUILD.gn | 33 -----
21 files changed, 27 insertions(+), 778 deletions(-)
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") {
@@ -260,8 +260,6 @@ android_library("chrome_java") {
":usage_stats_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
@@ -689,8 +687,6 @@ junit_binary("chrome_junit_tests") {
@@ -654,8 +652,6 @@ junit_binary("chrome_junit_tests") {
":partner_location_descriptor_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@@ -47,7 +47,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -790,8 +786,6 @@ android_library("chrome_test_java") {
@@ -759,8 +755,6 @@ android_library("chrome_test_java") {
":partner_location_descriptor_proto_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@@ -121,9 +121,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/MediaSink.java
@@ -8,41 +8,24 @@ import android.support.annotation.Nullable;
import android.support.v7.media.MediaRouter;
import android.support.v7.media.MediaRouter.RouteInfo;
@@ -9,41 +9,24 @@ import android.support.v7.media.MediaRouter.RouteInfo;
import androidx.annotation.Nullable;
-import com.google.android.gms.cast.CastDevice;
-
@@ -165,7 +165,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/**
@@ -52,17 +35,8 @@ public class MediaSink {
@@ -53,17 +36,8 @@ public class MediaSink {
return CAST_SINK_URN_PREFIX + getId();
}
@@ -183,7 +183,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
return false;
}
@@ -70,23 +44,15 @@ public class MediaSink {
@@ -71,23 +45,15 @@ public class MediaSink {
public int hashCode() {
final int prime = 31;
int result = 1;
@@ -208,7 +208,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/**
@@ -97,10 +63,6 @@ public class MediaSink {
@@ -98,10 +64,6 @@ public class MediaSink {
*/
@Nullable
public static MediaSink fromSinkId(String sinkId, MediaRouter router) {
@@ -437,9 +437,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/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,6 @@ package org.chromium.chrome.browser.media.router.caf;
@@ -6,18 +6,11 @@ package org.chromium.chrome.browser.media.router.caf;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.framework.CastSession;
@@ -450,7 +450,13 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -52,16 +46,13 @@ public abstract class BaseSessionController {
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;
@@ -50,17 +43,14 @@ public abstract class BaseSessionController {
}
private final Random mRequestIdGenerator = new Random();
@@ -459,15 +465,17 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
private final CafBaseMediaRouteProvider mProvider;
private CreateRouteRequestInfo mRouteCreationInfo;
- private final RemoteMediaClient.Callback mRemoteMediaClientCallback;
private final List<WeakReference<Callback>> mCallbacks = new ArrayList<>();
private final List<Callback> mCallbacks = new ArrayList<>();
public BaseSessionController(CafBaseMediaRouteProvider provider) {
mProvider = provider;
- mRemoteMediaClientCallback = new RemoteMediaClientCallback();
}
- }
+ }
public void addCallback(Callback callback) {
@@ -80,9 +71,6 @@ public abstract class BaseSessionController {
mCallbacks.add(callback);
@@ -72,9 +62,6 @@ public abstract class BaseSessionController {
public void requestSessionLaunch() {
mRouteCreationInfo = mProvider.getPendingCreateRouteRequestInfo();
@@ -477,7 +485,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
// When the user clicks a route on the MediaRouteChooserDialog, we intercept the click event
// and do not select the route. Instead the route selection is postponed to here. This will
// trigger CAF to launch the session.
@@ -101,60 +89,18 @@ public abstract class BaseSessionController {
@@ -93,60 +80,18 @@ public abstract class BaseSessionController {
return mRouteCreationInfo;
}
@@ -539,7 +547,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
private void updateMediaSessionId(String message) {
@@ -179,29 +125,6 @@ public abstract class BaseSessionController {
@@ -171,29 +116,6 @@ public abstract class BaseSessionController {
private void updateRemoteMediaClient(String message) {
if (!isConnected()) return;
@@ -569,7 +577,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/** Called when session started. */
@@ -218,40 +141,6 @@ public abstract class BaseSessionController {
@@ -210,40 +132,6 @@ public abstract class BaseSessionController {
return mProvider;
}
@@ -610,7 +618,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
@Nullable
public FlingingController getFlingingController() {
return null;
@@ -262,7 +151,7 @@ public abstract class BaseSessionController {
@@ -254,7 +142,7 @@ public abstract class BaseSessionController {
* {@link CastSession#getSessionId()} is final.
*/
public String getSessionId() {
@@ -622,9 +630,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/CafBaseMediaRouteProvider.java
@@ -11,9 +11,6 @@ import android.support.v7.media.MediaRouteSelector;
import android.support.v7.media.MediaRouter;
import android.support.v7.media.MediaRouter.RouteInfo;
@@ -12,9 +12,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.cast.framework.CastSession;
-import com.google.android.gms.cast.framework.SessionManagerListener;
@@ -632,7 +640,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.DiscoveryCallback;
import org.chromium.chrome.browser.media.router.DiscoveryDelegate;
@@ -36,7 +33,7 @@ import java.util.Set;
@@ -37,7 +34,7 @@ import java.util.Set;
* A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
*/
public abstract class CafBaseMediaRouteProvider
@@ -641,7 +649,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();
@@ -153,7 +150,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -154,7 +151,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();
@@ -649,7 +657,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
if (mPendingCreateRouteRequestInfo != null) {
cancelPendingRequest("Request replaced");
@@ -182,9 +178,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -183,9 +179,6 @@ public abstract class CafBaseMediaRouteProvider
mManager.onRouteRequestError("The sink does not exist", nativeRequestId);
}
@@ -659,7 +667,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
origin, tabId, isIncognito, nativeRequestId, targetRouteInfo);
@@ -211,100 +204,6 @@ public abstract class CafBaseMediaRouteProvider
@@ -212,100 +205,6 @@ public abstract class CafBaseMediaRouteProvider
removeRoute(routeId, /* error= */ null);
}
@@ -763,9 +771,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/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
@@ -11,8 +11,6 @@ import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.support.v7.media.MediaRouter;
@@ -12,8 +12,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.cast.framework.CastSession;
-
@@ -773,9 +781,10 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.chromium.chrome.browser.media.router.ChromeMediaRouter;
import org.chromium.chrome.browser.media.router.ClientRecord;
@@ -148,20 +146,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
return mMessageHandler;
}
@Override
- @Override
- protected void handleSessionStart(CastSession session, String sessionId) {
- super.handleSessionStart(session, sessionId);
-
@@ -789,10 +798,9 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
- sessionController().getSession().getRemoteMediaClient().requestStatus();
- }
-
- @Override
@Override
protected void addRoute(
MediaRoute route, String origin, int tabId, int nativeRequestId, boolean wasLaunched) {
super.addRoute(route, origin, tabId, nativeRequestId, 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
@@ -941,16 +949,16 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/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
@@ -8,8 +8,6 @@ import android.net.Uri;
import android.support.annotation.Nullable;
import android.support.v7.media.MediaRouteSelector;
@@ -9,8 +9,6 @@ import android.support.v7.media.MediaRouteSelector;
import androidx.annotation.Nullable;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
import org.chromium.chrome.browser.media.router.MediaSource;
import java.util.Arrays;
@@ -105,13 +103,7 @@ public class CastMediaSource implements MediaSource {
@@ -106,13 +104,7 @@ public class CastMediaSource implements MediaSource {
*/
@Override
public MediaRouteSelector buildRouteSelector() {
@@ -1002,8 +1010,8 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/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;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.cast.ApplicationMetadata;
-import com.google.android.gms.cast.Cast;
@@ -1204,7 +1212,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
return flags;
}
};
@@ -173,20 +161,10 @@ public class CafExpandedControllerActivity
@@ -179,20 +167,10 @@ public class CafExpandedControllerActivity
private void updateUi() {
if (!mSessionController.isConnected()) return;
@@ -1339,16 +1347,16 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/caf/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
@@ -11,8 +11,6 @@ import android.support.annotation.Nullable;
import android.support.v7.media.MediaRouteSelector;
import android.util.Base64;
@@ -12,8 +12,6 @@ import android.util.Base64;
import androidx.annotation.Nullable;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.MediaSource;
@@ -78,9 +76,7 @@ public class RemotingMediaSource implements MediaSource {
@@ -79,9 +77,7 @@ public class RemotingMediaSource implements MediaSource {
*/
@Override
public MediaRouteSelector buildRouteSelector() {
@@ -1359,7 +1367,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
}
/**
@@ -107,7 +103,7 @@ public class RemotingMediaSource implements MediaSource {
@@ -108,7 +104,7 @@ public class RemotingMediaSource implements MediaSource {
sApplicationId = (customAppId != null && !customAppId.isEmpty())
? customAppId
@@ -1380,10 +1388,11 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.chromium.base.Log;
import org.chromium.chrome.browser.media.router.CastSessionUtil;
import org.chromium.chrome.browser.media.router.caf.BaseNotificationController;
@@ -34,19 +32,6 @@ public class RemotingSessionController extends BaseSessionController {
@@ -33,19 +31,6 @@ public class RemotingSessionController extends BaseSessionController {
sInstance = new WeakReference<>(this);
}
@Override
- @Override
- public void attachToCastSession(CastSession session) {
- super.attachToCastSession(session);
-
@@ -1396,27 +1405,26 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
- }
- }
-
- @Override
@Override
public void onSessionStarted() {
super.onSessionStarted();
RemotingMediaSource source = (RemotingMediaSource) getSource();
@@ -54,12 +39,6 @@ public class RemotingSessionController extends BaseSessionController {
@@ -53,12 +38,6 @@ public class RemotingSessionController extends BaseSessionController {
mFlingingControllerAdapter = new FlingingControllerAdapter(this, source.getMediaUrl());
}
@Override
- @Override
- protected void onStatusUpdated() {
- mFlingingControllerAdapter.onStatusUpdated();
- super.onStatusUpdated();
- }
-
- @Override
@Override
public FlingingControllerAdapter getFlingingController() {
return mFlingingControllerAdapter;
}
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
@@ -184,12 +184,6 @@ by a child template that "extends" this file.
@@ -180,12 +180,6 @@ by a child template that "extends" this file.
android:theme="@android:style/Theme.Material.Light.Dialog.Alert" />
{% endif %}
@@ -1429,7 +1437,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Note: All activities directly or indirectly derived from ChromeActivity
must specify android:hardwareAccelerated="false".
@@ -832,16 +826,6 @@ by a child template that "extends" this file.
@@ -783,16 +777,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@@ -1446,7 +1454,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- This activity is used to restart the main Chrome process. Should never be exported. -->
<activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
android:launchMode="singleInstance"
@@ -1253,18 +1237,6 @@ android:value="true" />
@@ -1195,18 +1179,6 @@ android:value="true" />
{% endif %}
{% block extra_application_definitions %}
@@ -1479,10 +1487,11 @@ diff --git a/chrome/test/android/cast_emulator/BUILD.gn b/chrome/test/android/ca
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
@@ -798,38 +798,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
@@ -828,39 +828,6 @@ android_aar_prebuilt("google_play_services_basement_java") {
input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_cast_java") {
- aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-16.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info"
@@ -1511,13 +1520,13 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- ]
-
- # Removing all resources from cast framework as they are unused bloat.
- strip_resources = true
- # Can only safely remove them when R8 will strip the path that accesses them.
- strip_resources = !is_java_debug
-}
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_tasks_java") {
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-15.0.1.aar"
info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
--
2.11.0
2.17.1
@@ -5,39 +5,39 @@ Subject: Remove dependency on
com.google.android.gms.tasks
---
chrome/android/BUILD.gn | 8 ---
chrome/android/features/media_router/BUILD.gn | 2 -
.../browser/media/router/ChromeMediaRouter.java | 7 +-
chrome/android/java/AndroidManifest.xml | 9 ---
.../src/org/chromium/chrome/browser/AppHooks.java | 14 +---
.../chromium/chrome/browser/ChromeVersionInfo.java | 12 +---
.../browser/component_updater/UpdateScheduler.java | 3 -
.../browser/externalauth/ExternalAuthUtils.java | 14 ++--
.../externalauth/UserRecoverableErrorHandler.java | 7 --
.../browser/gcore/ChromeGoogleApiClientImpl.java | 25 +------
.../browser/gcore/GoogleApiClientHelper.java | 82 +---------------------
.../chrome/browser/omaha/UpdateStatusProvider.java | 10 +--
.../browser/preferences/PreferencesLauncher.java | 5 +-
chrome/test/android/BUILD.gn | 2 -
components/background_task_scheduler/BUILD.gn | 10 ---
components/signin/core/browser/android/BUILD.gn | 2 -
.../signin/GmsAvailabilityException.java | 4 +-
content/public/android/BUILD.gn | 3 -
content/test/BUILD.gn | 3 -
device/BUILD.gn | 2 -
remoting/android/client_java_tmpl.gni | 3 -
services/BUILD.gn | 4 --
services/device/geolocation/BUILD.gn | 2 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 38 ----------
third_party/cacheinvalidation/BUILD.gn | 1 -
third_party/robolectric/BUILD.gn | 2 -
27 files changed, 16 insertions(+), 260 deletions(-)
chrome/android/BUILD.gn | 8 --
chrome/android/features/media_router/BUILD.gn | 2 -
.../media/router/ChromeMediaRouter.java | 7 +-
chrome/android/java/AndroidManifest.xml | 9 --
.../org/chromium/chrome/browser/AppHooks.java | 14 +---
.../chrome/browser/ChromeVersionInfo.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 +--
.../preferences/PreferencesLauncher.java | 20 +----
chrome/test/android/BUILD.gn | 2 -
components/background_task_scheduler/BUILD.gn | 10 ---
.../signin/core/browser/android/BUILD.gn | 2 -
.../signin/GmsAvailabilityException.java | 4 +-
content/public/android/BUILD.gn | 3 -
content/test/BUILD.gn | 3 -
device/BUILD.gn | 2 -
remoting/android/client_java_tmpl.gni | 3 -
services/BUILD.gn | 4 -
services/device/geolocation/BUILD.gn | 2 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 38 ---------
third_party/cacheinvalidation/BUILD.gn | 1 -
third_party/robolectric/BUILD.gn | 2 -
27 files changed, 16 insertions(+), 275 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -267,9 +267,6 @@ android_library("chrome_java") {
@@ -258,9 +258,6 @@ android_library("chrome_java") {
":thumbnail_cache_entry_proto_java",
":update_proto_java",
":usage_stats_proto_java",
@@ -47,7 +47,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",
@@ -685,8 +682,6 @@ junit_binary("chrome_junit_tests") {
@@ -650,8 +647,6 @@ junit_binary("chrome_junit_tests") {
":chrome_java",
":chrome_junit_test_support",
":partner_location_descriptor_proto_java",
@@ -56,8 +56,8 @@ 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",
@@ -784,9 +779,6 @@ android_library("chrome_test_java") {
":browser_java_test_support",
@@ -753,9 +748,6 @@ android_library("chrome_test_java") {
":chrome_public_test_apk_resources",
":chrome_test_util_java",
":partner_location_descriptor_proto_java",
- "$google_play_services_package:google_play_services_base_java",
@@ -81,9 +81,9 @@ diff --git a/chrome/android/features/media_router/BUILD.gn b/chrome/android/feat
diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
--- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
+++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
@@ -7,9 +7,6 @@ package org.chromium.chrome.browser.media.router;
import android.support.annotation.Nullable;
import android.support.v7.media.MediaRouter;
@@ -8,9 +8,6 @@ import android.support.v7.media.MediaRouter;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
@@ -91,7 +91,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -43,9 +40,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
@@ -44,9 +41,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
int googleApiAvailabilityResult =
AppHooks.get().isGoogleApiAvailableWithMinApkVersion(
MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
@@ -105,7 +105,7 @@ diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/b
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -889,15 +889,6 @@ by a child template that "extends" this file.
@@ -840,15 +840,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
@@ -124,17 +124,17 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -15,9 +15,6 @@ import android.support.annotation.Nullable;
import android.view.View;
import android.view.inputmethod.InputConnection;
@@ -13,9 +13,6 @@ import android.view.View;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.Callback;
import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
@@ -419,16 +416,7 @@ public abstract class AppHooks {
import org.chromium.base.VisibleForTesting;
@@ -380,16 +377,7 @@ public abstract class AppHooks {
* same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
*/
public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
@@ -203,9 +203,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
@@ -13,9 +13,6 @@ import android.os.Binder;
import android.support.annotation.WorkerThread;
import android.text.TextUtils;
@@ -14,9 +14,6 @@ import android.text.TextUtils;
import androidx.annotation.WorkerThread;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
@@ -213,7 +213,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;
@@ -157,9 +154,7 @@ public class ExternalAuthUtils {
@@ -158,9 +155,7 @@ public class ExternalAuthUtils {
* when it is updating.
*/
public boolean isGooglePlayServicesMissing(final Context context) {
@@ -224,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
/**
@@ -181,7 +176,6 @@ public class ExternalAuthUtils {
@@ -182,7 +177,6 @@ public class ExternalAuthUtils {
Context context = ContextUtils.getApplicationContext();
final int resultCode = checkGooglePlayServicesAvailable(context);
@@ -232,7 +232,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)) {
@@ -251,7 +245,7 @@ public class ExternalAuthUtils {
@@ -252,7 +246,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()) {
@@ -241,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
}
@@ -263,7 +257,7 @@ public class ExternalAuthUtils {
@@ -264,7 +258,7 @@ public class ExternalAuthUtils {
* @return true If the code represents a user-recoverable error
*/
protected boolean isUserRecoverableError(final int errorCode) {
@@ -250,7 +250,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/Ex
}
/**
@@ -273,6 +267,6 @@ public class ExternalAuthUtils {
@@ -274,6 +268,6 @@ public class ExternalAuthUtils {
* @return a textual description of the error code
*/
protected String describeError(final int errorCode) {
@@ -373,7 +373,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ApplicationStateListener;
import org.chromium.base.Log;
@@ -67,30 +62,16 @@ import org.chromium.base.ThreadUtils;
@@ -67,29 +62,15 @@ import org.chromium.base.ThreadUtils;
* }
* </pre>
*/
@@ -389,7 +389,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi
private long mDisconnectionDelayMs;
private Runnable mPendingDisconnect;
/**
- /**
- * Creates a helper and enrolls it in the various connection management features.
- * See the class documentation for {@link GoogleApiClientHelper} for more information.
- *
@@ -401,10 +401,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi
- enableLifecycleManagement(true);
- }
-
- /**
/**
* Opts in or out of lifecycle management. The client's connection will be closed and reopened
* when Chrome goes in and out of background.
*
@@ -116,13 +97,6 @@ public class GoogleApiClientHelper
* Enabling or disabling it while it is already enabled or disabled has no effect.
*/
@@ -502,16 +501,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
@@ -19,8 +19,6 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
@@ -20,8 +20,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.GooglePlayServicesUtil;
-
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ActivityStateListener;
@@ -463,13 +461,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
@@ -464,13 +462,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
}
private boolean isGooglePlayStoreAvailable(Context context) {
@@ -529,30 +528,44 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PreferencesLauncher.java
@@ -12,8 +12,6 @@ import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
@@ -13,8 +13,6 @@ import android.support.v4.app.Fragment;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.ConnectionResult;
-
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
@@ -202,8 +200,7 @@ public class PreferencesLauncher {
int minGooglePlayServicesVersion = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
GOOGLE_ACCOUNT_PWM_UI, MIN_GOOGLE_PLAY_SERVICES_VERSION_PARAM,
DEFAULT_MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
- if (AppHooks.get().isGoogleApiAvailableWithMinApkVersion(minGooglePlayServicesVersion)
- != ConnectionResult.SUCCESS)
+ if (true)
return false;
@@ -190,22 +188,6 @@ public class PreferencesLauncher {
}
if (!ChromeFeatureList.isEnabled(GOOGLE_ACCOUNT_PWM_UI)) return false;
private static boolean tryShowingTheGooglePasswordManager(Activity activity) {
- GooglePasswordManagerUIProvider googlePasswordManagerUIProvider =
- AppHooks.get().createGooglePasswordManagerUIProvider();
- if (googlePasswordManagerUIProvider == null) return false;
-
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return false;
-
- int minGooglePlayServicesVersion = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
- GOOGLE_ACCOUNT_PWM_UI, MIN_GOOGLE_PLAY_SERVICES_VERSION_PARAM,
- DEFAULT_MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
- if (AppHooks.get().isGoogleApiAvailableWithMinApkVersion(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
@@ -153,8 +153,6 @@ android_library("chrome_java_test_support") {
"javatests/src/org/chromium/chrome/test/util/TranslateUtil.java",
@@ -175,8 +175,6 @@ android_library("chrome_java_test_support") {
"javatests/src/org/chromium/chrome/test/util/WaitForFocusHelper.java",
]
deps = [
- "$google_play_services_package:google_play_services_base_java",
@@ -572,7 +585,7 @@ diff --git a/components/background_task_scheduler/BUILD.gn b/components/backgrou
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//content/public/android:content_java",
"//third_party/android_deps:com_android_support_support_annotations_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
@@ -75,9 +72,6 @@ if (is_android) {
deps = [
":background_task_scheduler_java",
@@ -597,7 +610,7 @@ diff --git a/components/background_task_scheduler/BUILD.gn b/components/backgrou
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
@@ -15,8 +15,6 @@ generate_jni("jni_headers") {
@@ -16,8 +16,6 @@ generate_jni("jni_headers") {
android_library("java") {
deps = [
@@ -642,7 +655,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
@@ -2442,9 +2442,6 @@ if (is_android) {
@@ -2444,9 +2444,6 @@ if (is_android) {
testonly = true
java_files = content_java_sources_needing_jni
deps = [
@@ -651,11 +664,11 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//content/public/android:content_java",
]
"//ui/android:ui_full_java",
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -386,8 +386,6 @@ if (is_android) {
@@ -387,8 +387,6 @@ if (is_android) {
junit_binary("device_junit_tests") {
java_files = [ "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java" ]
deps = [
@@ -667,7 +680,7 @@ diff --git a/device/BUILD.gn b/device/BUILD.gn
diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_java_tmpl.gni
--- a/remoting/android/client_java_tmpl.gni
+++ b/remoting/android/client_java_tmpl.gni
@@ -101,9 +101,6 @@ template("remoting_android_client_java_tmpl") {
@@ -102,9 +102,6 @@ template("remoting_android_client_java_tmpl") {
if (defined(invoker.play_services_package)) {
deps += [
@@ -701,15 +714,15 @@ 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
@@ -141,8 +141,6 @@ if (is_android) {
@@ -150,8 +150,6 @@ if (is_android) {
deps = [
":geolocation",
":geolocation_jni_headers",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:jni_java",
"//components/location/android:location_java",
"//services/device/public/java:geolocation_java",
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
@@ -725,10 +738,11 @@ 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
@@ -772,44 +772,6 @@ android_aar_prebuilt("com_android_support_viewpager_java") {
@@ -802,44 +802,6 @@ android_aar_prebuilt("com_android_support_viewpager_java") {
]
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_base_java") {
- aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-15.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
@@ -766,10 +780,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- strip_drawables = true
-}
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path = "libs/com_google_android_material_material/material-1.0.0-rc02.aar"
info_path = "libs/com_google_android_material_material/com_google_android_material_material.info"
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn
@@ -794,5 +807,5 @@ diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
"//third_party/gson:gson_java",
"//third_party/guava:guava_java",
--
2.11.0
2.17.1
@@ -5,23 +5,23 @@ Subject: Remove dependency on com.google.android.gms.fido,
com.google.android.gms.location
---
chrome/android/BUILD.gn | 5 -
.../externalnav/ExternalNavigationHandler.java | 3 -
.../browser/instantapps/InstantAppsHandler.java | 59 +-----------
components/gcm_driver/instance_id/android/BUILD.gn | 2 -
.../instance_id/InstanceIDWithSubtype.java | 28 +-----
device/BUILD.gn | 1 -
services/device/geolocation/BUILD.gn | 1 -
.../geolocation/LocationProviderGmsCore.java | 103 +--------------------
third_party/android_deps/BUILD.gn | 58 ------------
third_party/cacheinvalidation/BUILD.gn | 1 -
.../client/android2/AndroidManifestUpdatedGcm.xml | 3 -
11 files changed, 9 insertions(+), 255 deletions(-)
chrome/android/BUILD.gn | 5 -
.../ExternalNavigationHandler.java | 4 -
.../instantapps/InstantAppsHandler.java | 59 +---------
.../gcm_driver/instance_id/android/BUILD.gn | 2 -
.../instance_id/InstanceIDWithSubtype.java | 28 +----
device/BUILD.gn | 1 -
services/device/geolocation/BUILD.gn | 1 -
.../geolocation/LocationProviderGmsCore.java | 103 +-----------------
third_party/android_deps/BUILD.gn | 58 ----------
third_party/cacheinvalidation/BUILD.gn | 1 -
.../android2/AndroidManifestUpdatedGcm.xml | 3 -
11 files changed, 9 insertions(+), 256 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -271,8 +271,6 @@ android_library("chrome_java") {
@@ -262,8 +262,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",
@@ -693,7 +691,6 @@ junit_binary("chrome_junit_tests") {
@@ -658,7 +656,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",
@@ -795,8 +792,6 @@ android_library("chrome_test_java") {
@@ -764,8 +761,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,23 +50,17 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -581,7 +581,6 @@ public class ExternalNavigationHandler {
@@ -641,10 +641,6 @@ public class ExternalNavigationHandler {
if (shouldProxyForInstantApps) {
RecordHistogram.recordEnumeratedHistogram("Android.InstantApps.DirectInstantAppsIntent",
AiaIntent.SERP, AiaIntent.NUM_ENTRIES);
- intent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
} else if (isDirectInstantAppsIntent) {
// For security reasons, we disable all intent:// URLs to Instant Apps that are
// not coming from SERP.
@@ -590,8 +589,6 @@ public class ExternalNavigationHandler {
AiaIntent.OTHER, AiaIntent.NUM_ENTRIES);
return OverrideUrlLoadingResult.NO_OVERRIDE;
} else {
- targetIntent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
- } else {
- // Make sure this extra is not sent unless we've done the verification.
- intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
- targetIntent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
}
boolean deviceCanHandleIntent = deviceCanHandleIntent(intent);
// The intent can be used to launch Chrome itself, record the user
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
@@ -184,15 +178,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
--- a/components/gcm_driver/instance_id/android/BUILD.gn
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
@@ -18,7 +18,6 @@ generate_jni("test_support_jni_headers") {
@@ -19,7 +19,6 @@ generate_jni("test_support_jni_headers") {
android_library("instance_id_driver_java") {
deps = [
- "$google_play_services_package:google_play_services_iid_java",
"//base:base_java",
"//base:jni_java",
"//components/gcm_driver/android:gcm_driver_java",
]
@@ -34,7 +33,6 @@ android_library("instance_id_driver_java") {
@@ -37,7 +36,6 @@ android_library("instance_id_driver_java") {
android_library("instance_id_driver_test_support_java") {
deps = [
":instance_id_driver_java",
@@ -288,7 +282,7 @@ diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/com
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -388,7 +388,6 @@ if (is_android) {
@@ -389,7 +389,6 @@ if (is_android) {
deps = [
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@@ -299,14 +293,14 @@ diff --git a/device/BUILD.gn b/device/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
@@ -143,7 +143,6 @@ if (is_android) {
@@ -152,7 +152,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",
- "$google_play_services_package:google_play_services_location_java",
"//base:base_java",
"//base:jni_java",
"//components/location/android:location_java",
"//services/device/public/java:geolocation_java",
diff --git a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
--- a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
+++ b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
@@ -460,10 +454,11 @@ 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
@@ -830,64 +830,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
@@ -861,64 +861,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
strip_resources = !is_java_debug
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
-android_aar_prebuilt("google_play_services_fido_java") {
- aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-15.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info"
@@ -521,10 +516,9 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
- strip_drawables = true
-}
-
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("google_play_services_tasks_java") {
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-15.0.1.aar"
info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn
@@ -550,5 +544,5 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
</application>
</manifest>
--
2.11.0
2.17.1

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