Compare commits
43
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2a03789061 | ||
|
|
c2ab0f4667 | ||
|
|
b692f721a3 | ||
|
|
28e950d9be | ||
|
|
6a9e562dde | ||
|
|
158d782db4 | ||
|
|
8d494540e2 | ||
|
|
74cb09ea83 | ||
|
|
3f19511574 | ||
|
|
e866631846 | ||
|
|
00c28793f4 | ||
|
|
932d5c680f | ||
|
|
aa408e6d21 | ||
|
|
5330cb879f | ||
|
|
d86fcd1c5f | ||
|
|
ec98e6e11c | ||
|
|
528c999cbb | ||
|
|
65c5722a09 | ||
|
|
35f447cf0c | ||
|
|
a5b818c8ab | ||
|
|
21ef4d1c37 | ||
|
|
b05d50bcad | ||
|
|
07985cf503 | ||
|
|
323864669b | ||
|
|
50b0961a8d | ||
|
|
8eb36db315 | ||
|
|
a2efd643de | ||
|
|
c611bc0855 | ||
|
|
028c1567bd | ||
|
|
bd0b93cb3e | ||
|
|
84d6403e06 | ||
|
|
73b524f627 | ||
|
|
232dd7f970 | ||
|
|
ca366d39b9 | ||
|
|
5cf852d97d | ||
|
|
f2977bac96 | ||
|
|
a162d5820e | ||
|
|
95c717eb59 | ||
|
|
873c245f6e | ||
|
|
56fa92cbff | ||
|
|
acc8cbb1e9 | ||
|
|
c4bce0f449 | ||
|
|
cf3313d156 |
@@ -0,0 +1,4 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
liberapay: csagan5
|
||||
custom: https://www.bromite.org/#donate
|
||||
@@ -6,24 +6,35 @@ about: Create a Bromite bug report
|
||||
|
||||
**Bromite version**
|
||||
|
||||
Version: `69.0...`
|
||||
Version: `76.0...`
|
||||
Arch: `arm` or `arm64` or `x86`
|
||||
Android version: ... (example: `lollipop`)
|
||||
Android version: (example: `9.0`)
|
||||
Device model: (example: `SM-G960UZKABST`)
|
||||
|
||||
**Is this bug about the SystemWebView?**
|
||||
Yes/No
|
||||
|
||||
No support for SystemWebView installations is provided.
|
||||
|
||||
**Is the bug reproducible with latest version?**
|
||||
`Bug must be reproducible with latest version`
|
||||
|
||||
**Can the bug be reproduced with corresponding [Chromium](https://github.com/bromite/chromium/releases) version?**
|
||||
`Bug must NOT be reproducible with Chromium to be qualified as a Bromite bug`
|
||||
If yes then report it upstream on [Chromium issue tracker](https://bugs.chromium.org/p/chromium/issues/list) and do not forget to read [Chromium project bug reporting guidelines](https://www.chromium.org/for-testers/bug-reporting-guidelines) first; all Chromium issues reported here will be closed as `invalid`.
|
||||
Do not report bugs which are not reproducible with latest version
|
||||
|
||||
**Can the bug be reproduced with corresponding Chromium version?**
|
||||
|
||||
Please pick the same version of Chromium as Bromite from here: https://github.com/bromite/chromium/releases
|
||||
If the bug is reproducible then it might be a configuration issue or an upstream bug. Upstream bugs can be reported on the [Chromium issue tracker](https://bugs.chromium.org/p/chromium/issues/list) and do not forget to read [Chromium project bug reporting guidelines](https://www.chromium.org/for-testers/bug-reporting-guidelines) first.
|
||||
|
||||
**Is the bug a crash?**
|
||||
|
||||
If yes then individuate and post the logcat dump (remove privacy sensitive information, if any), otherwise remove this section.
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
Write here a clear and concise description of the bug.
|
||||
|
||||
**To Reproduce**
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
@@ -31,7 +42,9 @@ Steps to reproduce the behavior:
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
If applicable, add screenshots to help explain your problem. Otherwise remove this section.
|
||||
|
||||
@@ -8,10 +8,12 @@ about: Suggest a privacy-related idea for this project
|
||||
Features that are not related to privacy are unlikely to be considered.
|
||||
|
||||
**Is there a patch available for this feature somewhere?**
|
||||
...
|
||||
If yes then provide URL and license information.
|
||||
|
||||
**Describe the solution you'd like**
|
||||
**Describe the solution you would like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
Do not ask "I would like feature X which is available in browser Y"; such issues are closed immediately.
|
||||
|
||||
**Describe alternatives you have considered**
|
||||
A clear and concise description of any alternative solutions or features you have considered.
|
||||
|
||||
+100
@@ -1,3 +1,103 @@
|
||||
# 78.0.3904.72
|
||||
* updated fixed User-agent phone model
|
||||
* fix network predictions bug (fixes https://github.com/bromite/bromite/issues/387)
|
||||
* fix crash in settings (fixes https://github.com/bromite/bromite/issues/388)
|
||||
|
||||
# 78.0.3904.63
|
||||
* replace Beta DoH service URL for Google (https://developers.google.com/speed/public-dns/docs/doh/migration)
|
||||
* disable AImageReaderMediaPlayer until upstream bug is fixed (https://bugs.chromium.org/p/chromium/issues/detail?id=977583)
|
||||
* disabled face detection provider
|
||||
* removed non-working SystemWebView adblock patch (not working since v77)
|
||||
* bring back some privacy options which upstream moved to Sync settings (fixes https://github.com/bromite/bromite/issues/383)
|
||||
|
||||
# 77.0.3865.104
|
||||
* revert upstream commit for search privacy options and related translations removal (fixes https://github.com/bromite/bromite/issues/375)
|
||||
* remove unused patch for enabling subresource filter on all sites
|
||||
|
||||
# 77.0.3865.95
|
||||
|
||||
# 77.0.3865.81
|
||||
* use native subresource filtering instead of Bromite engine
|
||||
* introduce Bromite AdBlockUpdate service
|
||||
* keep using Bromite engine for SystemWebView
|
||||
* enable subresource filter for all sites
|
||||
* disable subresource filter popup
|
||||
* enable IPv6 probing by default
|
||||
* drop DnsTransaction default security level patch
|
||||
* drop patch to visualize all type of extensions
|
||||
* drop patches for Network Service
|
||||
* enable CFI for all architectures except x86
|
||||
|
||||
# 76.0.3809.129
|
||||
* disable CFI to fix x86 crashes (fixes https://github.com/bromite/bromite/issues/357)
|
||||
|
||||
# 76.0.3809.115
|
||||
* disable search-ready omnibox by default
|
||||
* disable unified consent
|
||||
|
||||
# 76.0.3809.100
|
||||
* use default feature flags for autofill (fixes https://github.com/bromite/bromite/issues/348)
|
||||
|
||||
# 76.0.3809.91
|
||||
|
||||
# 76.0.3809.85
|
||||
* add flag to toggle Network Service
|
||||
* disable Network Service by default
|
||||
* do not record UMA for network errors
|
||||
* use fixed User Agent and Android OS version
|
||||
* dropped patch for history requirement of user gesture
|
||||
|
||||
# 75.0.3770.139
|
||||
* disable media router and remoting by default (fixes https://github.com/bromite/bromite/issues/281)
|
||||
* enable CFI in GN build flags
|
||||
|
||||
# 75.0.3770.132
|
||||
|
||||
# 75.0.3770.109
|
||||
* disable payment support by default
|
||||
* disable background sync by default
|
||||
* better patch from GrapheneOS/Vanadium for disabling sensors access (fixes https://github.com/bromite/bromite/issues/319)
|
||||
* use new patch for content settings sensors allow/block (fixes https://github.com/bromite/bromite/issues/319)
|
||||
* fix impossible values in Battery Status API (fixes https://github.com/bromite/bromite/issues/322)
|
||||
|
||||
# 75.0.3770.86
|
||||
|
||||
# 75.0.3770.82
|
||||
|
||||
# 75.0.3770.70
|
||||
* enable changing default downloads storage location by default
|
||||
* enable download rename option by default
|
||||
* disable offline pages in the downloads home to be opened in CCT by default
|
||||
* increase minimum SDK from 17 to 19 (fixes https://github.com/bromite/bromite/issues/310)
|
||||
* prefs: disable SigninAllowed by default
|
||||
* prefs: always prompt for download directory by default
|
||||
* build: remove calling untrusted hooks
|
||||
|
||||
# 75.0.3770.53
|
||||
* fix crash when downloading or from browser-initiated requests (fixes https://github.com/bromite/bromite/issues/309)
|
||||
|
||||
# 75.0.3770.50
|
||||
* disable dynamic module loading
|
||||
* more fixes to allow building for SDK 17
|
||||
|
||||
# 74.0.3729.162
|
||||
* remove recent tabs signin
|
||||
|
||||
# 74.0.3729.154
|
||||
|
||||
# 74.0.3729.141
|
||||
|
||||
# 74.0.3729.122
|
||||
* remove more unnecessary permissions
|
||||
|
||||
# 74.0.3729.106
|
||||
* remove account/sync menu entries (fixes https://github.com/bromite/bromite/issues/285)
|
||||
* fix failed debug builds
|
||||
|
||||
# 74.0.3729.86
|
||||
* enable dark mode settings entry by default
|
||||
* fix permission request for Play services on reboot (fixes https://github.com/bromite/bromite/issues/281)
|
||||
|
||||
# 74.0.3729.80
|
||||
* increase minimum SDK version to 17 (Jelly Bean 4.2)
|
||||
* dropped obsolete patch for hyperlink auditing disable
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Bromite is [Chromium](https://www.chromium.org/Home) plus some patches for ad blocking and enhanced privacy.
|
||||
|
||||
Bromite is only available for Android v4.1 and above.
|
||||
Bromite is only available for Android v4.4 and above.
|
||||
|
||||
<img src="https://www.bromite.org/bromite_bromite_gh_downloads.svg" alt="downloads on Github" title="downloads on Github" />
|
||||
|
||||
@@ -19,9 +19,7 @@ Minimal UI changes are applied to help curbing the idea of "browser as an advert
|
||||
|
||||
Please donate to support development of Bromite and the costs for the build system.
|
||||
|
||||
Support development with a donation of 3 EUR: [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2)
|
||||
|
||||
Support development with a free amount donation: [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LC7Q6A3UAQPY8)
|
||||
[→ Support development with a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2): [](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2)
|
||||
|
||||
<a href="bitcoin:3MkC3idL61npQSCxL1gceksmRTkNkiCPcG">BTC donations address</a>: `3MkC3idL61npQSCxL1gceksmRTkNkiCPcG`
|
||||
|
||||
@@ -52,10 +50,6 @@ See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-Syst
|
||||
|
||||
See [this wiki page](https://github.com/bromite/bromite/wiki/Enabling-DNS-over-HTTPS).
|
||||
|
||||
## Can you add dark mode/some cool themes?
|
||||
No.
|
||||
Bromite is about privacy and adblocking.
|
||||
|
||||
## Can you add HTTPS everywhere?
|
||||
No.
|
||||
We cannot add add-ons to Bromite (merely some features).
|
||||
@@ -75,7 +69,7 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
|
||||
|
||||
# Features
|
||||
|
||||
* baked-in adblock engine
|
||||
* native adblock engine
|
||||
* 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
|
||||
@@ -86,7 +80,7 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
|
||||
* 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
|
||||
* security enhancement patches from [AndroidHardening](https://github.com/AndroidHardening) project
|
||||
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
|
||||
|
||||
## Features not related to privacy
|
||||
* import/export bookmarks
|
||||
@@ -107,7 +101,7 @@ All built versions are available as [releases](https://github.com/bromite/bromit
|
||||
|
||||
Each tag corresponds to a Chromium Stable release tag.
|
||||
|
||||
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK versions 16 and 21; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK21+).
|
||||
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDK versions 19 and 21; [Bromite SystemWebView](https://www.bromite.org/system_web_view) is provided as well (SDK21+).
|
||||
For every Bromite build you can always find a matching [vanilla Chromium](https://www.bromite.org/chromium) build which is used for example to verify which issues are specific to Bromite or not.
|
||||
|
||||
All official releases are also available through the [official third-party F-Droid repository](https://www.bromite.org/fdroid).
|
||||
@@ -143,17 +137,23 @@ The [Bromite main repository](https://github.com/bromite/bromite) contains tags
|
||||
Please refer to [official Chromium build documentation](https://www.chromium.org/developers/how-tos/get-the-code) to get started on how to build Chromium; if you can build Chromium for Android, you can build Bromite.
|
||||
|
||||
The GN args used to build Bromite are available here: [GN_ARGS](./build/GN_ARGS).
|
||||
The patches are to be applied second the order specified in the `patches_list.txt` file (you can use `git am`); the big file `adblock_entries.h` (containing all the AdBlock filters) needs to be copied under `src/net/url_request/`.
|
||||
The patches are to be applied second the order specified in the `patches_list.txt` file (you can use `git am`); the big file `adblock_entries.h` (containing all the AdBlock filters) needs to be copied under `src/net/url_request/`. This file is only used for the SystemWebView.
|
||||
|
||||
## How to build the filters
|
||||
|
||||
See upstream documentation: https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md
|
||||
|
||||
Bromite uses an unindexed filter file, which is periodically published at https://github.com/bromite/filters
|
||||
|
||||
# Credits
|
||||
|
||||
* [Chromium project](https://www.chromium.org/Home) and developers
|
||||
* [Iridium project](https://github.com/iridium-browser) for some patches
|
||||
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
|
||||
* [AndroidHardening](https://github.com/AndroidHardening) for some patches
|
||||
* [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
|
||||
* nochromo for the original adblock patch, currently used only in the SystemWebView
|
||||
* [Vadim Pleshkov](http://vadimpleshkov.me/) for Bromite's logo
|
||||
|
||||
# Filters credits
|
||||
|
||||
@@ -14,6 +14,7 @@ enable_reporting=false
|
||||
enable_resource_whitelist_generation=false
|
||||
enable_vr=false
|
||||
fieldtrial_testing_like_official_build=true
|
||||
is_cfi=true
|
||||
is_component_build=false
|
||||
is_debug=false
|
||||
is_official_build=true
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
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
|
||||
updater-disable-updater-pings.patch
|
||||
prefs-only-keep-cookies-until-exit.patch
|
||||
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
|
||||
Disable-WebRTC-by-default.patch
|
||||
Disable-unused-permissions.patch
|
||||
Never-send-any-crash-upload-data.patch
|
||||
Hide-send-reports-checkbox.patch
|
||||
Never-fetch-popular-sites.patch
|
||||
ungoogled-chromium-Disable-webRTC-log-uploader.patch
|
||||
ungoogled-chromium-Disable-untraceable-URLs.patch
|
||||
ungoogled-chromium-Disable-translate-integration.patch
|
||||
ungoogled-chromium-Disable-profile-avatar-downloading.patch
|
||||
ungoogled-chromium-Disable-intranet-redirect-detector.patch
|
||||
ungoogled-chromium-Disable-Google-host-detection.patch
|
||||
ungoogled-chromium-Disable-GCM.patch
|
||||
ungoogled-chromium-Disable-Gaia.patch
|
||||
ungoogled-chromium-Disable-domain-reliability.patch
|
||||
ungoogled-chromium-Disable-Network-Time-Tracker.patch
|
||||
ungoogled-chromium-Always-use-local-DevTools-files-instead-of-remote-files-from-Google.patch
|
||||
safe_browsing-disable-incident-reporting.patch
|
||||
safe_browsing-disable-reporting-of-safebrowsing-override.patch
|
||||
safe_browsing-disable-cookie-transmission.patch
|
||||
Disable-safe-browsing.patch
|
||||
Disable-data-saver.patch
|
||||
Skip-the-first-run-and-metrics.patch
|
||||
Disable-signin-and-data-saver-preferences.patch
|
||||
Disable-signin-data-reduction-promos.patch
|
||||
Remove-recent-tabs-signin.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
|
||||
Fix-crash-when-accessing-page-info-site-settings.patch
|
||||
openH264-enable-ARM-ARM64-optimizations.patch
|
||||
Switch-to-fstack-protector-strong.patch
|
||||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
||||
build-remove-calling-untrusted-hooks.patch
|
||||
AV1-codec-support.patch
|
||||
Inject-scripts-for-AMP-tracking-ads-and-video-functionality.patch
|
||||
Allow-playing-audio-in-background.patch
|
||||
Add-flag-to-control-video-playback-resume-feature.patch
|
||||
Open-YouTube-links-in-Bromite.patch
|
||||
Add-exit-menu-item.patch
|
||||
Remove-help-menu-item.patch
|
||||
Add-menu-option-to-toggle-global-Javascript-preference.patch
|
||||
Add-global-menu-entry-to-toggle-AdBlocker.patch
|
||||
User-Agent-anonymize.patch
|
||||
AudioBuffer-AnalyserNode-fingerprinting-mitigations-via-IDL.patch
|
||||
getClientRects-getBoundingClientRect-measureText-add-fingerprinting-mitigation.patch
|
||||
Canvas-fingerprinting-mitigations-for-image-data-and-webGL.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
|
||||
Add-bookmark-import-export-actions.patch
|
||||
Disable-promos-displayed-in-bookmarks-manager.patch
|
||||
Add-an-always-incognito-mode.patch
|
||||
Add-custom-tab-intents-privacy-option.patch
|
||||
Add-option-to-not-persist-tabs-across-sessions.patch
|
||||
Disable-fetching-of-all-field-trials.patch
|
||||
Disable-seed-based-field-trials.patch
|
||||
Disable-plugins-enumeration.patch
|
||||
net-cert-increase-default-key-length-for-newly-generated-RSA-keys.patch
|
||||
dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch
|
||||
profile-resetter-do-not-tick-send-settings-by-default.patch
|
||||
browser-ui-disable-warning-about-missing-API-keys.patch
|
||||
autofill-disable-autofill-download-manager.patch
|
||||
first_run-deactivate-autoupdate-globally.patch
|
||||
translate-disable-fetching-of-translate-languages-from-server.patch
|
||||
kill-TOS-and-metrics-opt-out.patch
|
||||
kill-Translate.patch
|
||||
kill-Vision.patch
|
||||
kill-Location-fall-back-to-system.patch
|
||||
kill-Auth.patch
|
||||
kill-GCM.patch
|
||||
Allow-website-sign-in-without-account-sign-in.patch
|
||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||
Do-not-grant-notifications-to-default-search-engine.patch
|
||||
Add-flag-to-disable-IPv6-probes.patch
|
||||
Add-a-proxy-configuration-page.patch
|
||||
Do-not-ignore-download-location-prompt-setting.patch
|
||||
Disable-previews-by-default.patch
|
||||
Use-4-tile-rows-never-show-logo.patch
|
||||
Disable-metrics-collection-for-NTP-tiles.patch
|
||||
Enable-site-per-process-isolation-for-devices-with-enough-memory.patch
|
||||
Use-64-bit-WebView-processes.patch
|
||||
Add-option-to-use-home-page-as-NTP.patch
|
||||
Enable-night-mode-menu-entry-by-default.patch
|
||||
Disable-dynamic-module-loading.patch
|
||||
prefs-disable-signinallowed-by-default.patch
|
||||
prefs-always-prompt-for-download-directory-by-default.patch
|
||||
Disable-offline-pages-in-the-downloads-home-to-be-opened-in-CCT-by-default.patch
|
||||
Enable-changing-default-downloads-storage-location-by-default.patch
|
||||
Enable-download-rename-option-by-default.patch
|
||||
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
|
||||
Revert-Merge-to-M78-Enable-AImageReader-by-default.patch
|
||||
@@ -0,0 +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
|
||||
File diff suppressed because one or more lines are too long
@@ -25,7 +25,7 @@ Report AV1 as playable on Android
|
||||
diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
|
||||
--- a/media/base/mime_util_internal.cc
|
||||
+++ b/media/base/mime_util_internal.cc
|
||||
@@ -539,9 +539,13 @@ bool MimeUtil::IsCodecSupportedOnAndroid(
|
||||
@@ -564,9 +564,13 @@ bool MimeUtil::IsCodecSupportedOnAndroid(
|
||||
case THEORA:
|
||||
return false;
|
||||
|
||||
@@ -69,7 +69,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
||||
+ sources += aom_ports_arm_sources
|
||||
}
|
||||
if (is_android) {
|
||||
deps += [ "//third_party/android_tools:cpu_features" ]
|
||||
deps += [ "//third_party/android_ndk:cpu_features" ]
|
||||
diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni
|
||||
--- a/third_party/libaom/libaom_srcs.gni
|
||||
+++ b/third_party/libaom/libaom_srcs.gni
|
||||
|
||||
@@ -11,7 +11,7 @@ Subject: Add DuckDuckGo Lite search engine
|
||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
+++ b/components/search_engines/prepopulated_engines.json
|
||||
@@ -95,6 +95,16 @@
|
||||
@@ -91,6 +91,16 @@
|
||||
"id": 68
|
||||
},
|
||||
|
||||
@@ -316,7 +316,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Iraq
|
||||
@@ -406,7 +407,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -405,7 +406,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -325,7 +325,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Italy
|
||||
@@ -414,7 +415,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -413,7 +414,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -334,7 +334,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Jamaica
|
||||
@@ -422,7 +423,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -421,7 +422,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -343,7 +343,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Jordan
|
||||
@@ -446,7 +447,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -445,7 +446,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo,
|
||||
&bing,
|
||||
@@ -352,7 +352,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// South Korea
|
||||
@@ -478,14 +479,14 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -477,14 +478,14 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -369,7 +369,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
};
|
||||
|
||||
@@ -501,7 +502,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -500,7 +501,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
@@ -378,7 +378,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
};
|
||||
|
||||
@@ -534,7 +535,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -533,7 +534,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -387,7 +387,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Moldova
|
||||
@@ -542,7 +543,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -541,7 +542,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yandex_ru,
|
||||
&mail_ru,
|
||||
@@ -396,7 +396,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Montenegro
|
||||
@@ -558,7 +559,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -557,7 +558,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo,
|
||||
&bing,
|
||||
@@ -405,7 +405,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Mexico
|
||||
@@ -566,7 +567,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -565,7 +566,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo_mx,
|
||||
@@ -414,7 +414,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Malaysia
|
||||
@@ -582,7 +583,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -581,7 +582,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -423,7 +423,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Netherlands
|
||||
@@ -590,7 +591,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -589,7 +590,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo_nl,
|
||||
@@ -432,7 +432,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Norway
|
||||
@@ -598,14 +599,14 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -597,14 +598,14 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -449,7 +449,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_nz,
|
||||
};
|
||||
|
||||
@@ -622,7 +623,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -621,7 +622,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -458,7 +458,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Peru
|
||||
@@ -630,7 +631,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -629,7 +630,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo_pe,
|
||||
&bing,
|
||||
@@ -467,7 +467,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Philippines
|
||||
@@ -638,7 +639,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -637,7 +638,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo_ph,
|
||||
&bing,
|
||||
@@ -476,7 +476,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Pakistan
|
||||
@@ -654,7 +655,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -653,7 +654,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -485,7 +485,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Puerto Rico
|
||||
@@ -662,7 +663,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -661,7 +662,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -494,7 +494,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Portugal
|
||||
@@ -670,7 +671,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -669,7 +670,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -503,7 +503,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Paraguay
|
||||
@@ -678,7 +679,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -677,7 +678,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -512,7 +512,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Qatar
|
||||
@@ -694,7 +695,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -693,7 +694,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -521,7 +521,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Serbia
|
||||
@@ -702,7 +703,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -701,7 +702,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo,
|
||||
&bing,
|
||||
@@ -530,7 +530,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Russia
|
||||
@@ -734,7 +735,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -733,7 +734,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo_se,
|
||||
@@ -539,7 +539,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Singapore
|
||||
@@ -750,7 +751,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -749,7 +750,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -548,7 +548,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Slovakia
|
||||
@@ -758,7 +759,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -757,7 +758,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -557,7 +557,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// El Salvador
|
||||
@@ -766,7 +767,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -765,7 +766,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -566,7 +566,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Syria
|
||||
@@ -806,7 +807,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -805,7 +806,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -575,7 +575,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Taiwan
|
||||
@@ -838,7 +839,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -837,7 +838,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -584,7 +584,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Uruguay
|
||||
@@ -846,7 +847,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -845,7 +846,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -593,7 +593,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Venezuela
|
||||
@@ -854,7 +855,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -853,7 +854,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&yahoo_ve,
|
||||
&bing,
|
||||
@@ -602,7 +602,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Vietnam
|
||||
@@ -878,7 +879,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -877,7 +878,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
&googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -611,7 +611,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
};
|
||||
|
||||
// Zimbabwe
|
||||
@@ -898,7 +899,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
@@ -897,7 +898,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
&bing,
|
||||
&coccoc,
|
||||
&daum,
|
||||
|
||||
@@ -5,24 +5,15 @@ Subject: Add English-only search engine
|
||||
Add a Google search engine that forces languages to English,
|
||||
disable from all its searches RLZ and field experiments querystring parameters.
|
||||
---
|
||||
.../search_engines/prepopulated_engines.json | 23 ++-
|
||||
.../search_engines/prepopulated_engines.json | 21 ++
|
||||
components/search_engines/search_engine_type.h | 1 +
|
||||
.../template_url_prepopulate_data.cc | 218 ++++++++++-----------
|
||||
3 files changed, 132 insertions(+), 110 deletions(-)
|
||||
3 files changed, 131 insertions(+), 109 deletions(-)
|
||||
|
||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
+++ b/components/search_engines/prepopulated_engines.json
|
||||
@@ -28,7 +28,7 @@
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version. Otherwise, existing data may
|
||||
// continue to be used and updates made here will not always appear.
|
||||
- "kCurrentDataVersion": 112
|
||||
+ "kCurrentDataVersion": 113
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
||||
@@ -126,6 +126,27 @@
|
||||
@@ -122,6 +122,27 @@
|
||||
"id": 1
|
||||
},
|
||||
|
||||
@@ -472,7 +463,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -395,7 +395,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
@@ -395,14 +395,14 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
|
||||
// Iran
|
||||
const PrepopulatedEngine* const engines_IR[] = {
|
||||
@@ -480,8 +471,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &googleen, &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
&parsijoo,
|
||||
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
};
|
||||
|
||||
// Iceland
|
||||
const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -490,7 +480,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
|
||||
// Italy
|
||||
const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -499,7 +489,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -419,7 +419,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -418,7 +418,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
|
||||
// Jamaica
|
||||
const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -508,7 +498,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -427,7 +427,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
|
||||
// Jordan
|
||||
const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -517,7 +507,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
|
||||
// Japan
|
||||
const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -526,7 +516,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_jp,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -442,7 +442,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
|
||||
// Kenya
|
||||
const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -535,7 +525,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -451,7 +451,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -450,7 +450,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
|
||||
// South Korea
|
||||
const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -544,7 +534,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&naver,
|
||||
&daum,
|
||||
&bing,
|
||||
@@ -459,7 +459,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -458,7 +458,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
|
||||
// Kuwait
|
||||
const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -553,7 +543,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -467,7 +467,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -466,7 +466,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
|
||||
// Kazakhstan
|
||||
const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -562,7 +552,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_kz,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -475,7 +475,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
|
||||
// Lebanon
|
||||
const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -571,7 +561,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
|
||||
// Liechtenstein
|
||||
const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -580,7 +570,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -490,7 +490,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
|
||||
// Lithuania
|
||||
const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -589,7 +579,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -499,7 +499,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
|
||||
// Luxembourg
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -598,7 +588,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
|
||||
// Latvia
|
||||
const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -607,7 +597,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -514,7 +514,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
|
||||
// Libya
|
||||
const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -616,7 +606,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_com,
|
||||
@@ -523,7 +523,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -522,7 +522,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
|
||||
// Morocco
|
||||
const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -625,7 +615,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -531,7 +531,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -530,7 +530,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
|
||||
// Monaco
|
||||
const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -634,7 +624,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -539,7 +539,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -538,7 +538,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
|
||||
// Moldova
|
||||
const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -643,7 +633,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ru,
|
||||
&mail_ru,
|
||||
&duckduckgo,
|
||||
@@ -547,7 +547,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -546,7 +546,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
|
||||
// Montenegro
|
||||
const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -652,7 +642,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
|
||||
// Macedonia
|
||||
const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -661,7 +651,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -562,7 +562,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
|
||||
// Mexico
|
||||
const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -670,7 +660,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_mx,
|
||||
&duckduckgo,
|
||||
@@ -571,7 +571,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
|
||||
// Malaysia
|
||||
const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -679,7 +669,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_my,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
|
||||
// Nicaragua
|
||||
const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -688,7 +678,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -586,7 +586,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
|
||||
// Netherlands
|
||||
const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -697,7 +687,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_nl,
|
||||
&duckduckgo,
|
||||
@@ -595,7 +595,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -594,7 +594,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
|
||||
// Norway
|
||||
const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -706,7 +696,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -603,7 +603,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -602,7 +602,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
|
||||
// New Zealand
|
||||
const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -715,7 +705,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo_nz,
|
||||
@@ -611,7 +611,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -610,7 +610,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
|
||||
// Oman
|
||||
const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -724,7 +714,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
|
||||
// Panama
|
||||
const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -733,7 +723,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
|
||||
// Peru
|
||||
const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -742,7 +732,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_pe,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -634,7 +634,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
|
||||
// Philippines
|
||||
const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -751,7 +741,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ph,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -643,7 +643,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
|
||||
// Pakistan
|
||||
const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -760,7 +750,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
|
||||
// Poland
|
||||
const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -769,7 +759,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -658,7 +658,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
|
||||
// Puerto Rico
|
||||
const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -778,7 +768,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -667,7 +667,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -666,7 +666,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
|
||||
// Portugal
|
||||
const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -787,7 +777,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -675,7 +675,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -674,7 +674,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
|
||||
// Paraguay
|
||||
const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -796,7 +786,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -683,7 +683,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -682,7 +682,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
|
||||
// Qatar
|
||||
const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -805,7 +795,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -691,7 +691,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
|
||||
// Romania
|
||||
const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -814,7 +804,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
|
||||
// Serbia
|
||||
const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -823,7 +813,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -708,14 +708,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -707,14 +707,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
// Russia
|
||||
const PrepopulatedEngine* const engines_RU[] = {
|
||||
&yandex_ru,
|
||||
@@ -840,7 +830,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
|
||||
// Saudi Arabia
|
||||
const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -849,7 +839,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -730,7 +730,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
|
||||
// Sweden
|
||||
const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -858,7 +848,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_se,
|
||||
&duckduckgo,
|
||||
@@ -739,7 +739,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -738,7 +738,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
|
||||
// Singapore
|
||||
const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -867,7 +857,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_sg,
|
||||
&yandex_com,
|
||||
@@ -747,7 +747,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -746,7 +746,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
|
||||
// Slovenia
|
||||
const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -876,7 +866,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -755,7 +755,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -754,7 +754,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
|
||||
// Slovakia
|
||||
const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -885,7 +875,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -763,7 +763,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
|
||||
// El Salvador
|
||||
const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -894,7 +884,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
|
||||
// Syria
|
||||
const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -903,7 +893,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -778,7 +778,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
|
||||
// Thailand
|
||||
const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -912,7 +902,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_th,
|
||||
&bing,
|
||||
&ask,
|
||||
@@ -787,7 +787,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
|
||||
// Tunisia
|
||||
const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -921,7 +911,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
|
||||
// Turkey
|
||||
const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -930,7 +920,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_tr,
|
||||
&yahoo_tr,
|
||||
&bing,
|
||||
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -802,7 +802,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
|
||||
// Trinidad and Tobago
|
||||
const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -939,7 +929,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -811,7 +811,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -810,7 +810,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
|
||||
// Taiwan
|
||||
const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -948,7 +938,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_tw,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -819,7 +819,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -818,7 +818,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
|
||||
// Tanzania
|
||||
const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -957,7 +947,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -827,7 +827,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -826,7 +826,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
|
||||
// Ukraine
|
||||
const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -966,7 +956,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ua,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -835,7 +835,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
|
||||
// United States
|
||||
const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -975,7 +965,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -843,7 +843,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
|
||||
// Uruguay
|
||||
const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -984,7 +974,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -850,7 +850,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
|
||||
// Venezuela
|
||||
const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -993,7 +983,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ve,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -859,7 +859,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
|
||||
// Vietnam
|
||||
const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -1002,7 +992,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&coccoc,
|
||||
&bing,
|
||||
&yahoo_vn,
|
||||
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
|
||||
// Yemen
|
||||
const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -1011,7 +1001,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -874,7 +874,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
|
||||
// South Africa
|
||||
const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -1020,7 +1010,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -883,7 +883,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -882,7 +882,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
|
||||
// Zimbabwe
|
||||
const PrepopulatedEngine* const engines_ZW[] = {
|
||||
@@ -1029,7 +1019,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -899,7 +899,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
&coccoc,
|
||||
&daum,
|
||||
&duckduckgo,
|
||||
@@ -1037,7 +1027,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &googleen, &google, &startpage,
|
||||
&mail_ru,
|
||||
&naver,
|
||||
&parsijoo,
|
||||
&qwant,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -5,23 +5,14 @@ Subject: Add Qwant search engine
|
||||
Specify image URL in upstream engine definition
|
||||
Make search engine selectable in default list
|
||||
---
|
||||
.../search_engines/prepopulated_engines.json | 3 +-
|
||||
.../search_engines/prepopulated_engines.json | 1 +
|
||||
.../template_url_prepopulate_data.cc | 218 ++++++++++-----------
|
||||
2 files changed, 111 insertions(+), 110 deletions(-)
|
||||
2 files changed, 110 insertions(+), 109 deletions(-)
|
||||
|
||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
+++ b/components/search_engines/prepopulated_engines.json
|
||||
@@ -28,7 +28,7 @@
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version. Otherwise, existing data may
|
||||
// continue to be used and updates made here will not always appear.
|
||||
- "kCurrentDataVersion": 113
|
||||
+ "kCurrentDataVersion": 114
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
||||
@@ -196,6 +196,7 @@
|
||||
@@ -183,6 +183,7 @@
|
||||
"favicon_url": "https://www.qwant.com/favicon.ico",
|
||||
"search_url": "https://www.qwant.com/?q={searchTerms}&client=opensearch",
|
||||
"suggest_url": "https://api.qwant.com/api/suggest/?q={searchTerms}&client=opensearch",
|
||||
@@ -440,7 +431,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -396,7 +396,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
@@ -396,14 +396,14 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
|
||||
// Iran
|
||||
const PrepopulatedEngine* const engines_IR[] = {
|
||||
@@ -448,8 +439,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &googleen, &google, &startpage, &qwant,
|
||||
&bing,
|
||||
&yahoo,
|
||||
&parsijoo,
|
||||
@@ -404,7 +404,7 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
};
|
||||
|
||||
// Iceland
|
||||
const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -458,7 +448,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -412,7 +412,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
|
||||
// Italy
|
||||
const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -467,7 +457,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -420,7 +420,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -419,7 +419,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
|
||||
// Jamaica
|
||||
const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -476,7 +466,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -427,7 +427,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
|
||||
// Jordan
|
||||
const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -485,7 +475,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -436,7 +436,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
|
||||
// Japan
|
||||
const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -494,7 +484,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_jp,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -444,7 +444,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
|
||||
// Kenya
|
||||
const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -503,7 +493,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -451,7 +451,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
|
||||
// South Korea
|
||||
const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -512,7 +502,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&naver,
|
||||
&daum,
|
||||
&bing,
|
||||
@@ -460,7 +460,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -459,7 +459,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
|
||||
// Kuwait
|
||||
const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -521,7 +511,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -468,7 +468,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -467,7 +467,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
|
||||
// Kazakhstan
|
||||
const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -530,7 +520,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_kz,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -476,7 +476,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -475,7 +475,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
|
||||
// Lebanon
|
||||
const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -539,7 +529,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -484,7 +484,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
|
||||
// Liechtenstein
|
||||
const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -548,7 +538,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
&yahoo,
|
||||
@@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
|
||||
// Lithuania
|
||||
const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -557,7 +547,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -499,7 +499,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
|
||||
// Luxembourg
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -566,7 +556,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
&yahoo,
|
||||
@@ -508,7 +508,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
|
||||
// Latvia
|
||||
const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -575,7 +565,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
@@ -516,7 +516,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
|
||||
// Libya
|
||||
const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -584,7 +574,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_com,
|
||||
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -523,7 +523,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
|
||||
// Morocco
|
||||
const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -593,7 +583,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -532,7 +532,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -531,7 +531,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
|
||||
// Monaco
|
||||
const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -602,7 +592,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -540,7 +540,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -539,7 +539,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
|
||||
// Moldova
|
||||
const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -611,7 +601,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ru,
|
||||
&mail_ru,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -548,7 +548,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -547,7 +547,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
|
||||
// Montenegro
|
||||
const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -620,7 +610,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -556,7 +556,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
|
||||
// Macedonia
|
||||
const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -629,7 +619,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -564,7 +564,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
|
||||
// Mexico
|
||||
const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -638,7 +628,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_mx,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -572,7 +572,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -571,7 +571,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
|
||||
// Malaysia
|
||||
const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -647,7 +637,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_my,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -580,7 +580,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
|
||||
// Nicaragua
|
||||
const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -656,7 +646,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -588,7 +588,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
|
||||
// Netherlands
|
||||
const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -665,7 +655,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_nl,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -595,7 +595,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
|
||||
// Norway
|
||||
const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -674,7 +664,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -604,7 +604,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -603,7 +603,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
|
||||
// New Zealand
|
||||
const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -683,7 +673,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
&yahoo_nz,
|
||||
@@ -612,7 +612,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -611,7 +611,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
|
||||
// Oman
|
||||
const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -692,7 +682,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -620,7 +620,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
|
||||
// Panama
|
||||
const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -701,7 +691,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -628,7 +628,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
|
||||
// Peru
|
||||
const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -710,7 +700,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_pe,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
|
||||
// Philippines
|
||||
const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -719,7 +709,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ph,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -643,7 +643,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
|
||||
// Pakistan
|
||||
const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -728,7 +718,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -652,7 +652,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
|
||||
// Poland
|
||||
const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -737,7 +727,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -660,7 +660,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
|
||||
// Puerto Rico
|
||||
const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -746,7 +736,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -667,7 +667,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
|
||||
// Portugal
|
||||
const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -755,7 +745,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -676,7 +676,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -675,7 +675,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
|
||||
// Paraguay
|
||||
const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -764,7 +754,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -684,7 +684,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -683,7 +683,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
|
||||
// Qatar
|
||||
const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -773,7 +763,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -692,7 +692,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -691,7 +691,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
|
||||
// Romania
|
||||
const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -782,7 +772,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -700,7 +700,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
|
||||
// Serbia
|
||||
const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -791,7 +781,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -709,14 +709,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -708,14 +708,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
// Russia
|
||||
const PrepopulatedEngine* const engines_RU[] = {
|
||||
&yandex_ru,
|
||||
@@ -808,7 +798,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -724,7 +724,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
|
||||
// Saudi Arabia
|
||||
const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -817,7 +807,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -732,7 +732,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
|
||||
// Sweden
|
||||
const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -826,7 +816,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_se,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -739,7 +739,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
|
||||
// Singapore
|
||||
const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -835,7 +825,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_sg,
|
||||
&yandex_com,
|
||||
@@ -748,7 +748,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -747,7 +747,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
|
||||
// Slovenia
|
||||
const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -844,7 +834,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -756,7 +756,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -755,7 +755,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
|
||||
// Slovakia
|
||||
const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -853,7 +843,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -764,7 +764,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -763,7 +763,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
|
||||
// El Salvador
|
||||
const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -862,7 +852,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -772,7 +772,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
|
||||
// Syria
|
||||
const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -871,7 +861,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
|
||||
// Thailand
|
||||
const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -880,7 +870,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_th,
|
||||
&bing,
|
||||
&ask,
|
||||
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -787,7 +787,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
|
||||
// Tunisia
|
||||
const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -889,7 +879,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -796,7 +796,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
|
||||
// Turkey
|
||||
const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -898,7 +888,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_tr,
|
||||
&yahoo_tr,
|
||||
&bing,
|
||||
@@ -804,7 +804,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
|
||||
// Trinidad and Tobago
|
||||
const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -907,7 +897,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -811,7 +811,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
|
||||
// Taiwan
|
||||
const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -916,7 +906,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_tw,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -820,7 +820,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -819,7 +819,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
|
||||
// Tanzania
|
||||
const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -925,7 +915,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -828,7 +828,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -827,7 +827,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
|
||||
// Ukraine
|
||||
const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -934,7 +924,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ua,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -836,7 +836,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -835,7 +835,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
|
||||
// United States
|
||||
const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -943,7 +933,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -844,7 +844,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -843,7 +843,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
|
||||
// Uruguay
|
||||
const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -952,7 +942,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -852,7 +852,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
|
||||
// Venezuela
|
||||
const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -961,7 +951,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ve,
|
||||
&bing,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -859,7 +859,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
|
||||
// Vietnam
|
||||
const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -970,7 +960,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&coccoc,
|
||||
&bing,
|
||||
&yahoo_vn,
|
||||
@@ -868,7 +868,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
|
||||
// Yemen
|
||||
const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -979,7 +969,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -876,7 +876,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
|
||||
// South Africa
|
||||
const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -988,7 +978,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -883,7 +883,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
|
||||
// Zimbabwe
|
||||
const PrepopulatedEngine* const engines_ZW[] = {
|
||||
@@ -997,7 +987,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -900,7 +900,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
@@ -899,7 +899,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
&coccoc,
|
||||
&daum,
|
||||
&duckduckgo, &duckduckgo_light,
|
||||
@@ -1005,7 +995,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &googleen, &google, &startpage, &qwant,
|
||||
&mail_ru,
|
||||
&naver,
|
||||
&parsijoo,
|
||||
&qwant,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -3,24 +3,15 @@ Date: Wed, 18 Oct 2017 21:24:05 +0200
|
||||
Subject: Add StartPage search engine
|
||||
|
||||
---
|
||||
.../search_engines/prepopulated_engines.json | 12 +-
|
||||
.../search_engines/prepopulated_engines.json | 10 +
|
||||
components/search_engines/search_engine_type.h | 1 +
|
||||
.../template_url_prepopulate_data.cc | 218 ++++++++++-----------
|
||||
3 files changed, 121 insertions(+), 110 deletions(-)
|
||||
3 files changed, 120 insertions(+), 109 deletions(-)
|
||||
|
||||
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
|
||||
--- a/components/search_engines/prepopulated_engines.json
|
||||
+++ b/components/search_engines/prepopulated_engines.json
|
||||
@@ -28,7 +28,7 @@
|
||||
// Increment this if you change the data in ways that mean users with
|
||||
// existing data should get a new version. Otherwise, existing data may
|
||||
// continue to be used and updates made here will not always appear.
|
||||
- "kCurrentDataVersion": 111
|
||||
+ "kCurrentDataVersion": 112
|
||||
},
|
||||
|
||||
// The following engines are included in country lists and are added to the
|
||||
@@ -206,6 +206,16 @@
|
||||
@@ -193,6 +193,16 @@
|
||||
"id": 56
|
||||
},
|
||||
|
||||
@@ -459,7 +450,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -395,7 +395,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
@@ -395,14 +395,14 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
|
||||
// Iran
|
||||
const PrepopulatedEngine* const engines_IR[] = {
|
||||
@@ -467,8 +458,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &google, &startpage,
|
||||
&bing,
|
||||
&yahoo,
|
||||
&parsijoo,
|
||||
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
};
|
||||
|
||||
// Iceland
|
||||
const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -477,7 +467,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
|
||||
// Italy
|
||||
const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -486,7 +476,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -419,7 +419,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -418,7 +418,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
|
||||
// Jamaica
|
||||
const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -495,7 +485,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -427,7 +427,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
|
||||
// Jordan
|
||||
const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -504,7 +494,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
|
||||
// Japan
|
||||
const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -513,7 +503,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_jp,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -442,7 +442,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
|
||||
// Kenya
|
||||
const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -522,7 +512,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -451,7 +451,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -450,7 +450,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
|
||||
// South Korea
|
||||
const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -531,7 +521,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&naver,
|
||||
&daum,
|
||||
&bing,
|
||||
@@ -459,7 +459,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -458,7 +458,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
|
||||
// Kuwait
|
||||
const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -540,7 +530,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -467,7 +467,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -466,7 +466,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
|
||||
// Kazakhstan
|
||||
const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -549,7 +539,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_kz,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -475,7 +475,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
|
||||
// Lebanon
|
||||
const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -558,7 +548,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
|
||||
// Liechtenstein
|
||||
const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -567,7 +557,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -490,7 +490,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
|
||||
// Lithuania
|
||||
const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -576,7 +566,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -499,7 +499,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
|
||||
// Luxembourg
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -585,7 +575,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
|
||||
// Latvia
|
||||
const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -594,7 +584,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -514,7 +514,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
|
||||
// Libya
|
||||
const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -603,7 +593,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_com,
|
||||
@@ -523,7 +523,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -522,7 +522,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
|
||||
// Morocco
|
||||
const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -612,7 +602,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -531,7 +531,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -530,7 +530,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
|
||||
// Monaco
|
||||
const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -621,7 +611,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -539,7 +539,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -538,7 +538,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
|
||||
// Moldova
|
||||
const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -630,7 +620,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ru,
|
||||
&mail_ru,
|
||||
&duckduckgo,
|
||||
@@ -547,7 +547,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -546,7 +546,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
|
||||
// Montenegro
|
||||
const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -639,7 +629,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
|
||||
// Macedonia
|
||||
const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -648,7 +638,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -562,7 +562,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
|
||||
// Mexico
|
||||
const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -657,7 +647,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_mx,
|
||||
&duckduckgo,
|
||||
@@ -571,7 +571,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
|
||||
// Malaysia
|
||||
const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -666,7 +656,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_my,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
|
||||
// Nicaragua
|
||||
const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -675,7 +665,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -586,7 +586,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
|
||||
// Netherlands
|
||||
const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -684,7 +674,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_nl,
|
||||
&duckduckgo,
|
||||
@@ -595,7 +595,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -594,7 +594,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
|
||||
// Norway
|
||||
const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -693,7 +683,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -603,7 +603,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -602,7 +602,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
|
||||
// New Zealand
|
||||
const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -702,7 +692,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo_nz,
|
||||
@@ -611,7 +611,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -610,7 +610,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
|
||||
// Oman
|
||||
const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -711,7 +701,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
|
||||
// Panama
|
||||
const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -720,7 +710,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
|
||||
// Peru
|
||||
const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -729,7 +719,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_pe,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -634,7 +634,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
|
||||
// Philippines
|
||||
const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -738,7 +728,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ph,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -643,7 +643,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
|
||||
// Pakistan
|
||||
const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -747,7 +737,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
|
||||
// Poland
|
||||
const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -756,7 +746,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -658,7 +658,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
|
||||
// Puerto Rico
|
||||
const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -765,7 +755,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -667,7 +667,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -666,7 +666,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
|
||||
// Portugal
|
||||
const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -774,7 +764,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -675,7 +675,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -674,7 +674,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
|
||||
// Paraguay
|
||||
const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -783,7 +773,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -683,7 +683,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -682,7 +682,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
|
||||
// Qatar
|
||||
const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -792,7 +782,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -691,7 +691,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
|
||||
// Romania
|
||||
const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -801,7 +791,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
|
||||
// Serbia
|
||||
const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -810,7 +800,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -708,14 +708,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -707,14 +707,14 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
// Russia
|
||||
const PrepopulatedEngine* const engines_RU[] = {
|
||||
&yandex_ru,
|
||||
@@ -827,7 +817,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
|
||||
// Saudi Arabia
|
||||
const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -836,7 +826,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -730,7 +730,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
|
||||
// Sweden
|
||||
const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -845,7 +835,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_se,
|
||||
&duckduckgo,
|
||||
@@ -739,7 +739,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -738,7 +738,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
|
||||
// Singapore
|
||||
const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -854,7 +844,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo_sg,
|
||||
&yandex_com,
|
||||
@@ -747,7 +747,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -746,7 +746,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
|
||||
// Slovenia
|
||||
const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -863,7 +853,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -755,7 +755,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -754,7 +754,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
|
||||
// Slovakia
|
||||
const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -872,7 +862,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -763,7 +763,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
|
||||
// El Salvador
|
||||
const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -881,7 +871,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
|
||||
// Syria
|
||||
const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -890,7 +880,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -778,7 +778,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
|
||||
// Thailand
|
||||
const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -899,7 +889,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_th,
|
||||
&bing,
|
||||
&ask,
|
||||
@@ -787,7 +787,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
|
||||
// Tunisia
|
||||
const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -908,7 +898,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
|
||||
// Turkey
|
||||
const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -917,7 +907,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_tr,
|
||||
&yahoo_tr,
|
||||
&bing,
|
||||
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -802,7 +802,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
|
||||
// Trinidad and Tobago
|
||||
const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -926,7 +916,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -811,7 +811,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -810,7 +810,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
|
||||
// Taiwan
|
||||
const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -935,7 +925,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_tw,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -819,7 +819,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -818,7 +818,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
|
||||
// Tanzania
|
||||
const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -944,7 +934,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -827,7 +827,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -826,7 +826,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
|
||||
// Ukraine
|
||||
const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -953,7 +943,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yandex_ua,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -835,7 +835,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
|
||||
// United States
|
||||
const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -962,7 +952,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -843,7 +843,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
|
||||
// Uruguay
|
||||
const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -971,7 +961,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -850,7 +850,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
|
||||
// Venezuela
|
||||
const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -980,7 +970,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&yahoo_ve,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -859,7 +859,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
|
||||
// Vietnam
|
||||
const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -989,7 +979,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&coccoc,
|
||||
&bing,
|
||||
&yahoo_vn,
|
||||
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
|
||||
// Yemen
|
||||
const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -998,7 +988,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -874,7 +874,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
|
||||
// South Africa
|
||||
const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -1007,7 +997,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -883,7 +883,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -882,7 +882,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
|
||||
// Zimbabwe
|
||||
const PrepopulatedEngine* const engines_ZW[] = {
|
||||
@@ -1016,7 +1006,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
&bing,
|
||||
&yahoo,
|
||||
&baidu,
|
||||
@@ -899,7 +899,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const kAllEngines[] = {
|
||||
&coccoc,
|
||||
&daum,
|
||||
&duckduckgo,
|
||||
@@ -1024,7 +1014,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
||||
+ &google, &startpage,
|
||||
&mail_ru,
|
||||
&naver,
|
||||
&parsijoo,
|
||||
&qwant,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -10,28 +10,26 @@ 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 | 11 +++++++++
|
||||
chrome/browser/flag_descriptions.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
.../browser/net/system_network_context_manager.cc | 17 +++++++------
|
||||
.../common/network_features.cc | 7 ++++--
|
||||
.../common/network_features.h | 5 +++-
|
||||
.../common/network_switch_list.h | 4 ++++
|
||||
net/base/load_flags_list.h | 6 +++++
|
||||
net/dns/dns_transaction.cc | 27 +++------------------
|
||||
net/url_request/url_request_http_job.cc | 28 +++++++++++++---------
|
||||
10 files changed, 64 insertions(+), 47 deletions(-)
|
||||
chrome/browser/about_flags.cc | 11 +++++++++++
|
||||
chrome/browser/net/system_network_context_manager.cc | 18 +++++++++++-------
|
||||
.../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 +++++++++++-----
|
||||
8 files changed, 57 insertions(+), 14 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
|
||||
@@ -398,6 +398,14 @@ const FeatureEntry::FeatureVariation kCCTModuleCacheVariations[] = {
|
||||
@@ -417,6 +417,14 @@ const FeatureEntry::FeatureVariation kCCTModuleCacheVariations[] = {
|
||||
base::size(kCCTModuleCache_ThirtyMinutes), nullptr},
|
||||
};
|
||||
|
||||
+const FeatureEntry::Choice kDnsOverHttpsChoices[] = {
|
||||
+ {features::kDnsOverHttpsChoiceDefault, "", ""},
|
||||
+ {features::kDnsOverHttpsChoiceGoogle, switches::kDnsOverHttpsServer, "https://dns.google.com/experimental"},
|
||||
+ {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"}
|
||||
@@ -39,117 +37,90 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
+
|
||||
#endif // OS_ANDROID
|
||||
|
||||
const FeatureEntry::Choice kEnableGpuRasterizationChoices[] = {
|
||||
@@ -3400,6 +3408,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kTabSwitcherOnReturn,
|
||||
kTabSwitcherOnReturnVariations,
|
||||
"TabSwitcherOnReturn")},
|
||||
const FeatureEntry::FeatureParam kForceDark_SimpleHsl[] = {
|
||||
@@ -3578,6 +3586,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kEnableSyncUSSBookmarksName,
|
||||
flag_descriptions::kEnableSyncUSSBookmarksDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(switches::kSyncUSSBookmarks)},
|
||||
+ {"enable-dns-over-https", flag_descriptions::kDnsOverHttpsName,
|
||||
+ flag_descriptions::kDnsOverHttpsDescription, kOsAndroid,
|
||||
+ MULTI_VALUE_TYPE(kDnsOverHttpsChoices)},
|
||||
#endif
|
||||
|
||||
{"enable-built-in-module-all", flag_descriptions::kBuiltInModuleAllName,
|
||||
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
|
||||
@@ -2209,6 +2209,9 @@ const char kAutoFetchOnNetErrorPageDescription[] =
|
||||
"When enabled, and navigation fails with an offline error, schedule a "
|
||||
"fetch of the page when online again.";
|
||||
|
||||
+const char kDnsOverHttpsName[] = "DNS over HTTPS";
|
||||
+const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental).";
|
||||
+
|
||||
const char kAutofillAccessoryViewName[] =
|
||||
"Autofill suggestions as keyboard accessory view";
|
||||
const char kAutofillAccessoryViewDescription[] =
|
||||
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
|
||||
@@ -1306,6 +1306,9 @@ extern const char kAsyncDnsDescription[];
|
||||
extern const char kAutoFetchOnNetErrorPageName[];
|
||||
extern const char kAutoFetchOnNetErrorPageDescription[];
|
||||
|
||||
+extern const char kDnsOverHttpsName[];
|
||||
+extern const char kDnsOverHttpsDescription[];
|
||||
+
|
||||
extern const char kAutofillAccessoryViewName[];
|
||||
extern const char kAutofillAccessoryViewDescription[];
|
||||
|
||||
{"enable-lookalike-url-navigation-suggestions",
|
||||
flag_descriptions::kLookalikeUrlNavigationSuggestionsName,
|
||||
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/component_updater/sth_set_component_installer.h"
|
||||
#include "chrome/browser/io_thread.h"
|
||||
#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"
|
||||
#include "chrome/common/channel_info.h"
|
||||
@@ -122,6 +123,7 @@ void GetStubResolverConfig(
|
||||
if (!net::dns_util::IsValidDoHTemplate(
|
||||
doh_server_list[i].GetString(),
|
||||
doh_server_method_list[i].GetString())) {
|
||||
+ LOG(ERROR) << "Invalid DoH template: " << doh_server_list[i].GetString() << " with method " << doh_server_method_list[i].GetString();
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -401,15 +403,12 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
@@ -406,14 +408,16 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
base::Value(ShouldEnableAsyncDns()));
|
||||
base::ListValue default_doh_servers;
|
||||
base::ListValue default_doh_server_methods;
|
||||
std::string default_doh_mode = chrome_browser_net::kDnsOverHttpsModeOff;
|
||||
std::string default_doh_templates = "";
|
||||
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
|
||||
- std::string server(variations::GetVariationParamValueByFeature(
|
||||
- features::kDnsOverHttps, "server"));
|
||||
- std::string method(variations::GetVariationParamValueByFeature(
|
||||
- features::kDnsOverHttps, "method"));
|
||||
- if (!server.empty()) {
|
||||
- default_doh_servers.AppendString(server);
|
||||
- default_doh_server_methods.AppendString(method);
|
||||
- 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_servers.AppendString(server);
|
||||
+ default_doh_server_methods.AppendString("POST");
|
||||
+ 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::kDnsOverHttpsServers,
|
||||
std::move(default_doh_servers));
|
||||
+
|
||||
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsMode,
|
||||
base::Value(default_doh_mode));
|
||||
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsTemplates,
|
||||
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,7 +8,10 @@
|
||||
@@ -8,4 +8,10 @@
|
||||
|
||||
namespace features {
|
||||
|
||||
-const base::Feature kDnsOverHttps{"dns-over-https",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+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,9 +10,12 @@
|
||||
@@ -10,6 +10,12 @@
|
||||
|
||||
namespace features {
|
||||
|
||||
-// Enabled DNS over HTTPS
|
||||
+// 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 base::Feature kDnsOverHttps;
|
||||
+ // (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
|
||||
@@ -167,62 +138,32 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
|
||||
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
|
||||
@@ -105,3 +105,9 @@ LOAD_FLAG(SKIP_VARY_CHECK, 1 << 16)
|
||||
// does not complete in 60 seconds, the cache treat the stale resource as
|
||||
// invalid, as it did not specify stale-while-revalidate.
|
||||
LOAD_FLAG(SUPPORT_ASYNC_REVALIDATION, 1 << 17)
|
||||
@@ -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 << 18)
|
||||
+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
|
||||
@@ -358,29 +358,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
extra_request_headers.SetHeader("Accept", kDnsOverHttpResponseContentType);
|
||||
|
||||
DCHECK(url_request_context);
|
||||
- request_ = url_request_context->CreateRequest(
|
||||
- url, request_priority_, this,
|
||||
- net::DefineNetworkTrafficAnnotation("dns_over_https", R"(
|
||||
- semantics {
|
||||
- sender: "DNS over HTTPS"
|
||||
- description: "Domain name resolution over HTTPS"
|
||||
- trigger: "User enters a navigates to a domain or Chrome otherwise "
|
||||
- "makes a connection to a domain whose IP address isn't cached"
|
||||
- data: "The domain name that is being requested"
|
||||
- destination: OTHER
|
||||
- destination_other: "The user configured DNS over HTTPS server, which"
|
||||
- "may be dns.google.com"
|
||||
- }
|
||||
- policy {
|
||||
- cookies_allowed: NO
|
||||
- setting:
|
||||
- "You can configure this feature via that 'dns_over_https_servers' and"
|
||||
- "'dns_over_https.method' prefs. Empty lists imply this feature is"
|
||||
- "disabled"
|
||||
- policy_exception_justification: "Experimental feature that"
|
||||
- "is disabled by default"
|
||||
- }
|
||||
- )"));
|
||||
+ request_ = url_request_context->CreateRequest(url, request_priority_, this);
|
||||
net_log_ = request_->net_log();
|
||||
|
||||
if (use_post) {
|
||||
@@ -396,6 +374,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
|
||||
|
||||
request_->SetExtraRequestHeaders(extra_request_headers);
|
||||
@@ -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_IGNORE_LIMITS | LOAD_MINIMAL_HEADERS |
|
||||
LOAD_BYPASS_PROXY);
|
||||
LOAD_BYPASS_PROXY |
|
||||
- LOAD_DISABLE_CERT_NETWORK_FETCHES);
|
||||
+ LOAD_DISABLE_CERT_NETWORK_FETCHES | LOAD_MINIMAL_HEADERS);
|
||||
request_->set_allow_credentials(false);
|
||||
}
|
||||
@@ -815,7 +794,7 @@ class DnsTransactionImpl : public DnsTransaction,
|
||||
|
||||
@@ -997,7 +997,7 @@ class DnsTransactionImpl : public DnsTransaction,
|
||||
had_tcp_attempt_(false),
|
||||
doh_attempt_(false),
|
||||
first_server_index_(0),
|
||||
url_request_context_(url_request_context),
|
||||
- request_priority_(DEFAULT_PRIORITY) {
|
||||
+ request_priority_(MAXIMUM_PRIORITY) {
|
||||
DCHECK(session_.get());
|
||||
@@ -231,27 +172,22 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
|
||||
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
|
||||
--- a/net/url_request/url_request_http_job.cc
|
||||
+++ b/net/url_request/url_request_http_job.cc
|
||||
@@ -425,17 +425,21 @@ void URLRequestHttpJob::Start() {
|
||||
@@ -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);
|
||||
|
||||
- // Our consumer should have made sure that this is a safe referrer. See for
|
||||
- // instance WebCore::FrameLoader::HideReferrer.
|
||||
- if (referrer.is_valid()) {
|
||||
- request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
|
||||
- referrer.spec());
|
||||
+ 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()) {
|
||||
+ request_info_.extra_headers.SetHeader(HttpRequestHeaders::kReferer,
|
||||
+ referrer.spec());
|
||||
+ }
|
||||
// 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);
|
||||
}
|
||||
+ }
|
||||
|
||||
- request_info_.extra_headers.SetHeaderIfMissing(
|
||||
+ if (!(request_info_.load_flags & LOAD_MINIMAL_HEADERS)) {
|
||||
+ request_info_.extra_headers.SetHeaderIfMissing(
|
||||
request_info_.extra_headers.SetHeaderIfMissing(
|
||||
HttpRequestHeaders::kUserAgent,
|
||||
http_user_agent_settings_ ?
|
||||
http_user_agent_settings_->GetUserAgent() : std::string());
|
||||
@@ -259,7 +195,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
|
||||
AddExtraHeaders();
|
||||
AddCookieHeaderAndStart();
|
||||
@@ -659,10 +663,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
|
||||
@@ -582,10 +586,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
|
||||
} else {
|
||||
// Advertise "br" encoding only if transferred data is opaque to proxy.
|
||||
bool advertise_brotli = false;
|
||||
@@ -276,7 +212,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
|
||||
}
|
||||
}
|
||||
|
||||
@@ -680,7 +686,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
|
||||
@@ -603,7 +609,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@ settings.
|
||||
Offer auto-complete for the proxy page URL.
|
||||
---
|
||||
chrome/android/java/res/values/values.xml | 3 +
|
||||
.../android/java/res/xml/privacy_preferences.xml | 5 +
|
||||
.../android/java/res/xml/privacy_preferences.xml | 4 +
|
||||
.../chrome_autocomplete_provider_client.cc | 2 +
|
||||
chrome/browser/browser_resources.grd | 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 | 399 +++++++++++++++++++++
|
||||
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 +
|
||||
@@ -26,7 +26,7 @@ Offer auto-complete for the proxy page URL.
|
||||
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, 914 insertions(+), 12 deletions(-)
|
||||
19 files changed, 915 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
|
||||
@@ -81,6 +81,9 @@
|
||||
@@ -76,6 +76,9 @@
|
||||
<integer name="list_item_level_selected">1</integer>
|
||||
<integer name="list_item_level_incognito">2</integer>
|
||||
|
||||
@@ -49,24 +49,21 @@ 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
|
||||
@@ -5,8 +5,13 @@
|
||||
|
||||
<PreferenceScreen
|
||||
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">
|
||||
@@ -6,6 +6,10 @@
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
+ <org.chromium.chrome.browser.preferences.HyperlinkPreference
|
||||
+ android:key="proxy"
|
||||
+ android:title="@string/proxy_title"
|
||||
+ app:url="@string/proxy_url" />
|
||||
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
android:key="navigation_error"
|
||||
android:title="@string/navigation_error_title"
|
||||
android:key="search_suggestions"
|
||||
android:title="@string/search_suggestions_title"
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -236,6 +236,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
@@ -257,6 +257,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUIFlagsURL));
|
||||
builtins_to_provide.push_back(
|
||||
@@ -78,19 +75,23 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
|
||||
--- a/chrome/browser/browser_resources.grd
|
||||
+++ b/chrome/browser/browser_resources.grd
|
||||
@@ -213,6 +213,8 @@
|
||||
<include name="IDR_SNIPPETS_INTERNALS_CSS" file="resources\snippets_internals\snippets_internals.css" compress="gzip" type="BINDATA" />
|
||||
<include name="IDR_SNIPPETS_INTERNALS_JS" file="resources\snippets_internals\snippets_internals.js" compress="gzip" type="BINDATA" />
|
||||
<include name="IDR_SNIPPETS_INTERNALS_MOJO_JS" file="${root_gen_dir}\chrome\browser\ui\webui\snippets_internals\snippets_internals.mojom.js" use_base_dir="false" type="BINDATA" compress="gzip" />
|
||||
@@ -202,6 +202,12 @@
|
||||
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
|
||||
</if>
|
||||
|
||||
+ <!-- Bromite Proxy Configuration UI. -->
|
||||
+ <if expr="is_android">
|
||||
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
|
||||
+ <include name="IDR_PROXY_CONFIG_JS" file="resources\proxy_config.js" type="BINDATA" compress="gzip" />
|
||||
</if>
|
||||
<include name="IDR_SUPERVISED_USER_INTERNALS_HTML" file="resources\supervised_user_internals.html" allowexternalscript="true" compress="gzip" type="BINDATA" />
|
||||
<include name="IDR_SUPERVISED_USER_INTERNALS_CSS" file="resources\supervised_user_internals.css" compress="gzip" type="BINDATA" />
|
||||
+ </if>
|
||||
+
|
||||
<!-- App Management. -->
|
||||
<if expr="not is_android">
|
||||
<include name="IDR_APP_MANAGEMENT_BITMAP_MOJO_LITE_JS" file="${root_gen_dir}\skia\public\mojom\bitmap.mojom-lite.js" use_base_dir="false" type="BINDATA" />
|
||||
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
|
||||
@@ -161,7 +161,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||
@@ -153,7 +153,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||
SetValue(
|
||||
proxy_config::prefs::kProxy,
|
||||
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
|
||||
@@ -508,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
|
||||
@@ -271,6 +271,8 @@ jumbo_split_static_library("ui") {
|
||||
@@ -275,6 +275,8 @@ jumbo_split_static_library("ui") {
|
||||
"webui/metrics_handler.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
@@ -516,19 +517,19 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
+ "webui/proxy_config_ui.h",
|
||||
"webui/net_internals/net_internals_ui.cc",
|
||||
"webui/net_internals/net_internals_ui.h",
|
||||
"webui/ntp_tiles_internals_ui.cc",
|
||||
"webui/notifications_internals/notifications_internals_ui.cc",
|
||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "chrome/browser/ui/webui/password_manager_internals/password_manager_internals_ui.h"
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
||||
#include "chrome/browser/ui/webui/policy_ui.h"
|
||||
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
|
||||
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
|
||||
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/settings/md_settings_ui.h"
|
||||
#include "chrome/browser/ui/webui/settings/settings_ui.h"
|
||||
#include "chrome/browser/ui/webui/settings_utils.h"
|
||||
@@ -386,6 +387,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -413,6 +414,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MemoryInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
@@ -536,12 +537,12 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
|
||||
+ return &NewWebUI<ProxyConfigUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetInternalsHost)
|
||||
return &NewWebUI<NetInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINTPTilesInternalsHost)
|
||||
if (url.host_piece() == chrome::kChromeUINotificationsInternalsHost)
|
||||
diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
|
||||
@@ -0,0 +1,399 @@
|
||||
@@ -0,0 +1,397 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -577,7 +578,6 @@ new file mode 100644
|
||||
+#include "base/strings/utf_string_conversions.h"
|
||||
+#include "base/values.h"
|
||||
+#include "chrome/browser/browser_process.h"
|
||||
+#include "chrome/browser/io_thread.h"
|
||||
+#include "chrome/browser/net/proxy_service_factory.h"
|
||||
+#include "chrome/browser/platform_util.h"
|
||||
+#include "chrome/browser/profiles/profile.h"
|
||||
@@ -606,10 +606,9 @@ new file mode 100644
|
||||
+ content::WebUIDataSource* source =
|
||||
+ content::WebUIDataSource::Create(chrome::kChromeUIProxyConfigHost);
|
||||
+
|
||||
+ source->SetJsonPath("strings.js");
|
||||
+ source->UseStringsJs();
|
||||
+ source->AddResourcePath("proxy_config.js", IDR_PROXY_CONFIG_JS);
|
||||
+ source->SetDefaultResource(IDR_PROXY_CONFIG_HTML);
|
||||
+ source->UseGzip();
|
||||
+ return source;
|
||||
+}
|
||||
+
|
||||
@@ -982,7 +981,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
|
||||
@@ -177,6 +177,8 @@ const char kChromeUINativePhysicalWebDiagnosticsURL[] =
|
||||
@@ -189,6 +189,8 @@ const char kChromeUINativePhysicalWebDiagnosticsURL[] =
|
||||
const char kChromeUINativeScheme[] = "chrome-native";
|
||||
const char kChromeUIOfflineInternalsHost[] = "offline-internals";
|
||||
const char kChromeUIPhysicalWebDiagnosticsHost[] = "physical-web-diagnostics";
|
||||
@@ -991,15 +990,15 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
||||
const char kChromeUISnippetsInternalsHost[] = "snippets-internals";
|
||||
const char kChromeUIWebApksHost[] = "webapks";
|
||||
#endif
|
||||
@@ -354,6 +356,7 @@ const char* const kChromeHostURLs[] = {
|
||||
kChromeUIPasswordManagerInternalsHost,
|
||||
kChromeUIPolicyHost,
|
||||
kChromeUIPredictorsHost,
|
||||
+ kChromeUIProxyConfigHost,
|
||||
kChromeUIQuotaInternalsHost,
|
||||
kChromeUISignInInternalsHost,
|
||||
kChromeUISiteEngagementHost,
|
||||
@@ -388,6 +391,7 @@ const char* const kChromeHostURLs[] = {
|
||||
@@ -456,6 +458,7 @@ bool IsOSSettingsSubPage(const std::string& sub_page) {
|
||||
kResetSubPage,
|
||||
kSmartLockSettingsSubPage,
|
||||
kSmbSharesSubPage,
|
||||
+ kChromeUIProxyConfigHost,
|
||||
kStorageSubPage,
|
||||
kStylusSubPage,
|
||||
kSwitchAccessSubPage,
|
||||
@@ -556,6 +559,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !defined(OS_CHROMEOS)
|
||||
kChromeUIAppLauncherPageHost,
|
||||
@@ -1010,7 +1009,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
|
||||
@@ -102,6 +102,8 @@ extern const char kChromeUIMemoryInternalsHost[];
|
||||
@@ -110,6 +110,8 @@ extern const char kChromeUIMemoryInternalsHost[];
|
||||
extern const char kChromeUINTPTilesInternalsHost[];
|
||||
extern const char kChromeUINaClHost[];
|
||||
extern const char kChromeUINetExportHost[];
|
||||
@@ -1191,7 +1190,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
|
||||
diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_config.h
|
||||
--- a/net/proxy_resolution/proxy_config.h
|
||||
+++ b/net/proxy_resolution/proxy_config.h
|
||||
@@ -104,6 +104,9 @@ class NET_EXPORT ProxyConfig {
|
||||
@@ -103,6 +103,9 @@ class NET_EXPORT ProxyConfig {
|
||||
// and use socks4://foopy2 for all other
|
||||
// URLs.
|
||||
void ParseFromString(const std::string& proxy_rules);
|
||||
|
||||
@@ -5,32 +5,43 @@ Subject: Add an always-incognito mode
|
||||
More specifically, add a preference that causes all new tabs and all
|
||||
clicked links to launch as incognito.
|
||||
---
|
||||
chrome/android/chrome_java_sources.gni | 1 +
|
||||
.../android/java/res/xml/privacy_preferences.xml | 5 ++
|
||||
.../browser/AlwaysIncognitoLinkInterceptor.java | 73 ++++++++++++++++++++++
|
||||
.../chromium/chrome/browser/ChromeActivity.java | 4 ++
|
||||
.../chrome/browser/appmenu/AppMenuHandler.java | 12 ++++
|
||||
.../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 | 6 ++
|
||||
chrome/android/java_sources.gni | 1 +
|
||||
8 files changed, 132 insertions(+), 2 deletions(-)
|
||||
.../java/strings/android_chrome_strings.grd | 8 +++
|
||||
8 files changed, 134 insertions(+), 2 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
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -3,6 +3,7 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
chrome_java_sources = [
|
||||
+ "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",
|
||||
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
|
||||
@@ -39,6 +39,11 @@
|
||||
android:key="usage_and_crash_reports"
|
||||
android:title="@string/usage_and_crash_reports_title_legacy"
|
||||
android:fragment="org.chromium.chrome.browser.preferences.privacy.UsageAndCrashReportsPreferenceFragment" />
|
||||
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
@@ -21,6 +21,11 @@
|
||||
android:title="@string/can_make_payment_title"
|
||||
android:summary="@string/settings_can_make_payment_toggle_label" />
|
||||
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
+ android:key="always_incognito"
|
||||
+ android:title="@string/always_incognito_title"
|
||||
+ android:summary="@string/always_incognito_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<Preference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.privacy.DoNotTrackPreference"
|
||||
android:key="do_not_track"
|
||||
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
android:key="preload_pages"
|
||||
android:title="@string/preload_pages_title"
|
||||
android:summary="@string/preload_pages_summary"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -112,15 +123,16 @@ 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
|
||||
@@ -260,6 +260,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
|
||||
@@ -225,6 +225,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
|
||||
private static final int RECORD_MULTI_WINDOW_SCREEN_WIDTH_DELAY_MS = 5000;
|
||||
|
||||
// Observes when sync becomes ready to create the mContextReporter.
|
||||
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
|
||||
private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
|
||||
|
||||
@Nullable
|
||||
@@ -1731,6 +1732,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
+
|
||||
/**
|
||||
* Timeout in ms for reading PartnerBrowserCustomizations provider.
|
||||
*/
|
||||
@@ -1650,6 +1652,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -130,28 +142,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
||||
return incognito ? mIncognitoTabCreator : mRegularTabCreator;
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuHandler.java
|
||||
@@ -17,6 +17,7 @@ import android.view.View;
|
||||
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;
|
||||
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.Callback;
|
||||
+import org.chromium.base.ContextUtils;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.base.ObservableSupplier;
|
||||
import org.chromium.base.VisibleForTesting;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
@@ -57,6 +58,8 @@ class AppMenuHandlerImpl
|
||||
private @Nullable OverviewModeBehavior mOverviewModeBehavior;
|
||||
private OverviewModeBehavior.OverviewModeObserver mOverviewModeObserver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -26,6 +27,9 @@ import java.util.ArrayList;
|
||||
* AppMenuObservers about these actions.
|
||||
*/
|
||||
public class AppMenuHandler {
|
||||
+
|
||||
+ private static final String PREF_ALWAYS_INCOGNITO = "always_incognito";
|
||||
+
|
||||
private AppMenu mAppMenu;
|
||||
private AppMenuDragHelper mAppMenuDragHelper;
|
||||
private Menu mMenu;
|
||||
@@ -182,6 +186,14 @@ public class AppMenuHandler {
|
||||
/**
|
||||
* The resource id of the menu item to highlight when the menu next opens. A value of
|
||||
* {@code null} means no item will be highlighted. This value will be cleared after the menu is
|
||||
@@ -267,6 +270,14 @@ class AppMenuHandlerImpl
|
||||
if (mDelegate.shouldShowHeader(appRect.height())) {
|
||||
headerResourceId = mDelegate.getHeaderResourceId();
|
||||
}
|
||||
@@ -169,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
@@ -14,6 +14,7 @@ import android.webkit.MimeTypeMap;
|
||||
@@ -15,6 +15,7 @@ import android.webkit.URLUtil;
|
||||
|
||||
import org.chromium.base.library_loader.LibraryProcessType;
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
@@ -177,7 +188,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabPanel;
|
||||
@@ -44,6 +45,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -46,6 +47,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
private static final String TAG = "CCMenuPopulator";
|
||||
private final ContextMenuItemDelegate mDelegate;
|
||||
private final @ContextMenuMode int mMode;
|
||||
@@ -185,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
|
||||
/**
|
||||
* Defines the Groups of each Context Menu Item
|
||||
@@ -252,7 +254,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -298,7 +300,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
if (FirstRunStatus.getFirstRunFlowComplete() && mMode == ContextMenuMode.NORMAL
|
||||
&& !isEmptyUrl(params.getUrl())
|
||||
&& UrlUtilities.isAcceptedScheme(params.getUrl())) {
|
||||
@@ -202,8 +213,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
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
|
||||
@@ -7,8 +7,10 @@ package org.chromium.chrome.browser.tabmodel;
|
||||
import android.content.Intent;
|
||||
@@ -8,8 +8,10 @@ import android.content.Intent;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
+import org.chromium.base.ContextUtils;
|
||||
@@ -213,15 +224,15 @@ 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;
|
||||
@@ -16,6 +18,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
||||
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
||||
@@ -17,6 +19,7 @@ import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabAssociatedApp;
|
||||
import org.chromium.chrome.browser.tab.TabBuilder;
|
||||
+import org.chromium.chrome.browser.tab.TabObserver;
|
||||
import org.chromium.chrome.browser.tab.TabDelegateFactory;
|
||||
import org.chromium.chrome.browser.tab.TabParentIntent;
|
||||
import org.chromium.chrome.browser.tab.TabRedirectHandler;
|
||||
@@ -35,6 +38,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
@@ -37,6 +40,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
|
||||
private final ChromeActivity mActivity;
|
||||
private final boolean mIncognito;
|
||||
@@ -229,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
|
||||
private WindowAndroid mNativeWindow;
|
||||
private TabModel mTabModel;
|
||||
@@ -46,6 +50,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
@@ -47,6 +51,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
mActivity = activity;
|
||||
mNativeWindow = nativeWindow;
|
||||
mIncognito = incognito;
|
||||
@@ -241,7 +252,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -170,6 +179,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
@@ -171,6 +180,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
tab.getWebContents());
|
||||
}
|
||||
|
||||
@@ -252,19 +263,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
||||
mTabModel.addTab(tab, position, type);
|
||||
return tab;
|
||||
} finally {
|
||||
@@ -198,6 +211,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
@@ -199,6 +212,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
.setWindow(mNativeWindow)
|
||||
.setLaunchType(type)
|
||||
.build();
|
||||
tab.initialize(webContents, mTabContentManager, delegateFactory, !openInForeground, false);
|
||||
+
|
||||
+ if (mExtraLogic != null) {
|
||||
+ tab.addObserver(mExtraLogic);
|
||||
+ }
|
||||
+
|
||||
tab.initialize(webContents, delegateFactory, !openInForeground, null, false);
|
||||
mTabModel.addTab(tab, position, type);
|
||||
return true;
|
||||
}
|
||||
@@ -240,7 +258,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
@@ -242,7 +260,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
*/
|
||||
public Tab launchUrlFromExternalApp(String url, String referer, String headers,
|
||||
String appId, boolean forceNewTab, Intent intent, long intentTimestamp) {
|
||||
@@ -272,9 +283,9 @@ 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
|
||||
@@ -304,6 +321,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
tab.initialize(
|
||||
null, mTabContentManager, createDefaultTabDelegateFactory(), !selectTab, false);
|
||||
@@ -307,6 +324,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
|
||||
state.isIncognito());
|
||||
tab.initialize(null, createDefaultTabDelegateFactory(), !selectTab, state, false);
|
||||
assert state.isIncognito() == mIncognito;
|
||||
+
|
||||
+ if (mExtraLogic != null) {
|
||||
@@ -287,30 +298,21 @@ 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
|
||||
@@ -722,6 +722,12 @@ CHAR-LIMIT guidelines:
|
||||
<message name="IDS_SAFE_BROWSING_SCOUT_REPORTING_SUMMARY" desc="Body text for Chrome setting under 'Help Improve Safe Browsing'. This feature sends small amounts of data to Google about potentially-dangerous pages to help Safe Browsing improve Chrome's protection against malware and phishing.">
|
||||
Sends some system information and page content to Google
|
||||
@@ -689,6 +689,14 @@ CHAR-LIMIT guidelines:
|
||||
Search and site suggestions disabled
|
||||
</message>
|
||||
|
||||
+ <!-- always incognito -->
|
||||
+ <message name="IDS_ALWAYS_INCOGNITO_TITLE" desc="Title for always incognito mode">
|
||||
+ Open links in incognito tabs always
|
||||
+ </message>
|
||||
+ <message name="IDS_ALWAYS_INCOGNITO_SUMMARY" desc="Summary for always incognito mode">
|
||||
+ Opens links in incognito tabs when you click on new tab or on a link
|
||||
+ </message>
|
||||
<message name="IDS_SAFE_BROWSING_TITLE" desc="Title for safe browsing.">
|
||||
Safe Browsing
|
||||
</message>
|
||||
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
--- a/chrome/android/java_sources.gni
|
||||
+++ b/chrome/android/java_sources.gni
|
||||
@@ -10,6 +10,7 @@ import("//components/offline_pages/buildflags/features.gni")
|
||||
import("//device/vr/buildflags/buildflags.gni")
|
||||
|
||||
chrome_java_sources = [
|
||||
+ "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",
|
||||
+
|
||||
<!-- Themes preferences -->
|
||||
<message name="IDS_PREFS_THEMES" desc="Title for the Themes preferences. [CHAR-LIMIT=32]">
|
||||
Themes
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -28,19 +28,19 @@ Completely remove contacts picker permission from the file dialog
|
||||
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, 445 insertions(+), 15 deletions(-)
|
||||
22 files changed, 446 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -35,7 +35,6 @@ by a child template that "extends" this file.
|
||||
@@ -34,7 +34,6 @@ by a child template that "extends" this file.
|
||||
{% endif %}
|
||||
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||
- <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
|
||||
|
||||
<!-- notouch build doesn't support downloads home and shouldn't need this permission -->
|
||||
{% set notouch_build = notouch_build|default(0) %}
|
||||
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
|
||||
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
|
||||
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
|
||||
@@ -89,6 +89,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -90,6 +90,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();
|
||||
@@ -132,6 +138,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -141,6 +147,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);
|
||||
}
|
||||
@@ -141,6 +149,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -150,6 +158,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);
|
||||
}
|
||||
@@ -173,6 +183,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -182,6 +192,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
public void onFolderStateSet(BookmarkId folder) {
|
||||
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
|
||||
|
||||
@@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
|
||||
@@ -12,6 +12,7 @@ import org.chromium.base.VisibleForTesting;
|
||||
import org.chromium.chrome.browser.SnackbarActivity;
|
||||
import org.chromium.chrome.browser.UrlConstants;
|
||||
import org.chromium.chrome.browser.util.UrlConstants;
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
+import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
|
||||
@@ -169,9 +169,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
|
||||
@@ -13,11 +17,15 @@ import org.chromium.base.ObserverList;
|
||||
import org.chromium.base.VisibleForTesting;
|
||||
@@ -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;
|
||||
@@ -185,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -507,6 +515,24 @@ public class BookmarkBridge {
|
||||
@@ -525,6 +533,24 @@ public class BookmarkBridge {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+ */
|
||||
+ public void importBookmarks(WindowAndroid window) {
|
||||
+ assert mIsNativeBookmarkModelLoaded;
|
||||
+ nativeImportBookmarks(mNativeBookmarkBridge, window);
|
||||
+ BookmarkBridgeJni.get().importBookmarks(mNativeBookmarkBridge, BookmarkBridge.this, window);
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
@@ -203,14 +203,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
+ */
|
||||
+ public void exportBookmarks() {
|
||||
+ assert mIsNativeBookmarkModelLoaded;
|
||||
+ nativeExportBookmarks(mNativeBookmarkBridge);
|
||||
+ 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.
|
||||
@@ -839,6 +865,24 @@ public class BookmarkBridge {
|
||||
@@ -877,6 +903,24 @@ public class BookmarkBridge {
|
||||
depthList.add(depth);
|
||||
}
|
||||
|
||||
@@ -235,19 +235,19 @@ 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++) {
|
||||
@@ -905,6 +949,8 @@ public class BookmarkBridge {
|
||||
boolean getFolders, boolean getBookmarks, List<BookmarkId> bookmarksList);
|
||||
private native BookmarkId nativeGetChildAt(long nativeBookmarkBridge, long id, int type,
|
||||
int index);
|
||||
+ private native void nativeImportBookmarks(long nativeBookmarkBridge, WindowAndroid window);
|
||||
+ private native void nativeExportBookmarks(long nativeBookmarkBridge);
|
||||
private native int nativeGetTotalBookmarkCount(long nativeBookmarkBridge, long id, int type);
|
||||
private native void nativeSetBookmarkTitle(long nativeBookmarkBridge, long id, int type,
|
||||
String title);
|
||||
@@ -943,6 +987,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);
|
||||
+ void importBookmarks(long nativeBookmarkBridge, BookmarkBridge caller, WindowAndroid window);
|
||||
+ void exportBookmarks(long nativeBookmarkBridge, BookmarkBridge caller);
|
||||
BookmarkId getChildAt(
|
||||
long nativeBookmarkBridge, BookmarkBridge caller, long id, int type, int index);
|
||||
int getTotalBookmarkCount(
|
||||
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
|
||||
@@ -69,6 +69,16 @@ interface BookmarkDelegate {
|
||||
@@ -70,6 +70,16 @@ interface BookmarkDelegate {
|
||||
void openSearchUI();
|
||||
|
||||
/**
|
||||
@@ -267,15 +267,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
@@ -21,6 +21,7 @@ import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -22,6 +22,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;
|
||||
+import org.chromium.chrome.browser.ChromeActivity;
|
||||
import org.chromium.chrome.browser.favicon.LargeIconBridge;
|
||||
import org.chromium.chrome.browser.gesturenav.HistoryNavigationDelegate;
|
||||
import org.chromium.chrome.browser.native_page.BasicNativePage;
|
||||
import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksReader;
|
||||
@@ -31,6 +32,7 @@ import org.chromium.chrome.browser.widget.selection.SelectableListLayout;
|
||||
@@ -34,6 +35,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 +283,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
|
||||
import java.util.Stack;
|
||||
|
||||
@@ -55,6 +57,7 @@ public class BookmarkManager implements BookmarkDelegate, SearchDelegate,
|
||||
@@ -58,6 +60,7 @@ public class BookmarkManager
|
||||
private Activity mActivity;
|
||||
private ViewGroup mMainView;
|
||||
private BookmarkModel mBookmarkModel;
|
||||
@@ -291,7 +291,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private BookmarkUndoController mUndoController;
|
||||
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
|
||||
private BasicNativePage mNativePage;
|
||||
@@ -266,6 +269,13 @@ public class BookmarkManager implements BookmarkDelegate, SearchDelegate,
|
||||
@@ -362,6 +365,13 @@ public class BookmarkManager
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -305,7 +305,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
|
||||
* yet in this session, on phone return last used state stored in preference; on tablet
|
||||
* return the url previously set by {@link #updateForUrl(String)}.
|
||||
@@ -413,6 +423,16 @@ public class BookmarkManager implements BookmarkDelegate, SearchDelegate,
|
||||
@@ -523,6 +533,16 @@ public class BookmarkManager
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -329,14 +329,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
mManager = new BookmarkManager(
|
||||
activity, false, ((SnackbarManageable) activity).getSnackbarManager());
|
||||
mManager.setBasicNativePage(this);
|
||||
+ mManager.setWindow(activity.getWindowAndroid());
|
||||
+ mManager.setWindow(activity.getWindowAndroid());
|
||||
mManager.setHistoryNavigationDelegate(host.createHistoryNavigationDelegate());
|
||||
mTitle = activity.getString(R.string.bookmarks);
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -233,6 +233,12 @@ CHAR-LIMIT guidelines:
|
||||
@@ -236,6 +236,12 @@ CHAR-LIMIT guidelines:
|
||||
<message name="IDS_SEARCH" desc="The label for a search button.">
|
||||
Search
|
||||
</message>
|
||||
@@ -352,7 +352,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -163,6 +163,10 @@ jumbo_split_static_library("browser") {
|
||||
@@ -174,6 +174,10 @@ jumbo_split_static_library("browser") {
|
||||
"bitmap_fetcher/bitmap_fetcher_service.h",
|
||||
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
|
||||
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
|
||||
@@ -362,9 +362,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
+ "bookmarks/bookmark_html_writer.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
"bookmarks/bookmark_stats.cc",
|
||||
@@ -2769,8 +2773,6 @@ jumbo_split_static_library("browser") {
|
||||
"banners/app_banner_infobar_delegate_desktop.h",
|
||||
"bookmarks/chrome_bookmark_client.cc",
|
||||
@@ -3006,8 +3010,6 @@ jumbo_split_static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
- "bookmarks/bookmark_html_writer.cc",
|
||||
@@ -372,7 +372,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"certificate_viewer.h",
|
||||
"chrome_browser_field_trials_desktop.cc",
|
||||
"chrome_browser_field_trials_desktop.h",
|
||||
@@ -2859,8 +2861,6 @@ jumbo_split_static_library("browser") {
|
||||
@@ -3114,8 +3116,6 @@ jumbo_split_static_library("browser") {
|
||||
"importer/importer_uma.h",
|
||||
"importer/in_process_importer_bridge.cc",
|
||||
"importer/in_process_importer_bridge.h",
|
||||
@@ -384,52 +384,29 @@ 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
|
||||
@@ -9,19 +9,30 @@
|
||||
|
||||
#include <memory>
|
||||
@@ -41,6 +41,21 @@
|
||||
#include "components/undo/undo_manager.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
|
||||
+#include "base/android/content_uri_utils.h"
|
||||
#include "base/android/jni_array.h"
|
||||
#include "base/android/jni_string.h"
|
||||
#include "base/bind.h"
|
||||
+#include "base/android/path_utils.h"
|
||||
#include "base/containers/stack.h"
|
||||
#include "base/containers/stack_container.h"
|
||||
#include "base/i18n/string_compare.h"
|
||||
+#include "base/strings/utf_string_conversions.h"
|
||||
+#include "chrome/utility/importer/bookmark_html_reader.h"
|
||||
+#include "chrome/browser/bookmarks/bookmark_html_writer.h"
|
||||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
||||
#include "chrome/browser/bookmarks/managed_bookmark_service_factory.h"
|
||||
+#include "chrome/browser/importer/profile_writer.h"
|
||||
+#include "chrome/browser/platform_util.h"
|
||||
+#include "chrome/browser/ui/chrome_select_file_policy.h"
|
||||
#include "chrome/browser/profiles/incognito_helpers.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/profiles/profile_android.h"
|
||||
#include "chrome/browser/signin/identity_manager_factory.h"
|
||||
#include "chrome/browser/undo/bookmark_undo_service_factory.h"
|
||||
+#include "chrome/common/importer/imported_bookmark_entry.h"
|
||||
+#include "chrome/common/importer/importer_data_types.h"
|
||||
+#include "chrome/common/url_constants.h"
|
||||
#include "components/bookmarks/browser/bookmark_model.h"
|
||||
#include "components/bookmarks/browser/bookmark_utils.h"
|
||||
#include "components/bookmarks/browser/scoped_group_bookmark_actions.h"
|
||||
@@ -31,10 +42,13 @@
|
||||
#include "components/bookmarks/managed/managed_bookmark_service.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/query_parser/query_parser.h"
|
||||
+#include "components/search_engines/template_url.h"
|
||||
#include "components/undo/bookmark_undo_service.h"
|
||||
#include "components/undo/undo_manager.h"
|
||||
+#include "components/url_formatter/url_fixer.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "jni/BookmarkBridge_jni.h"
|
||||
+#include "ui/android/window_android.h"
|
||||
#include "services/identity/public/cpp/identity_manager.h"
|
||||
|
||||
+
|
||||
using base::android::AttachCurrentThread;
|
||||
@@ -54,6 +68,57 @@ using bookmarks::BookmarkPermanentNode;
|
||||
using base::android::ConvertUTF8ToJavaString;
|
||||
using base::android::ConvertUTF16ToJavaString;
|
||||
@@ -58,6 +73,56 @@ using bookmarks::BookmarkPermanentNode;
|
||||
using bookmarks::BookmarkType;
|
||||
using content::BrowserThread;
|
||||
|
||||
@@ -457,8 +434,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
||||
+ // that we support.
|
||||
+ if (url.SchemeIs(content::kChromeUIScheme) ||
|
||||
+ url.SchemeIs(url::kAboutScheme)) {
|
||||
+ if (url.host_piece() == chrome::kChromeUIUberHost ||
|
||||
+ url.host_piece() == chrome::kChromeUIAboutHost)
|
||||
+ if (url.host_piece() == chrome::kChromeUIAboutHost)
|
||||
+ return true;
|
||||
+
|
||||
+ GURL fixed_url(url_formatter::FixupURL(url.spec(), std::string()));
|
||||
@@ -487,7 +463,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
||||
namespace {
|
||||
|
||||
class BookmarkTitleComparer {
|
||||
@@ -130,6 +195,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
@@ -134,6 +199,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
bookmark_model_->RemoveObserver(this);
|
||||
if (partner_bookmarks_shim_)
|
||||
partner_bookmarks_shim_->RemoveObserver(this);
|
||||
@@ -654,7 +630,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
|
||||
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
|
||||
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
|
||||
@@ -13,6 +13,8 @@
|
||||
@@ -16,6 +16,8 @@
|
||||
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
|
||||
#include "components/bookmarks/common/android/bookmark_id.h"
|
||||
#include "components/prefs/pref_change_registrar.h"
|
||||
@@ -663,7 +639,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
namespace bookmarks {
|
||||
class BookmarkModel;
|
||||
@@ -26,7 +28,8 @@ class Profile;
|
||||
@@ -29,7 +31,8 @@ class Profile;
|
||||
// bookmark page. This fetches the bookmarks, title, urls, folder
|
||||
// hierarchy.
|
||||
class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
@@ -673,7 +649,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
||||
public:
|
||||
BookmarkBridge(JNIEnv* env,
|
||||
const base::android::JavaRef<jobject>& obj,
|
||||
@@ -36,6 +39,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
@@ -39,6 +42,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
bool IsDoingExtensiveChanges(JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& obj);
|
||||
|
||||
@@ -683,10 +659,10 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
||||
+ void* params) override;
|
||||
+ void FileSelectionCanceled(void* params) override;
|
||||
+
|
||||
jboolean IsEditBookmarksEnabled(
|
||||
JNIEnv* env,
|
||||
const base::android::JavaParamRef<jobject>& obj);
|
||||
@@ -116,6 +125,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
jboolean IsEditBookmarksEnabled(JNIEnv* env);
|
||||
|
||||
void LoadEmptyPartnerBookmarkShimForTesting(
|
||||
@@ -129,6 +138,13 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
jlong id,
|
||||
jint type);
|
||||
|
||||
@@ -700,7 +676,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,
|
||||
@@ -261,12 +277,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
@@ -274,12 +290,14 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
void ShimBeingDeleted(PartnerBookmarksShim* shim) override;
|
||||
|
||||
Profile* profile_;
|
||||
@@ -718,7 +694,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
||||
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
|
||||
--- a/chrome/browser/importer/profile_writer.cc
|
||||
+++ b/chrome/browser/importer/profile_writer.cc
|
||||
@@ -97,12 +97,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
|
||||
@@ -96,12 +96,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
|
||||
HistoryServiceFactory::GetForProfile(profile_,
|
||||
ServiceAccessType::EXPLICIT_ACCESS)
|
||||
->AddPagesWithDetails(page, visit_source);
|
||||
@@ -733,7 +709,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
|
||||
}
|
||||
|
||||
void ProfileWriter::AddHomepage(const GURL& home_page) {
|
||||
@@ -123,6 +125,16 @@ void ProfileWriter::AddBookmarks(
|
||||
@@ -122,6 +124,16 @@ void ProfileWriter::AddBookmarks(
|
||||
return;
|
||||
|
||||
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
|
||||
@@ -776,7 +752,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
|
||||
@@ -438,6 +438,9 @@ static_library("common") {
|
||||
@@ -440,6 +440,9 @@ static_library("common") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
@@ -789,7 +765,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
--- a/chrome/utility/BUILD.gn
|
||||
+++ b/chrome/utility/BUILD.gn
|
||||
@@ -60,8 +60,6 @@ static_library("utility") {
|
||||
@@ -66,8 +66,6 @@ static_library("utility") {
|
||||
|
||||
if (!is_android) {
|
||||
sources += [
|
||||
@@ -798,7 +774,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/edge_database_reader_win.cc",
|
||||
@@ -170,6 +168,11 @@ static_library("utility") {
|
||||
@@ -160,6 +158,11 @@ static_library("utility") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -919,15 +895,15 @@ 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
|
||||
@@ -34,6 +34,7 @@ import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.ui.ContactsPickerListener;
|
||||
@@ -33,6 +33,7 @@ import org.chromium.base.task.PostTask;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.ui.PhotoPickerListener;
|
||||
import org.chromium.ui.R;
|
||||
+import org.chromium.ui.widget.Toast;
|
||||
import org.chromium.ui.UiUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -54,6 +55,7 @@ public class SelectFileDialog
|
||||
@@ -52,6 +53,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/";
|
||||
@@ -935,7 +911,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
||||
private static final String ALL_IMAGE_TYPES = IMAGE_TYPE + "*";
|
||||
private static final String ALL_VIDEO_TYPES = VIDEO_TYPE + "*";
|
||||
private static final String ALL_AUDIO_TYPES = AUDIO_TYPE + "*";
|
||||
@@ -132,6 +134,11 @@ public class SelectFileDialog
|
||||
@@ -130,6 +132,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
mFileTypes = fileTypes;
|
||||
}
|
||||
|
||||
@@ -947,27 +923,34 @@ 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/*")
|
||||
@@ -161,7 +168,7 @@ public class SelectFileDialog
|
||||
if (!window.hasPermission(Manifest.permission.READ_CONTACTS)) {
|
||||
missingPermissions.add(Manifest.permission.READ_CONTACTS);
|
||||
}
|
||||
- } else if (shouldUsePhotoPicker()) {
|
||||
+ } else if (shouldUsePhotoPicker() || shouldShowHtmlTypes()) {
|
||||
if (BuildInfo.isAtLeastQ()) {
|
||||
String newImagePermission = "android.permission.READ_MEDIA_IMAGES";
|
||||
if (!window.hasPermission(newImagePermission)) {
|
||||
@@ -333,9 +340,7 @@ public class SelectFileDialog
|
||||
* 3.) There is a valid Android Activity associated with the file request.
|
||||
*/
|
||||
private boolean shouldUseContactsPicker() {
|
||||
- if (mFileTypes.size() != 1) return false;
|
||||
- if (!mFileTypes.get(0).equals("text/json+contacts")) return false;
|
||||
- return UiUtils.shouldShowContactsPicker() && mWindowAndroid.getActivity().get() != null;
|
||||
+ return false;
|
||||
}
|
||||
@@ -157,7 +164,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
List<String> missingPermissions = new ArrayList<>();
|
||||
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
|
||||
- if (shouldUsePhotoPicker) {
|
||||
+ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
|
||||
if (!window.hasPermission(storagePermission)) missingPermissions.add(storagePermission);
|
||||
} else {
|
||||
if (((mSupportsImageCapture && shouldShowImageTypes())
|
||||
@@ -185,7 +192,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -356,6 +361,7 @@ public class SelectFileDialog
|
||||
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
|
||||
- if (shouldUsePhotoPicker) {
|
||||
+ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
- if (shouldUsePhotoPicker && permissions[i].equals(storagePermission)) {
|
||||
+ if ((shouldUsePhotoPicker || shouldShowHtmlTypes()) && permissions[i].equals(storagePermission)) {
|
||||
onFileNotSelected();
|
||||
return;
|
||||
}
|
||||
@@ -348,6 +355,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
|
||||
}
|
||||
@@ -975,7 +958,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
||||
return mimeTypes;
|
||||
}
|
||||
|
||||
@@ -646,6 +652,10 @@ public class SelectFileDialog
|
||||
@@ -625,6 +633,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
return countAcceptTypesFor(specificType) > 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@ 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 ++
|
||||
.../chrome/browser/preferences/privacy/PrivacyPreferences.java | 10 ++++++++++
|
||||
chrome/android/java/strings/android_chrome_strings.grd | 7 +++++++
|
||||
5 files changed, 27 insertions(+)
|
||||
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(+)
|
||||
|
||||
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
|
||||
@@ -18,6 +18,9 @@
|
||||
@@ -14,6 +14,9 @@
|
||||
<item name="top_controls_show_threshold" format="float" type="dimen">0.5</item>
|
||||
<item name="top_controls_hide_threshold" format="float" type="dimen">0.5</item>
|
||||
|
||||
@@ -26,88 +26,89 @@ 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
|
||||
@@ -47,6 +47,11 @@
|
||||
android:title="@string/clear_browsing_data_title"
|
||||
android:summary="@string/clear_browsing_data_summary"
|
||||
android:fragment="org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataTabsFragment" />
|
||||
@@ -30,6 +30,11 @@
|
||||
android:title="@string/preload_pages_title"
|
||||
android:summary="@string/preload_pages_summary"
|
||||
android:persistent="false" />
|
||||
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
+ android:key="allow_custom_tab_intents"
|
||||
+ android:title="@string/allow_custom_tab_intents_title"
|
||||
+ android:summary="@string/allow_custom_tab_intents_summary"
|
||||
+ android:defaultValue="false" />
|
||||
<Preference
|
||||
android:key="sync_and_services_link_divider"
|
||||
android:layout="@layout/divider_preference"
|
||||
android:fragment="org.chromium.chrome.browser.preferences.privacy.DoNotTrackPreference"
|
||||
android:key="do_not_track"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
|
||||
@@ -41,6 +41,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
||||
@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
||||
import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
|
||||
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
+import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferences;
|
||||
import org.chromium.chrome.browser.searchwidget.SearchActivity;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tabmodel.DocumentModeAssassin;
|
||||
@@ -271,6 +272,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
@@ -273,6 +274,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
|
||||
*/
|
||||
public static boolean isCustomTabIntent(Intent intent) {
|
||||
if (intent == null) return false;
|
||||
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(PrivacyPreferences.PREF_ALLOW_CUSTOM_TAB_INTENTS, false)) return false;
|
||||
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|
||||
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
|
||||
return false;
|
||||
// CCT is disabled in noTouch mode except for some Chrome-internal exceptions.
|
||||
if (FeatureUtilities.isNoTouchModeEnabled()
|
||||
&& !IntentHandler.wasIntentSenderChrome(intent)) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
|
||||
@@ -40,6 +40,7 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
implements OnPreferenceChangeListener {
|
||||
private static final String PREF_NAVIGATION_ERROR = "navigation_error";
|
||||
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
|
||||
@@ -43,6 +43,8 @@ public class PrivacyPreferences
|
||||
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
|
||||
+ public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
|
||||
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 = "network_predictions";
|
||||
@@ -117,6 +118,11 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
navigationErrorPref.setOnPreferenceChangeListener(this);
|
||||
navigationErrorPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
+
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
PrivacyPreferencesManager privacyPrefManager = PrivacyPreferencesManager.getInstance();
|
||||
@@ -101,6 +103,10 @@ public class PrivacyPreferences
|
||||
PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue);
|
||||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
|
||||
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -136,6 +142,11 @@ public class PrivacyPreferences
|
||||
prefServiceBridge.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||
}
|
||||
|
||||
+ ChromeBaseCheckBoxPreference allowCustomTabIntentsPref =
|
||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_ALLOW_CUSTOM_TAB_INTENTS);
|
||||
+ allowCustomTabIntentsPref.setOnPreferenceChangeListener(this);
|
||||
+ allowCustomTabIntentsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
+
|
||||
ChromeBaseCheckBoxPreference searchSuggestionsPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
|
||||
searchSuggestionsPref.setOnPreferenceChangeListener(this);
|
||||
@@ -139,6 +145,10 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
recordNetworkPredictionEnablingUMA((boolean) newValue);
|
||||
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setResolveNavigationErrorEnabled((boolean) newValue);
|
||||
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setBoolean(
|
||||
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
Preference doNotTrackPref = findPreference(PREF_DO_NOT_TRACK);
|
||||
if (doNotTrackPref != null) {
|
||||
doNotTrackPref.setSummary(prefServiceBridge.isDoNotTrackEnabled() ? textOn : textOff);
|
||||
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
|
||||
@@ -4004,6 +4004,13 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
Browse
|
||||
@@ -4026,6 +4026,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
|
||||
</message>
|
||||
|
||||
+ <!-- Allow custom tab intents -->
|
||||
+ <message name="IDS_ALLOW_CUSTOM_TAB_INTENTS_TITLE" desc="Text for 'Allow custom tab intents' settings-privacy option.">
|
||||
+ Allow custom tab intents
|
||||
+ </message>
|
||||
+ <message name="IDS_ALLOW_CUSTOM_TAB_INTENTS_SUMMARY" desc="Summary text for 'Allow custom tab intents' settings-privacy option.">
|
||||
+ Allow applications to open custom tab intents, similar to webview.
|
||||
+ </message>
|
||||
+
|
||||
<!-- Migration strings -->
|
||||
<message name="IDS_UPDATING_CHROME" desc="String that indicates that Chrome is updating">
|
||||
Updating Chrome...
|
||||
|
||||
<!-- Autofill Assistant preferences -->
|
||||
<message name="IDS_PREFS_AUTOFILL_ASSISTANT_TITLE" desc="Title for the Autofill Assistant preferences screen. [CHAR-LIMIT=32]">
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -25,15 +25,15 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
||||
@@ -2150,6 +2150,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
RecordUserAction.record("MobileMenuSettings");
|
||||
} else if (id == R.id.show_menu) {
|
||||
showAppMenuForKeyboardEvent();
|
||||
@@ -2137,6 +2137,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
new AddToHomescreenManager(this, currentTab);
|
||||
addToHomescreenManager.start();
|
||||
RecordUserAction.record("MobileMenuAddToHomescreen");
|
||||
+ } else if (id == R.id.exit_id) {
|
||||
+ ApplicationLifetime.terminate(false);
|
||||
} else if (id == R.id.find_in_page_id) {
|
||||
if (mFindToolbarManager == null) return false;
|
||||
|
||||
} else if (id == R.id.open_webapk_id) {
|
||||
Context context = ContextUtils.getApplicationContext();
|
||||
String packageName =
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLifetimeController.java
|
||||
@@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -3081,6 +3081,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -2953,6 +2953,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_PREFERENCES" desc="Menu item for opening browser preferences. [CHAR-LIMIT=27]">
|
||||
Settings
|
||||
</message>
|
||||
|
||||
@@ -12,13 +12,14 @@ with limited CPU/memory resources and it is disabled by default.
|
||||
.../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 +++++++++++++++++
|
||||
7 files changed, 43 insertions(+)
|
||||
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
|
||||
@@ -740,6 +740,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
@@ -676,6 +676,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
net::kEffectiveConnectionType4G},
|
||||
};
|
||||
|
||||
@@ -30,20 +31,20 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -2292,6 +2297,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcH264WithOpenh264FfmpegDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(content::kWebRtcH264WithOpenH264FFmpeg)},
|
||||
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
|
||||
@@ -2533,6 +2538,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kPassiveDocumentEventListenersName,
|
||||
flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
|
||||
+ {"max-connections-per-host", flag_descriptions::kMaxConnectionsPerHostName,
|
||||
+ flag_descriptions::kMaxConnectionsPerHostDescription, kOsAll,
|
||||
+ MULTI_VALUE_TYPE(kMaxConnectionsPerHostChoices)},
|
||||
#if defined(OS_ANDROID)
|
||||
{"offlining-recent-pages", flag_descriptions::kOffliningRecentPagesName,
|
||||
flag_descriptions::kOffliningRecentPagesDescription, kOsAndroid,
|
||||
{"document-passive-wheel-event-listeners",
|
||||
flag_descriptions::kPassiveDocumentWheelEventListenersName,
|
||||
flag_descriptions::kPassiveDocumentWheelEventListenersDescription, kOsAll,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1245,6 +1245,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
|
||||
@@ -1240,6 +1240,10 @@ const char kLookalikeUrlNavigationSuggestionsDescription[] =
|
||||
const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
|
||||
const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
|
||||
|
||||
@@ -57,7 +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
|
||||
@@ -748,6 +748,9 @@ extern const char kMarkHttpAsWarning[];
|
||||
@@ -761,6 +761,9 @@ extern const char kMarkHttpAsWarning[];
|
||||
extern const char kMarkHttpAsWarningAndDangerousOnFormEdits[];
|
||||
extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
|
||||
|
||||
@@ -92,28 +93,39 @@ diff --git a/components/network_session_configurator/common/network_features.h b
|
||||
+ 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 base::Feature kDnsOverHttps;
|
||||
// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-12.txt).
|
||||
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[],
|
||||
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
|
||||
@@ -21,6 +21,10 @@ NETWORK_SWITCH(kEnableUserAlternateProtocolPorts,
|
||||
|
||||
@@ -22,6 +22,10 @@ NETWORK_SWITCH(kEnableUserAlternateProtocolPorts,
|
||||
// Enables the QUIC protocol. This is a temporary testing flag.
|
||||
NETWORK_SWITCH(kEnableQuic, "enable-quic")
|
||||
|
||||
+// Allows specifying a higher number of maximum connections per host
|
||||
+// (15 instead of 6, mirroring the value Mozilla uses).
|
||||
+NETWORK_SWITCH(kMaxConnectionsPerHost, "max-connections-per-host")
|
||||
+
|
||||
|
||||
// Ignores certificate-related errors.
|
||||
NETWORK_SWITCH(kIgnoreCertificateErrors, "ignore-certificate-errors")
|
||||
|
||||
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") {
|
||||
"//base",
|
||||
"//base:i18n",
|
||||
"//third_party/icu",
|
||||
+ "//components/network_session_configurator/common"
|
||||
]
|
||||
if (is_ios) {
|
||||
libs = [ "UIKit.framework" ]
|
||||
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
|
||||
--- a/net/socket/client_socket_pool_manager.cc
|
||||
+++ b/net/socket/client_socket_pool_manager.cc
|
||||
@@ -22,6 +22,10 @@
|
||||
#include "net/socket/transport_client_socket_pool.h"
|
||||
#include "net/socket/transport_connect_job.h"
|
||||
@@ -20,6 +20,10 @@
|
||||
#include "net/socket/client_socket_pool.h"
|
||||
#include "net/socket/connect_job.h"
|
||||
#include "net/ssl/ssl_config.h"
|
||||
+#include "components/network_session_configurator/common/network_switches.h"
|
||||
+
|
||||
@@ -122,7 +134,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
||||
|
||||
namespace net {
|
||||
|
||||
@@ -285,6 +289,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
@@ -185,6 +189,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);
|
||||
|
||||
@@ -4,32 +4,43 @@ Subject: Add flag to control video playback resume feature
|
||||
|
||||
Disable it by default on Android as it is everywhere else
|
||||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/about_flags.cc | 8 ++++----
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
media/base/media_switches.cc | 6 +-----
|
||||
4 files changed, 13 insertions(+), 5 deletions(-)
|
||||
4 files changed, 13 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1407,6 +1407,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kVideoPlayerChromecastSupportDescription, kOsCrOS,
|
||||
SINGLE_VALUE_TYPE(
|
||||
chromeos::switches::kEnableVideoPlayerChromecastSupport)},
|
||||
@@ -1580,6 +1580,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-webassembly-threads", flag_descriptions::kEnableWasmThreadsName,
|
||||
flag_descriptions::kEnableWasmThreadsDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebAssemblyThreads)},
|
||||
+ {"resume-background-video",
|
||||
+ flag_descriptions::kResumeBackgroundVideoName,
|
||||
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
|
||||
{"list-all-display-modes", flag_descriptions::kListAllDisplayModesName,
|
||||
flag_descriptions::kListAllDisplayModesDescription, kOsCrOS,
|
||||
FEATURE_VALUE_TYPE(display::features::kListAllDisplayModes)},
|
||||
{"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
|
||||
@@ -840,6 +840,11 @@ const char kEnablePictureInPictureDescription[] =
|
||||
"controls. The #enable-surfaces-for-videos flag must be enabled as well "
|
||||
"to use it.";
|
||||
@@ -876,6 +876,11 @@ const char kMemlogStackModeNative[] = "Native";
|
||||
const char kMemlogStackModeNativeWithThreadNames[] = "Native with thread names";
|
||||
const char kMemlogStackModePseudo[] = "Trace events";
|
||||
|
||||
+const char kResumeBackgroundVideoName[] = "Resume background video.";
|
||||
+const char kResumeBackgroundVideoDescription[] =
|
||||
@@ -42,7 +53,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -495,6 +495,9 @@ extern const char kEnableNewDownloadBackendDescription[];
|
||||
@@ -520,6 +520,9 @@ extern const char kEnablePortalsDescription[];
|
||||
extern const char kEnablePictureInPictureName[];
|
||||
extern const char kEnablePictureInPictureDescription[];
|
||||
|
||||
@@ -55,7 +66,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -205,11 +205,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
@@ -212,11 +212,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
// when in background.
|
||||
const base::Feature kResumeBackgroundVideo {
|
||||
"resume-background-video",
|
||||
|
||||
@@ -3,20 +3,22 @@ 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 +++
|
||||
net/dns/host_resolver_impl.cc | 10 ++++++++--
|
||||
services/network/public/cpp/features.cc | 3 +++
|
||||
services/network/public/cpp/features.h | 2 ++
|
||||
6 files changed, 25 insertions(+), 2 deletions(-)
|
||||
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 ++
|
||||
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
|
||||
@@ -2975,6 +2975,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kHandwritingGesture)},
|
||||
#endif // OS_CHROMEOS
|
||||
@@ -3193,6 +3193,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
kMarkHttpAsFeatureVariations,
|
||||
"HTTPReallyBadFinal")},
|
||||
|
||||
+ {"ipv6-probing",
|
||||
+ flag_descriptions::kIPv6ProbingName,
|
||||
@@ -24,28 +26,28 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
|
||||
+
|
||||
#if !defined(OS_ANDROID)
|
||||
{"enable-picture-in-picture",
|
||||
flag_descriptions::kEnablePictureInPictureName,
|
||||
{"enable-web-authentication-testing-api",
|
||||
flag_descriptions::kEnableWebAuthenticationTestingAPIName,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -842,6 +842,10 @@ const char kOOPHPStackModeNative[] = "Native";
|
||||
const char kOOPHPStackModeNativeWithThreadNames[] = "Native with thread names";
|
||||
const char kOOPHPStackModePseudo[] = "Trace events";
|
||||
@@ -2512,6 +2512,10 @@ const char kForegroundNotificationManagerDescription[] =
|
||||
const char kHomePageButtonName[] = "Force Enable Home Page Button";
|
||||
const char kHomePageButtonDescription[] = "Displays a home button if enabled.";
|
||||
|
||||
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
|
||||
+const char kIPv6ProbingDescription[] =
|
||||
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
|
||||
+
|
||||
const char kEnablePictureInPictureName[] = "Enable Picture-in-Picture.";
|
||||
const char kEnablePictureInPictureDescription[] =
|
||||
"Show Picture-in-Picture in browser context menu and video native "
|
||||
const char kHomepageTileName[] =
|
||||
"Enable Homepage tile shown in Suggested Tiles";
|
||||
const char kHomepageTileDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -498,6 +498,9 @@ extern const char kDownloadAutoResumptionNativeDescription[];
|
||||
extern const char kEnableNewDownloadBackendName[];
|
||||
extern const char kEnableNewDownloadBackendDescription[];
|
||||
@@ -523,6 +523,9 @@ extern const char kEnableNewDownloadBackendDescription[];
|
||||
extern const char kEnablePortalsName[];
|
||||
extern const char kEnablePortalsDescription[];
|
||||
|
||||
+extern const char kIPv6ProbingName[];
|
||||
+extern const char kIPv6ProbingDescription[];
|
||||
@@ -53,18 +55,61 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
extern const char kEnablePictureInPictureName[];
|
||||
extern const char kEnablePictureInPictureDescription[];
|
||||
|
||||
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
|
||||
--- a/net/dns/host_resolver_impl.cc
|
||||
+++ b/net/dns/host_resolver_impl.cc
|
||||
@@ -81,6 +81,7 @@
|
||||
#include "net/log/net_log_with_source.h"
|
||||
diff --git a/components/subresource_filter/tools/BUILD.gn b/components/subresource_filter/tools/BUILD.gn
|
||||
--- a/components/subresource_filter/tools/BUILD.gn
|
||||
+++ b/components/subresource_filter/tools/BUILD.gn
|
||||
@@ -52,6 +52,8 @@ if (!is_ios) {
|
||||
deps = [
|
||||
":tools_lib",
|
||||
"//base",
|
||||
+ "//components/network_session_configurator/common",
|
||||
+ "//services/network/public/cpp"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -65,6 +67,8 @@ if (!is_ios) {
|
||||
":tools_lib",
|
||||
"../core/common",
|
||||
"//base",
|
||||
+ "//components/network_session_configurator/common",
|
||||
+ "//services/network/public/cpp",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -76,6 +80,8 @@ if (!is_ios) {
|
||||
"ruleset_converter:support",
|
||||
"//base",
|
||||
"//third_party/protobuf:protobuf_lite",
|
||||
+ "//components/network_session_configurator/common",
|
||||
+ "//services/network/public/cpp"
|
||||
]
|
||||
}
|
||||
|
||||
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") {
|
||||
"//base",
|
||||
"//base:i18n",
|
||||
"//third_party/icu",
|
||||
- "//components/network_session_configurator/common"
|
||||
+ "//components/network_session_configurator/common",
|
||||
+ "//services/network/public/cpp",
|
||||
]
|
||||
if (is_ios) {
|
||||
libs = [ "UIKit.framework" ]
|
||||
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
--- a/net/dns/host_resolver_manager.cc
|
||||
+++ b/net/dns/host_resolver_manager.cc
|
||||
@@ -87,6 +87,7 @@
|
||||
#include "net/socket/client_socket_factory.h"
|
||||
#include "net/socket/datagram_client_socket.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
+#include "services/network/public/cpp/features.h"
|
||||
#include "url/url_canon_ip.h"
|
||||
|
||||
#if BUILDFLAG(ENABLE_MDNS)
|
||||
@@ -2751,8 +2752,13 @@ bool HostResolverImpl::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
@@ -3209,8 +3210,13 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
bool cached = true;
|
||||
if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
|
||||
kIPv6ProbePeriodMs) {
|
||||
@@ -83,20 +128,21 @@ diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
|
||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -16,6 +16,9 @@ const base::Feature kExpectCTReporting{"ExpectCTReporting",
|
||||
@@ -46,6 +46,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
const base::Feature kThrottleDelayable{"ThrottleDelayable",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
+// Enable IPv6 ping probes to RIPE DNS.
|
||||
+const base::Feature kIPv6Probing{"IPv6Probing",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
// Enables the network service.
|
||||
const base::Feature kNetworkService {
|
||||
"NetworkService",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
|
||||
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
|
||||
// ResourceScheduler just as HTTP/1.1 resources are. However, requests from such
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -18,6 +18,8 @@ extern const base::Feature kNetworkErrorLogging;
|
||||
@@ -19,6 +19,8 @@ extern const base::Feature kNetworkErrorLogging;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kNetworkService;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
|
||||
@@ -20,25 +20,25 @@ legacy acceleration events.
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2473,6 +2473,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-generic-sensor", flag_descriptions::kEnableGenericSensorName,
|
||||
flag_descriptions::kEnableGenericSensorDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kGenericSensor)},
|
||||
@@ -1593,6 +1593,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
|
||||
flag_descriptions::kGpuRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
|
||||
+ {"enable-device-motion", flag_descriptions::kEnableDeviceMotionName,
|
||||
+ flag_descriptions::kEnableDeviceMotionDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(features::kDeviceMotion)},
|
||||
+ {"enable-device-orientation", flag_descriptions::kEnableDeviceOrientationName,
|
||||
+ flag_descriptions::kEnableDeviceOrientationDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(features::kDeviceOrientation)},
|
||||
{"enable-generic-sensor-extra-classes",
|
||||
flag_descriptions::kEnableGenericSensorExtraClassesName,
|
||||
flag_descriptions::kEnableGenericSensorExtraClassesDescription, kOsAll,
|
||||
{"enable-oop-rasterization", flag_descriptions::kOopRasterizationName,
|
||||
flag_descriptions::kOopRasterizationDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kEnableOopRasterizationChoices)},
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -600,6 +600,14 @@ const char kEnableGenericSensorDescription[] =
|
||||
"Accelerometer, LinearAccelerationSensor, Gyroscope, "
|
||||
"AbsoluteOrientationSensor and RelativeOrientationSensor interfaces.";
|
||||
@@ -644,6 +644,14 @@ const char kWinrtSensorsImplementationDescription[] =
|
||||
"Enables usage of the Windows.Devices.Sensors WinRT APIs on Windows for "
|
||||
"sensors";
|
||||
|
||||
+const char kEnableDeviceMotionName[] = "Enable device motion";
|
||||
+const char kEnableDeviceMotionDescription[] =
|
||||
@@ -54,9 +54,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -382,6 +382,12 @@ extern const char kEnforceTLS13DowngradeDescription[];
|
||||
extern const char kEnableGenericSensorName[];
|
||||
extern const char kEnableGenericSensorDescription[];
|
||||
@@ -398,6 +398,12 @@ extern const char kEnableTLS13EarlyDataDescription[];
|
||||
extern const char kWinrtSensorsImplementationName[];
|
||||
extern const char kWinrtSensorsImplementationDescription[];
|
||||
|
||||
+extern const char kEnableDeviceMotionName[];
|
||||
+extern const char kEnableDeviceMotionDescription[];
|
||||
@@ -70,7 +70,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
||||
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
|
||||
--- a/content/child/runtime_features.cc
|
||||
+++ b/content/child/runtime_features.cc
|
||||
@@ -93,6 +93,9 @@ void SetIndividualRuntimeFeatures(
|
||||
@@ -84,6 +84,9 @@ void SetIndividualRuntimeFeatures(
|
||||
base::FeatureList::IsEnabled(features::kSharedArrayBuffer) ||
|
||||
base::FeatureList::IsEnabled(features::kWebAssemblyThreads));
|
||||
|
||||
@@ -83,7 +83,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -596,6 +596,16 @@ const base::Feature kExperimentalProductivityFeatures{
|
||||
@@ -689,6 +689,16 @@ const base::Feature kExperimentalProductivityFeatures{
|
||||
// TODO(rouslan): Remove this.
|
||||
const base::Feature kWebPayments{"WebPayments",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
@@ -103,31 +103,31 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -158,6 +158,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
|
||||
CONTENT_EXPORT extern const base::Feature kWebNfc;
|
||||
#endif // defined(OS_ANDROID)
|
||||
@@ -157,6 +157,8 @@ CONTENT_EXPORT extern const base::Feature kScriptStreamingOnPreload;
|
||||
CONTENT_EXPORT extern const base::Feature kTrustedDOMTypes;
|
||||
CONTENT_EXPORT extern const base::Feature kBrowserUseDisplayThreadPriority;
|
||||
|
||||
+CONTENT_EXPORT extern const base::Feature kDeviceMotion, kDeviceOrientation;
|
||||
+
|
||||
#if !defined(OS_ANDROID)
|
||||
CONTENT_EXPORT extern const base::Feature kWebUIPolymer2;
|
||||
#endif // !defined(OS_ANDROID)
|
||||
#if defined(OS_ANDROID)
|
||||
CONTENT_EXPORT extern const base::Feature kAndroidAutofillAccessibility;
|
||||
CONTENT_EXPORT extern const base::Feature
|
||||
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
|
||||
--- a/third_party/blink/public/platform/web_runtime_features.h
|
||||
+++ b/third_party/blink/public/platform/web_runtime_features.h
|
||||
@@ -97,6 +97,8 @@ class WebRuntimeFeatures {
|
||||
@@ -91,6 +91,8 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableCSSHexAlphaColor(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableSameSiteByDefaultCookies(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableScrollTopLeftInterop(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableKeyboardFocusableScrollers(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableDeviceMotion(bool);
|
||||
+ BLINK_PLATFORM_EXPORT static void EnableDeviceOrientation(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableDecodeToYUV(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableDisplayCutoutAPI(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableFallbackCursorMode(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableKeyboardFocusableScrollers(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableDecodeJpeg420ImagesToYUV(bool);
|
||||
diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
--- a/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
+++ b/third_party/blink/renderer/modules/modules_initializer.cc
|
||||
@@ -233,9 +233,12 @@ void ModulesInitializer::InitInspectorAgentSession(
|
||||
@@ -244,9 +244,12 @@ void ModulesInitializer::InitInspectorAgentSession(
|
||||
void ModulesInitializer::OnClearWindowObjectInMainWorld(
|
||||
Document& document,
|
||||
const Settings& settings) const {
|
||||
@@ -146,8 +146,8 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
|
||||
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
|
||||
@@ -165,6 +165,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
|
||||
RuntimeEnabledFeatures::SetDatabaseEnabled(enable);
|
||||
@@ -160,6 +160,14 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
|
||||
}
|
||||
|
||||
+void WebRuntimeFeatures::EnableDeviceMotion(bool enable) {
|
||||
@@ -158,14 +158,14 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
||||
+ RuntimeEnabledFeatures::SetDeviceOrientationEnabled(enable);
|
||||
+}
|
||||
+
|
||||
void WebRuntimeFeatures::EnableDecodeToYUV(bool enable) {
|
||||
RuntimeEnabledFeatures::SetDecodeToYUVEnabled(enable);
|
||||
void WebRuntimeFeatures::EnableKeyboardFocusableScrollers(bool enable) {
|
||||
RuntimeEnabledFeatures::SetKeyboardFocusableScrollersEnabled(enable);
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -409,6 +409,14 @@
|
||||
status: "stable",
|
||||
@@ -1119,6 +1119,14 @@
|
||||
status: "experimental",
|
||||
},
|
||||
{
|
||||
+ name: "DeviceMotion",
|
||||
@@ -176,9 +176,9 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+ status: "stable",
|
||||
+ },
|
||||
+ {
|
||||
name: "DecodeToYUV",
|
||||
status: "experimental",
|
||||
},
|
||||
name: "OnDeviceChange",
|
||||
// Android does not yet support SystemMonitor.
|
||||
status: {"Android": "", "default": "stable"},
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -0,0 +1,193 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 14 Sep 2019 10:19:07 +0200
|
||||
Subject: Add global menu entry to toggle AdBlocker
|
||||
|
||||
---
|
||||
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 enable AdBlock item's state.
|
||||
+ *
|
||||
+ * @param menu {@link Menu} for enable adblock
|
||||
+ * @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 enable adblock 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 adblock is globally activate.
|
||||
+ 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
|
||||
@@ -2958,6 +2958,17 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></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 AdBlock engine for the page. [CHAR-LIMIT=27]">
|
||||
+ Enable AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_ON" desc="Accessibility description for when Enable AdBlock is selected.">
|
||||
+ Turn off AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_OFF" desc="Accessibility description for when Enable AdBlock is unselected.">
|
||||
+ Turn on AdBlock
|
||||
+ </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
|
||||
|
||||
@@ -3,13 +3,13 @@ Date: Wed, 18 Oct 2017 21:26:53 +0200
|
||||
Subject: Add menu option to toggle global Javascript preference
|
||||
|
||||
---
|
||||
chrome/android/java/res/menu/custom_tabs_menu.xml | 13 ++++++++
|
||||
chrome/android/java/res/menu/custom_tabs_menu.xml | 12 +++++++
|
||||
chrome/android/java/res/menu/main_menu.xml | 13 ++++++++
|
||||
.../chromium/chrome/browser/ChromeActivity.java | 8 +++++
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 8 +++++
|
||||
.../browser/appmenu/AppMenuPropertiesDelegate.java | 38 ++++++++++++++++++++++
|
||||
.../appmenu/AppMenuPropertiesDelegateImpl.java | 39 ++++++++++++++++++++++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
|
||||
.../java/strings/android_chrome_strings.grd | 11 +++++++
|
||||
.../java/strings/android_chrome_strings.grd | 11 ++++++
|
||||
7 files changed, 92 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -23,10 +23,10 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
|
||||
<item android:id="@+id/request_desktop_site_row_menu_id"
|
||||
android:title="@null"
|
||||
android:orderInCategory="2">
|
||||
@@ -61,6 +62,18 @@
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
@@ -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">
|
||||
@@ -38,7 +38,6 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
|
||||
+ 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=""
|
||||
@@ -75,7 +74,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
|
||||
@@ -2253,6 +2253,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2149,6 +2149,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
currentTab.getWebContents().getNavigationController().setUseDesktopUserAgent(
|
||||
!usingDesktopUserAgent, reloadOnChange);
|
||||
RecordUserAction.record("MobileMenuRequestDesktopSite");
|
||||
@@ -93,7 +92,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1857,6 +1857,14 @@ public class ChromeTabbedActivity
|
||||
@@ -1802,6 +1802,14 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
@@ -108,18 +107,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
} else if (id == R.id.open_recently_closed_tab) {
|
||||
TabModel currentModel = mTabModelSelectorImpl.getCurrentModel();
|
||||
if (!currentModel.isIncognito()) currentModel.openMostRecentlyClosedTab();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
@@ -25,6 +25,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ChromeActivity;
|
||||
import org.chromium.chrome.browser.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.ChromeSwitches;
|
||||
+import org.chromium.chrome.browser.ContentSettingsType;
|
||||
import org.chromium.chrome.browser.ShortcutHelper;
|
||||
import org.chromium.chrome.browser.UrlConstants;
|
||||
import org.chromium.chrome.browser.banners.AppBannerManager;
|
||||
@@ -196,6 +197,8 @@ public class AppMenuPropertiesDelegate {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
@@ -241,6 +241,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
||||
@@ -128,10 +119,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
|
||||
// Only display reader mode settings menu option if the current page is in reader mode.
|
||||
menu.findItem(R.id.reader_mode_prefs_id)
|
||||
.setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.getUrl()));
|
||||
@@ -450,6 +453,41 @@ public class AppMenuPropertiesDelegate {
|
||||
@@ -432,6 +434,43 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
+ /**
|
||||
+ * Updates the enable JavaScript item's state.
|
||||
+ *
|
||||
+ * @param menu {@link Menu} for enable javascript
|
||||
@@ -162,18 +154,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
|
||||
+ // This title doesn't seem to be displayed by Android, but it is used to set up
|
||||
+ // accessibility text in {@link AppMenuAdapter#setupMenuButton}.
|
||||
+ enableMenuLabel.setTitleCondensed(jsEnabled
|
||||
+ ? mActivity.getString(R.string.menu_enable_javascript_on)
|
||||
+ : mActivity.getString(R.string.menu_enable_javascript_off));
|
||||
+ ? mContext.getString(R.string.menu_enable_javascript_on)
|
||||
+ : mContext.getString(R.string.menu_enable_javascript_off));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* A notification that the header view has finished inflating.
|
||||
* @param view The view that was inflated.
|
||||
* @param appMenu The menu the view is inside of.
|
||||
+
|
||||
+
|
||||
/**
|
||||
* Updates the request desktop site item's state.
|
||||
*
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -182,6 +182,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -202,6 +202,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
}
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
|
||||
@@ -184,7 +177,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -3066,6 +3066,17 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -2938,6 +2938,17 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></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>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
From: samartnik <artem@brave.com>
|
||||
Date: Tue, 17 Apr 2018 17:14:00 +0300
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
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 | 14 ++++++++++++++
|
||||
chrome/android/java/strings/android_chrome_strings.grd | 6 ++++++
|
||||
5 files changed, 31 insertions(+), 1 deletion(-)
|
||||
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 ++++++
|
||||
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
|
||||
@@ -67,6 +67,9 @@
|
||||
@@ -62,6 +62,9 @@
|
||||
<!-- TODO(peconn): Add help section. -->
|
||||
<!-- <string name="help_context_suggestions">mobile_content_suggestions</string> -->
|
||||
|
||||
@@ -26,22 +26,22 @@ 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
|
||||
@@ -13,6 +13,11 @@
|
||||
android:summary="@string/navigation_error_summary"
|
||||
android:defaultValue="true" />
|
||||
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
@@ -39,6 +39,11 @@
|
||||
android:fragment="org.chromium.chrome.browser.preferences.privacy.DoNotTrackPreference"
|
||||
android:key="do_not_track"
|
||||
android:title="@string/do_not_track_title" />
|
||||
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
+ android:key="close_tabs_on_exit"
|
||||
+ android:title="@string/close_tabs_on_exit_title"
|
||||
+ android:summary="@string/close_tabs_on_exit_summary"
|
||||
+ android:defaultValue="false" />
|
||||
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
android:key="search_suggestions"
|
||||
android:title="@string/search_suggestions_title"
|
||||
android:summary="@string/search_suggestions_summary"
|
||||
<android.support.v7.preference.Preference
|
||||
android:key="contextual_search"
|
||||
android:title="@string/contextual_search_title"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1138,8 +1138,10 @@ public class ChromeTabbedActivity
|
||||
@@ -1166,8 +1166,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
|
||||
boolean hadCipherData =
|
||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||
|
||||
@@ -62,53 +62,51 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
|
||||
|
||||
+import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.Preference;
|
||||
@@ -15,6 +16,7 @@ import android.view.Menu;
|
||||
import android.support.graphics.drawable.VectorDrawableCompat;
|
||||
import android.support.v7.preference.CheckBoxPreference;
|
||||
@@ -14,6 +15,7 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
||||
+import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.BuildInfo;
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.chrome.R;
|
||||
@@ -44,6 +46,7 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
import org.chromium.chrome.browser.ChromeFeatureList;
|
||||
@@ -38,6 +40,7 @@ public class PrivacyPreferences
|
||||
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 = "network_predictions";
|
||||
+ 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_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
@@ -71,6 +74,11 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
(ChromeBaseCheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
||||
canMakePaymentPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -107,6 +110,10 @@ public class PrivacyPreferences
|
||||
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
|
||||
sharedPreferencesEditor.apply();
|
||||
+ } else if (PREF_CLOSE_TABS_ON_EXIT.equals(key)) {
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -157,6 +164,11 @@ public class PrivacyPreferences
|
||||
boolean isContextualSearchEnabled = !prefServiceBridge.isContextualSearchDisabled();
|
||||
contextualPref.setSummary(isContextualSearchEnabled ? textOn : textOff);
|
||||
}
|
||||
+
|
||||
+ ChromeBaseCheckBoxPreference closeTabsOnExitPref =
|
||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
|
||||
+ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
|
||||
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
+
|
||||
ChromeBaseCheckBoxPreference networkPredictionPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(PREF_NETWORK_PREDICTIONS);
|
||||
networkPredictionPref.setChecked(prefServiceBridge.getNetworkPredictionEnabled());
|
||||
@@ -143,6 +151,12 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
|
||||
recordNetworkPredictionEnablingUMA((boolean) newValue);
|
||||
+ } else if (PREF_CLOSE_TABS_ON_EXIT.equals(key)) {
|
||||
+// PrefServiceBridge.getInstance().setBoolean(
|
||||
+// Pref.CLOSE_TABS_ON_EXIT_ENABLED, (boolean) newValue);
|
||||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_CLOSE_TABS_ON_EXIT, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setResolveNavigationErrorEnabled((boolean) newValue);
|
||||
} else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
|
||||
}
|
||||
|
||||
private ManagedPreferenceDelegate createManagedPreferenceDelegate() {
|
||||
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
|
||||
@@ -3880,6 +3880,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3770,6 +3770,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>
|
||||
|
||||
@@ -6,27 +6,29 @@ Use about:blank as default homepage
|
||||
---
|
||||
.../android/java/res/xml/homepage_preferences.xml | 5 +++++
|
||||
.../partnercustomizations/HomepageManager.java | 24 ++++++++++++++++++++--
|
||||
.../browser/preferences/HomepagePreferences.java | 14 ++++++++++++-
|
||||
.../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 +
|
||||
8 files changed, 59 insertions(+), 5 deletions(-)
|
||||
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
|
||||
@@ -16,4 +16,9 @@
|
||||
android:title="@string/options_homepage_edit_label"
|
||||
android:fragment="org.chromium.chrome.browser.preferences.HomepageEditor" />
|
||||
@@ -7,6 +7,11 @@
|
||||
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" />
|
||||
+
|
||||
</PreferenceScreen>
|
||||
+ <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
|
||||
@@ -92,31 +94,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
|
||||
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
|
||||
@@ -19,9 +19,10 @@ import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
public class HomepagePreferences extends PreferenceFragment {
|
||||
private static final String PREF_HOMEPAGE_SWITCH = "homepage_switch";
|
||||
@@ -20,6 +20,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";
|
||||
+ private static final String PREF_NTP_HOMEPAGE_SWITCH = "ntp_is_homepage_switch";
|
||||
|
||||
private HomepageManager mHomepageManager;
|
||||
- private ChromeSwitchPreference mHomepageSwitch;
|
||||
+ private ChromeSwitchPreference mHomepageSwitch, mNTPIsHomepageSwitch;
|
||||
private Preference mHomepageEdit;
|
||||
|
||||
@Override
|
||||
@@ -47,6 +48,17 @@ public class HomepagePreferences extends PreferenceFragment {
|
||||
}
|
||||
@@ -42,6 +43,15 @@ public class HomepagePreferences extends PreferenceFragmentCompat {
|
||||
return true;
|
||||
});
|
||||
|
||||
+ mNTPIsHomepageSwitch = (ChromeSwitchPreference) findPreference(PREF_NTP_HOMEPAGE_SWITCH);
|
||||
+ ChromeSwitchPreference mNTPIsHomepageSwitch =
|
||||
+ (ChromeSwitchPreference) findPreference(PREF_NTP_HOMEPAGE_SWITCH);
|
||||
+ boolean isHomepageNTPEnabled = mHomepageManager.getPrefNTPIsHomepageEnabled();
|
||||
+ mNTPIsHomepageSwitch.setChecked(isHomepageNTPEnabled);
|
||||
+ mNTPIsHomepageSwitch.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ mHomepageManager.setPrefNTPIsHomepageEnabled((boolean) newValue);
|
||||
+ return true;
|
||||
+ }
|
||||
+ mNTPIsHomepageSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
+ mHomepageManager.setPrefNTPIsHomepageEnabled((boolean) newValue);
|
||||
+ return true;
|
||||
+ });
|
||||
+
|
||||
mHomepageEdit = findPreference(PREF_HOMEPAGE_EDIT);
|
||||
@@ -125,15 +121,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Hom
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreatorManager.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreatorManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreatorManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreatorManager.java
|
||||
@@ -10,6 +10,7 @@ import org.chromium.base.TraceEvent;
|
||||
import org.chromium.chrome.browser.UrlConstants;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabState;
|
||||
+import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
|
||||
@@ -12,6 +12,7 @@ import org.chromium.chrome.browser.tab.TabState;
|
||||
import org.chromium.chrome.browser.util.UrlConstants;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
+import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
|
||||
|
||||
@@ -88,12 +89,18 @@ public interface TabCreatorManager {
|
||||
/**
|
||||
* An interface to return a {@link TabCreator} either for regular or incognito tabs.
|
||||
@@ -85,12 +86,18 @@ public interface TabCreatorManager {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -157,7 +153,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCre
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -674,6 +674,9 @@ CHAR-LIMIT guidelines:
|
||||
@@ -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
|
||||
</message>
|
||||
@@ -170,8 +166,8 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -56,6 +56,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
@@ -54,6 +54,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
registry->RegisterBooleanPref(prefs::kShowHomeButton, false,
|
||||
GetHomeButtonAndHomePageIsNewTabPageFlags());
|
||||
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
|
||||
@@ -182,7 +178,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
||||
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
|
||||
@@ -58,6 +58,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
|
||||
@@ -59,6 +59,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
|
||||
// A boolean specifying whether the New Tab page is the home page or not.
|
||||
const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
|
||||
|
||||
@@ -196,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
|
||||
@@ -293,6 +293,7 @@ extern const char kParentAccessCodeConfig[];
|
||||
extern const char kDeviceWallpaperImageFilePath[];
|
||||
@@ -318,6 +318,7 @@ extern const char kSettingsShowBrowserBanner[];
|
||||
extern const char kSettingsShowOSBanner[];
|
||||
#endif // defined(OS_CHROMEOS)
|
||||
extern const char kShowHomeButton[];
|
||||
+extern const char kNewTabPageIsHomePage[];
|
||||
|
||||
@@ -14,7 +14,7 @@ Subject: Add site settings option for session-only cookies
|
||||
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
|
||||
@@ -39,6 +39,9 @@
|
||||
@@ -32,6 +32,9 @@
|
||||
<integer name="reload_button_level_reload">0</integer>
|
||||
<integer name="reload_button_level_stop">1</integer>
|
||||
|
||||
@@ -44,7 +44,7 @@ diff --git a/chrome/android/java/res/xml/website_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java
|
||||
@@ -240,6 +240,10 @@ public class PrefServiceBridge {
|
||||
@@ -242,6 +242,10 @@ public class PrefServiceBridge {
|
||||
return nativeGetBlockThirdPartyCookiesEnabled();
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
|
||||
/**
|
||||
* @return Whether third-party cookie blocking is configured by policy
|
||||
*/
|
||||
@@ -626,6 +630,10 @@ public class PrefServiceBridge {
|
||||
@@ -631,6 +635,10 @@ public class PrefServiceBridge {
|
||||
nativeSetBlockThirdPartyCookiesEnabled(enabled);
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
|
||||
public void setDoNotTrackEnabled(boolean enabled) {
|
||||
nativeSetDoNotTrackEnabled(enabled);
|
||||
}
|
||||
@@ -1074,6 +1082,7 @@ public class PrefServiceBridge {
|
||||
@@ -1094,6 +1102,7 @@ public class PrefServiceBridge {
|
||||
private native boolean nativeGetAutoplayEnabled();
|
||||
private native boolean nativeGetBackgroundSyncEnabled();
|
||||
private native boolean nativeGetBlockThirdPartyCookiesEnabled();
|
||||
@@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
|
||||
private native boolean nativeGetBlockThirdPartyCookiesManaged();
|
||||
private native boolean nativeGetRememberPasswordsEnabled();
|
||||
private native boolean nativeGetPasswordManagerAutoSigninEnabled();
|
||||
@@ -1120,6 +1129,7 @@ public class PrefServiceBridge {
|
||||
@@ -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);
|
||||
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
|
||||
@@ -121,6 +121,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -127,6 +127,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
|
||||
// Keys for category-specific preferences (toggle, link, button etc.), dynamically shown.
|
||||
public static final String THIRD_PARTY_COOKIES_TOGGLE_KEY = "third_party_cookies";
|
||||
@@ -93,15 +93,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";
|
||||
@@ -441,6 +442,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
|
||||
if (type == SiteSettingsCategory.Type.COOKIES) {
|
||||
@@ -484,6 +485,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
if (type == SiteSettingsCategory.Type.COOKIES
|
||||
&& !FeatureUtilities.isNoTouchModeEnabled()) {
|
||||
updateThirdPartyCookiesCheckBox();
|
||||
+ updateCookiesSessionOnlyCheckBox();
|
||||
} else if (type == SiteSettingsCategory.Type.NOTIFICATIONS) {
|
||||
updateNotificationsVibrateCheckBox();
|
||||
}
|
||||
@@ -479,6 +481,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -523,6 +525,8 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
int setting = (int) newValue;
|
||||
prefServiceBridge.setContentSetting(mCategory.getContentSettingsType(), setting);
|
||||
getInfoForOrigins();
|
||||
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
|
||||
} else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
|
||||
prefServiceBridge.setBlockThirdPartyCookiesEnabled(((boolean) newValue));
|
||||
} else if (NOTIFICATIONS_VIBRATE_TOGGLE_KEY.equals(preference.getKey())) {
|
||||
@@ -769,6 +773,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -840,6 +844,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 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
|
||||
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
|
||||
Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY);
|
||||
PreferenceGroup allowedGroup = (PreferenceGroup) screen.findPreference(ALLOWED_GROUP);
|
||||
@@ -799,6 +805,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -871,6 +877,7 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
|
||||
if (hideSecondaryToggles) {
|
||||
screen.removePreference(thirdPartyCookies);
|
||||
@@ -127,13 +127,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
|
||||
screen.removePreference(notificationsVibrate);
|
||||
screen.removePreference(explainProtectedMediaKey);
|
||||
screen.removePreference(allowedGroup);
|
||||
@@ -808,12 +815,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -881,14 +888,17 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
return;
|
||||
}
|
||||
|
||||
- // Configure/hide the third-party cookie toggle, as needed.
|
||||
+ // Configure/hide the third-party cookie toggle and session-only cookie toggle, as needed.
|
||||
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
|
||||
- // 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()) {
|
||||
thirdPartyCookies.setOnPreferenceChangeListener(this);
|
||||
updateThirdPartyCookiesCheckBox();
|
||||
+ cookiesSessionOnly.setOnPreferenceChangeListener(this);
|
||||
@@ -144,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
|
||||
}
|
||||
|
||||
// Configure/hide the notifications vibrate toggle, as needed.
|
||||
@@ -918,6 +928,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
|
||||
@@ -1003,6 +1013,15 @@ public class SingleCategoryPreferences extends PreferenceFragmentCompat
|
||||
preference -> PrefServiceBridge.getInstance().isBlockThirdPartyCookiesManaged());
|
||||
}
|
||||
|
||||
@@ -163,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
|
||||
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
--- a/chrome/android/java/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/android/java/strings/android_chrome_strings.grd
|
||||
@@ -913,6 +913,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -901,6 +901,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>
|
||||
@@ -179,7 +181,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
|
||||
@@ -311,6 +311,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
|
||||
@@ -314,6 +314,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
|
||||
return GetPrefService()->GetBoolean(prefs::kBlockThirdPartyCookies);
|
||||
}
|
||||
|
||||
@@ -197,7 +199,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) {
|
||||
@@ -768,6 +779,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
|
||||
@@ -785,6 +796,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
|
||||
GetPrefService()->SetBoolean(prefs::kBlockThirdPartyCookies, enabled);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,769 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Tue, 18 Sep 2018 08:06:14 +0200
|
||||
Subject: Allow building without safebrowsing for Android
|
||||
|
||||
Fix build from scratch (issue found by nikolowry)
|
||||
---
|
||||
.../android/java/res/xml/privacy_preferences.xml | 8 -----
|
||||
.../preferences/privacy/PrivacyPreferences.java | 40 ----------------------
|
||||
.../chrome_browsing_data_remover_delegate.cc | 10 ------
|
||||
chrome/browser/chrome_content_browser_client.cc | 20 +----------
|
||||
.../file_type_policies_component_installer.cc | 2 ++
|
||||
.../download/chrome_download_manager_delegate.cc | 14 ++++++--
|
||||
.../download/chrome_download_manager_delegate.h | 6 ++++
|
||||
chrome/browser/download/download_item_model.cc | 10 ++++++
|
||||
chrome/browser/download/download_item_model.h | 4 +++
|
||||
chrome/browser/download/download_prefs.cc | 4 +++
|
||||
.../browser/download/download_target_determiner.cc | 22 ++++++++++++
|
||||
.../browser/download/download_target_determiner.h | 6 ++++
|
||||
chrome/browser/download/download_target_info.cc | 4 +++
|
||||
chrome/browser/download/download_target_info.h | 4 +++
|
||||
chrome/browser/download/download_ui_model.cc | 4 +++
|
||||
chrome/browser/download/download_ui_model.h | 4 +++
|
||||
.../chrome_resource_dispatcher_host_delegate.cc | 2 ++
|
||||
chrome/browser/net/chrome_network_delegate.cc | 35 ++-----------------
|
||||
18 files changed, 87 insertions(+), 112 deletions(-)
|
||||
|
||||
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
|
||||
@@ -18,14 +18,6 @@
|
||||
android:summary="@string/search_suggestions_summary"
|
||||
android:defaultValue="true" />
|
||||
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
- android:key="safe_browsing_scout_reporting"
|
||||
- android:title="@string/safe_browsing_scout_reporting_title"
|
||||
- android:summary="@string/safe_browsing_scout_reporting_summary" />
|
||||
- <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
- android:key="safe_browsing"
|
||||
- android:title="@string/safe_browsing_title"
|
||||
- android:summary="@string/safe_browsing_summary" />
|
||||
- <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
|
||||
android:key="network_predictions"
|
||||
android:title="@string/network_predictions_title"
|
||||
android:summary="@string/network_predictions_summary"
|
||||
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
|
||||
@@ -40,9 +40,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
implements OnPreferenceChangeListener {
|
||||
private static final String PREF_NAVIGATION_ERROR = "navigation_error";
|
||||
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
|
||||
- private static final String PREF_SAFE_BROWSING_SCOUT_REPORTING =
|
||||
- "safe_browsing_scout_reporting";
|
||||
- private static final String PREF_SAFE_BROWSING = "safe_browsing";
|
||||
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 = "network_predictions";
|
||||
@@ -83,8 +80,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
// Remove preferences that were migrated to SyncAndServicesPreferences.
|
||||
preferenceScreen.removePreference(findPreference(PREF_NAVIGATION_ERROR));
|
||||
preferenceScreen.removePreference(findPreference(PREF_SEARCH_SUGGESTIONS));
|
||||
- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING));
|
||||
- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING));
|
||||
preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH));
|
||||
preferenceScreen.removePreference(findPreference(PREF_USAGE_AND_CRASH_REPORTING));
|
||||
|
||||
@@ -131,17 +126,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH));
|
||||
}
|
||||
|
||||
- // Listen to changes to the Extended Reporting pref.
|
||||
- ChromeBaseCheckBoxPreference scoutReportingPref =
|
||||
- (ChromeBaseCheckBoxPreference) findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING);
|
||||
- scoutReportingPref.setOnPreferenceChangeListener(this);
|
||||
- scoutReportingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
-
|
||||
- ChromeBaseCheckBoxPreference safeBrowsingPref =
|
||||
- (ChromeBaseCheckBoxPreference) findPreference(PREF_SAFE_BROWSING);
|
||||
- safeBrowsingPref.setOnPreferenceChangeListener(this);
|
||||
- safeBrowsingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
-
|
||||
updateSummaries();
|
||||
}
|
||||
|
||||
@@ -150,11 +134,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
String key = preference.getKey();
|
||||
if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue);
|
||||
- } else if (PREF_SAFE_BROWSING.equals(key)) {
|
||||
- PrefServiceBridge.getInstance().setSafeBrowsingEnabled((boolean) newValue);
|
||||
- } else if (PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
|
||||
- PrefServiceBridge.getInstance().setSafeBrowsingExtendedReportingEnabled(
|
||||
- (boolean) newValue);
|
||||
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
|
||||
recordNetworkPredictionEnablingUMA((boolean) newValue);
|
||||
@@ -206,19 +185,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
searchSuggestionsPref.setChecked(prefServiceBridge.isSearchSuggestEnabled());
|
||||
}
|
||||
|
||||
- CheckBoxPreference extendedReportingPref =
|
||||
- (CheckBoxPreference) findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING);
|
||||
- if (extendedReportingPref != null) {
|
||||
- extendedReportingPref.setChecked(
|
||||
- prefServiceBridge.isSafeBrowsingExtendedReportingEnabled());
|
||||
- }
|
||||
-
|
||||
- CheckBoxPreference safeBrowsingPref =
|
||||
- (CheckBoxPreference) findPreference(PREF_SAFE_BROWSING);
|
||||
- if (safeBrowsingPref != null) {
|
||||
- safeBrowsingPref.setChecked(prefServiceBridge.isSafeBrowsingEnabled());
|
||||
- }
|
||||
-
|
||||
CheckBoxPreference canMakePaymentPref =
|
||||
(CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
||||
if (canMakePaymentPref != null) {
|
||||
@@ -267,12 +233,6 @@ public class PrivacyPreferences extends PreferenceFragment
|
||||
if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
return prefs.isSearchSuggestManaged();
|
||||
}
|
||||
- if (PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
|
||||
- return prefs.isSafeBrowsingExtendedReportingManaged();
|
||||
- }
|
||||
- if (PREF_SAFE_BROWSING.equals(key)) {
|
||||
- return prefs.isSafeBrowsingManaged();
|
||||
- }
|
||||
if (PREF_NETWORK_PREDICTIONS.equals(key)) {
|
||||
return prefs.isNetworkPredictionManaged();
|
||||
}
|
||||
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
|
||||
@@ -250,16 +250,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
|
||||
return false;
|
||||
}
|
||||
|
||||
-// Callback for when cookies have been deleted. Invokes NotifyIfDone.
|
||||
-// Receiving |cookie_manager| as a parameter so that the receive pipe is
|
||||
-// not deleted before the response is received.
|
||||
-void OnClearedCookies(base::OnceClosure done,
|
||||
- network::mojom::CookieManagerPtr cookie_manager,
|
||||
- uint32_t num_deleted) {
|
||||
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
- std::move(done).Run();
|
||||
-}
|
||||
-
|
||||
} // namespace
|
||||
|
||||
ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate(
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -115,7 +115,6 @@
|
||||
#include "chrome/browser/safe_browsing/certificate_reporting_service.h"
|
||||
#include "chrome/browser/safe_browsing/certificate_reporting_service_factory.h"
|
||||
#include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
|
||||
-#include "chrome/browser/safe_browsing/safe_browsing_navigation_throttle.h"
|
||||
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
||||
#include "chrome/browser/safe_browsing/ui_manager.h"
|
||||
#include "chrome/browser/safe_browsing/url_checker_delegate_impl.h"
|
||||
@@ -4248,11 +4247,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
PreviewsLitePageDecider::MaybeCreateThrottleFor(handle);
|
||||
if (previews_lite_page_throttle)
|
||||
throttles.push_back(std::move(previews_lite_page_throttle));
|
||||
- if (base::FeatureList::IsEnabled(safe_browsing::kCommittedSBInterstitials)) {
|
||||
- throttles.push_back(
|
||||
- std::make_unique<safe_browsing::SafeBrowsingNavigationThrottle>(
|
||||
- handle));
|
||||
- }
|
||||
|
||||
#if defined(OS_WIN) || defined(OS_MACOSX) || \
|
||||
(defined(OS_LINUX) && !defined(OS_CHROMEOS))
|
||||
@@ -5192,19 +5186,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
|
||||
content::ResourceContext* resource_context) {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
||||
|
||||
- ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
|
||||
- if (!io_data->safe_browsing_enabled()->GetValue())
|
||||
- return nullptr;
|
||||
-
|
||||
- // |safe_browsing_service_| may be unavailable in tests.
|
||||
- if (safe_browsing_service_ && !safe_browsing_url_checker_delegate_) {
|
||||
- safe_browsing_url_checker_delegate_ =
|
||||
- base::MakeRefCounted<safe_browsing::UrlCheckerDelegateImpl>(
|
||||
- safe_browsing_service_->database_manager(),
|
||||
- safe_browsing_service_->ui_manager());
|
||||
- }
|
||||
-
|
||||
- return safe_browsing_url_checker_delegate_.get();
|
||||
+ return nullptr;
|
||||
}
|
||||
|
||||
base::Optional<std::string>
|
||||
diff --git a/chrome/browser/component_updater/file_type_policies_component_installer.cc b/chrome/browser/component_updater/file_type_policies_component_installer.cc
|
||||
--- a/chrome/browser/component_updater/file_type_policies_component_installer.cc
|
||||
+++ b/chrome/browser/component_updater/file_type_policies_component_installer.cc
|
||||
@@ -18,7 +18,9 @@
|
||||
#include "base/stl_util.h"
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/version.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
#include "components/component_updater/component_updater_paths.h"
|
||||
|
||||
using component_updater::ComponentUpdateService;
|
||||
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
|
||||
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
|
||||
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
|
||||
@@ -39,8 +39,10 @@
|
||||
#include "chrome/browser/download/save_package_file_picker.h"
|
||||
#include "chrome/browser/platform_util.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
|
||||
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
||||
+#endif
|
||||
#include "chrome/browser/ui/browser.h"
|
||||
#include "chrome/browser/ui/browser_finder.h"
|
||||
#include "chrome/browser/ui/chrome_pages.h"
|
||||
@@ -51,7 +53,9 @@
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/pdf_util.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "components/download/public/common/download_interrupt_reasons.h"
|
||||
#include "components/download/public/common/download_item.h"
|
||||
@@ -106,8 +110,10 @@ using content::DownloadManager;
|
||||
using download::DownloadItem;
|
||||
using download::DownloadPathReservationTracker;
|
||||
using download::PathValidationResult;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
using safe_browsing::DownloadFileType;
|
||||
using safe_browsing::DownloadProtectionService;
|
||||
+#endif
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -768,19 +774,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
|
||||
return std::string(chrome::kApplicationClientIDStringForAVScanning);
|
||||
}
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
DownloadProtectionService*
|
||||
ChromeDownloadManagerDelegate::GetDownloadProtectionService() {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
-#if defined(FULL_SAFE_BROWSING)
|
||||
safe_browsing::SafeBrowsingService* sb_service =
|
||||
g_browser_process->safe_browsing_service();
|
||||
if (sb_service && sb_service->download_protection_service() &&
|
||||
profile_->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnabled)) {
|
||||
return sb_service->download_protection_service();
|
||||
}
|
||||
-#endif
|
||||
return NULL;
|
||||
}
|
||||
+#endif
|
||||
|
||||
void ChromeDownloadManagerDelegate::NotifyExtensions(
|
||||
DownloadItem* download,
|
||||
@@ -1222,13 +1228,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
|
||||
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
|
||||
#endif
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
DownloadItemModel(item).SetDangerLevel(target_info->danger_level);
|
||||
+#endif
|
||||
}
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
if (ShouldBlockFile(target_info->danger_type, item)) {
|
||||
target_info->result = download::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED;
|
||||
// A dangerous type would take precendence over the blocking of the file.
|
||||
target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS;
|
||||
}
|
||||
+#endif
|
||||
|
||||
callback.Run(target_info->target_path, target_info->target_disposition,
|
||||
target_info->danger_type, target_info->intermediate_path,
|
||||
diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome/browser/download/chrome_download_manager_delegate.h
|
||||
--- a/chrome/browser/download/chrome_download_manager_delegate.h
|
||||
+++ b/chrome/browser/download/chrome_download_manager_delegate.h
|
||||
@@ -21,8 +21,10 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/browser/download/download_target_determiner_delegate.h"
|
||||
#include "chrome/browser/download/download_target_info.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_danger_type.h"
|
||||
#include "components/download/public/common/download_item.h"
|
||||
#include "components/download/public/common/download_path_reservation_tracker.h"
|
||||
@@ -134,8 +136,10 @@ class ChromeDownloadManagerDelegate
|
||||
DownloadPrefs* download_prefs() { return download_prefs_.get(); }
|
||||
|
||||
protected:
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
virtual safe_browsing::DownloadProtectionService*
|
||||
GetDownloadProtectionService();
|
||||
+#endif
|
||||
|
||||
// Show file picker for |download|.
|
||||
virtual void ShowFilePickerForDownload(
|
||||
@@ -201,9 +205,11 @@ class ChromeDownloadManagerDelegate
|
||||
const content::NotificationSource& source,
|
||||
const content::NotificationDetails& details) override;
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// Callback function after the DownloadProtectionService completes.
|
||||
void CheckClientDownloadDone(uint32_t download_id,
|
||||
safe_browsing::DownloadCheckResult result);
|
||||
+#endif
|
||||
|
||||
// Internal gateways for ShouldCompleteDownload().
|
||||
bool IsDownloadReadyForCompletion(
|
||||
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
|
||||
--- a/chrome/browser/download/download_item_model.cc
|
||||
+++ b/chrome/browser/download/download_item_model.cc
|
||||
@@ -22,9 +22,11 @@
|
||||
#include "chrome/browser/download/download_stats.h"
|
||||
#include "chrome/browser/download/offline_item_utils.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_feedback_service.h"
|
||||
#include "chrome/common/safe_browsing/download_file_types.pb.h"
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
#include "chrome/grit/chromium_strings.h"
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "components/download/public/common/download_danger_type.h"
|
||||
@@ -37,7 +39,9 @@
|
||||
|
||||
using base::TimeDelta;
|
||||
using download::DownloadItem;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
using safe_browsing::DownloadFileType;
|
||||
+#endif
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -67,9 +71,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
|
||||
// for the file type.
|
||||
bool should_prefer_opening_in_browser_;
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// Danger level of the file determined based on the file type and whether
|
||||
// there was a user action associated with the download.
|
||||
DownloadFileType::DangerLevel danger_level_;
|
||||
+#endif
|
||||
|
||||
// Whether the download is currently being revived.
|
||||
bool is_being_revived_;
|
||||
@@ -106,7 +112,9 @@ DownloadItemModelData::DownloadItemModelData()
|
||||
: should_show_in_shelf_(true),
|
||||
was_ui_notified_(false),
|
||||
should_prefer_opening_in_browser_(false),
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
danger_level_(DownloadFileType::NOT_DANGEROUS),
|
||||
+#endif
|
||||
is_being_revived_(false) {}
|
||||
|
||||
} // namespace
|
||||
@@ -368,6 +376,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
|
||||
data->should_prefer_opening_in_browser_ = preference;
|
||||
}
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
DownloadFileType::DangerLevel DownloadItemModel::GetDangerLevel() const {
|
||||
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
||||
return data ? data->danger_level_ : DownloadFileType::NOT_DANGEROUS;
|
||||
@@ -378,6 +387,7 @@ void DownloadItemModel::SetDangerLevel(
|
||||
DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
|
||||
data->danger_level_ = danger_level;
|
||||
}
|
||||
+#endif
|
||||
|
||||
bool DownloadItemModel::IsBeingRevived() const {
|
||||
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
|
||||
diff --git a/chrome/browser/download/download_item_model.h b/chrome/browser/download/download_item_model.h
|
||||
--- a/chrome/browser/download/download_item_model.h
|
||||
+++ b/chrome/browser/download/download_item_model.h
|
||||
@@ -11,7 +11,9 @@
|
||||
#include "base/macros.h"
|
||||
#include "base/strings/string16.h"
|
||||
#include "chrome/browser/download/download_ui_model.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/download_file_types.pb.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_item.h"
|
||||
|
||||
// Implementation of DownloadUIModel that wrappers around a |DownloadItem*|. As
|
||||
@@ -48,9 +50,11 @@ class DownloadItemModel : public DownloadUIModel,
|
||||
void SetWasUINotified(bool should_notify) override;
|
||||
bool ShouldPreferOpeningInBrowser() const override;
|
||||
void SetShouldPreferOpeningInBrowser(bool preference) override;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
safe_browsing::DownloadFileType::DangerLevel GetDangerLevel() const override;
|
||||
void SetDangerLevel(
|
||||
safe_browsing::DownloadFileType::DangerLevel danger_level) override;
|
||||
+#endif
|
||||
void OpenUsingPlatformHandler() override;
|
||||
bool IsBeingRevived() const override;
|
||||
void SetIsBeingRevived(bool is_being_revived) override;
|
||||
diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc
|
||||
--- a/chrome/browser/download/download_prefs.cc
|
||||
+++ b/chrome/browser/download/download_prefs.cc
|
||||
@@ -33,7 +33,9 @@
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_item.h"
|
||||
#include "components/pref_registry/pref_registry_syncable.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
@@ -55,7 +57,9 @@
|
||||
using content::BrowserContext;
|
||||
using content::BrowserThread;
|
||||
using content::DownloadManager;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
using safe_browsing::FileTypePolicies;
|
||||
+#endif
|
||||
|
||||
namespace {
|
||||
|
||||
diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc
|
||||
--- a/chrome/browser/download/download_target_determiner.cc
|
||||
+++ b/chrome/browser/download/download_target_determiner.cc
|
||||
@@ -23,7 +23,9 @@
|
||||
#include "chrome/browser/history/history_service_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
#include "chrome/grit/generated_resources.h"
|
||||
#include "components/download/public/common/download_interrupt_reasons.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
@@ -59,13 +61,16 @@
|
||||
using content::BrowserThread;
|
||||
using download::DownloadItem;
|
||||
using download::DownloadPathReservationTracker;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
using safe_browsing::DownloadFileType;
|
||||
+#endif
|
||||
|
||||
namespace {
|
||||
|
||||
const base::FilePath::CharType kCrdownloadSuffix[] =
|
||||
FILE_PATH_LITERAL(".crdownload");
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// Condenses the results from HistoryService::GetVisibleVisitCountToHost() to a
|
||||
// single bool. A host is considered visited before if prior visible visits were
|
||||
// found in history and the first such visit was earlier than the most recent
|
||||
@@ -79,6 +84,7 @@ void VisitCountsToVisitedBefore(
|
||||
found_visits && count > 0 &&
|
||||
(first_visit.LocalMidnight() < base::Time::Now().LocalMidnight()));
|
||||
}
|
||||
+#endif
|
||||
|
||||
#if defined(OS_WIN)
|
||||
// Keeps track of whether Adobe Reader is up to date.
|
||||
@@ -103,7 +109,9 @@ DownloadTargetDeterminer::DownloadTargetDeterminer(
|
||||
create_target_directory_(false),
|
||||
conflict_action_(conflict_action),
|
||||
danger_type_(download->GetDangerType()),
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
danger_level_(DownloadFileType::NOT_DANGEROUS),
|
||||
+#endif
|
||||
virtual_path_(initial_virtual_path),
|
||||
is_filetype_handled_safely_(false),
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -259,8 +267,12 @@ DownloadTargetDeterminer::Result
|
||||
// |suggested_filename| and Content-Disposition header have higher priority
|
||||
// than the URL.
|
||||
bool safe_file_ext =
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
!safe_browsing::FileTypePolicies::GetInstance()->IsCheckedBinaryFile(
|
||||
generated_filename);
|
||||
+#else
|
||||
+ true;
|
||||
+#endif
|
||||
net::HttpContentDisposition content_disposition_header(
|
||||
download_->GetContentDisposition(), referrer_charset);
|
||||
bool should_replace_extension =
|
||||
@@ -749,6 +761,7 @@ DownloadTargetDeterminer::Result
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// First determine the danger level assuming that the user doesn't have any
|
||||
// prior visits to the referrer recoreded in history. The resulting danger
|
||||
// level would be ALLOW_ON_USER_GESTURE if the level depends on the visit
|
||||
@@ -785,6 +798,7 @@ DownloadTargetDeterminer::Result
|
||||
// invalid, then assume the referrer has not been visited before.
|
||||
if (danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
|
||||
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
|
||||
+#endif
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
@@ -792,11 +806,13 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
|
||||
bool visited_referrer_before) {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_);
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
danger_level_ = GetDangerLevel(
|
||||
visited_referrer_before ? VISITED_REFERRER : NO_VISITS_TO_REFERRER);
|
||||
if (danger_level_ != DownloadFileType::NOT_DANGEROUS &&
|
||||
danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
|
||||
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
|
||||
+#endif
|
||||
DoLoop();
|
||||
}
|
||||
|
||||
@@ -901,7 +917,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
|
||||
<< " Intermediate:" << intermediate_path_.AsUTF8Unsafe()
|
||||
<< " Confirmation reason:" << static_cast<int>(confirmation_reason_)
|
||||
<< " Danger type:" << danger_type_
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
<< " Danger level:" << danger_level_
|
||||
+#endif
|
||||
<< " Result:" << static_cast<int>(result);
|
||||
std::unique_ptr<DownloadTargetInfo> target_info(new DownloadTargetInfo);
|
||||
|
||||
@@ -913,7 +931,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
|
||||
? DownloadItem::TARGET_DISPOSITION_PROMPT
|
||||
: DownloadItem::TARGET_DISPOSITION_OVERWRITE);
|
||||
target_info->danger_type = danger_type_;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
target_info->danger_level = danger_level_;
|
||||
+#endif
|
||||
target_info->intermediate_path = intermediate_path_;
|
||||
target_info->mime_type = mime_type_;
|
||||
target_info->is_filetype_handled_safely = is_filetype_handled_safely_;
|
||||
@@ -999,6 +1019,7 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
|
||||
DownloadItem::TARGET_DISPOSITION_PROMPT);
|
||||
}
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
|
||||
PriorVisitsToReferrer visits) const {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
@@ -1030,6 +1051,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
|
||||
|
||||
return DownloadFileType::NOT_DANGEROUS;
|
||||
}
|
||||
+#endif
|
||||
|
||||
void DownloadTargetDeterminer::OnDownloadDestroyed(
|
||||
DownloadItem* download) {
|
||||
diff --git a/chrome/browser/download/download_target_determiner.h b/chrome/browser/download/download_target_determiner.h
|
||||
--- a/chrome/browser/download/download_target_determiner.h
|
||||
+++ b/chrome/browser/download/download_target_determiner.h
|
||||
@@ -16,7 +16,9 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/browser/download/download_target_determiner_delegate.h"
|
||||
#include "chrome/browser/download/download_target_info.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/download_file_types.pb.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_danger_type.h"
|
||||
#include "components/download/public/common/download_item.h"
|
||||
#include "components/download/public/common/download_path_reservation_tracker.h"
|
||||
@@ -300,6 +302,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
|
||||
// operation.
|
||||
bool HasPromptedForPath() const;
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// Returns true if this download should show the "dangerous file" warning.
|
||||
// Various factors are considered, such as the type of the file, whether a
|
||||
// user action initiated the download, and whether the user has explicitly
|
||||
@@ -309,6 +312,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
|
||||
// to true if the download requires explicit user consent.
|
||||
safe_browsing::DownloadFileType::DangerLevel GetDangerLevel(
|
||||
PriorVisitsToReferrer visits) const;
|
||||
+#endif
|
||||
|
||||
// download::DownloadItem::Observer
|
||||
void OnDownloadDestroyed(download::DownloadItem* download) override;
|
||||
@@ -321,7 +325,9 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
|
||||
download::DownloadPathReservationTracker::FilenameConflictAction
|
||||
conflict_action_;
|
||||
download::DownloadDangerType danger_type_;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
safe_browsing::DownloadFileType::DangerLevel danger_level_;
|
||||
+#endif
|
||||
base::FilePath virtual_path_;
|
||||
base::FilePath local_path_;
|
||||
base::FilePath intermediate_path_;
|
||||
diff --git a/chrome/browser/download/download_target_info.cc b/chrome/browser/download/download_target_info.cc
|
||||
--- a/chrome/browser/download/download_target_info.cc
|
||||
+++ b/chrome/browser/download/download_target_info.cc
|
||||
@@ -4,12 +4,16 @@
|
||||
|
||||
#include "chrome/browser/download/download_target_info.h"
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/file_type_policies.h"
|
||||
+#endif
|
||||
|
||||
DownloadTargetInfo::DownloadTargetInfo()
|
||||
: target_disposition(download::DownloadItem::TARGET_DISPOSITION_OVERWRITE),
|
||||
danger_type(download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS),
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
danger_level(safe_browsing::DownloadFileType::NOT_DANGEROUS),
|
||||
+#endif
|
||||
is_filetype_handled_safely(false),
|
||||
result(download::DOWNLOAD_INTERRUPT_REASON_NONE) {}
|
||||
|
||||
diff --git a/chrome/browser/download/download_target_info.h b/chrome/browser/download/download_target_info.h
|
||||
--- a/chrome/browser/download/download_target_info.h
|
||||
+++ b/chrome/browser/download/download_target_info.h
|
||||
@@ -8,7 +8,9 @@
|
||||
#include <string>
|
||||
|
||||
#include "base/files/file_path.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/download_file_types.pb.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_danger_type.h"
|
||||
#include "components/download/public/common/download_interrupt_reasons.h"
|
||||
#include "components/download/public/common/download_item.h"
|
||||
@@ -32,6 +34,7 @@ struct DownloadTargetInfo {
|
||||
// Danger type of the download.
|
||||
download::DownloadDangerType danger_type;
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// The danger type of the download could be set to MAYBE_DANGEROUS_CONTENT if
|
||||
// the file type is handled by SafeBrowsing. However, if the SafeBrowsing
|
||||
// service is unable to verify whether the file is safe or not, we are on our
|
||||
@@ -57,6 +60,7 @@ struct DownloadTargetInfo {
|
||||
// SafeBrowsing may flag the file as being malicious, in which case the
|
||||
// malicious classification should take precedence.
|
||||
safe_browsing::DownloadFileType::DangerLevel danger_level;
|
||||
+#endif
|
||||
|
||||
// Suggested intermediate path. The downloaded bytes should be written to this
|
||||
// path until all the bytes are available and the user has accepted a
|
||||
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
|
||||
--- a/chrome/browser/download/download_ui_model.cc
|
||||
+++ b/chrome/browser/download/download_ui_model.cc
|
||||
@@ -23,7 +23,9 @@
|
||||
|
||||
using base::TimeDelta;
|
||||
using download::DownloadItem;
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
using safe_browsing::DownloadFileType;
|
||||
+#endif
|
||||
using offline_items_collection::FailState;
|
||||
|
||||
namespace {
|
||||
@@ -368,12 +370,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
|
||||
|
||||
void DownloadUIModel::SetShouldPreferOpeningInBrowser(bool preference) {}
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
DownloadFileType::DangerLevel DownloadUIModel::GetDangerLevel() const {
|
||||
return DownloadFileType::NOT_DANGEROUS;
|
||||
}
|
||||
|
||||
void DownloadUIModel::SetDangerLevel(
|
||||
DownloadFileType::DangerLevel danger_level) {}
|
||||
+#endif
|
||||
|
||||
void DownloadUIModel::OpenUsingPlatformHandler() {}
|
||||
|
||||
diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/download/download_ui_model.h
|
||||
--- a/chrome/browser/download/download_ui_model.h
|
||||
+++ b/chrome/browser/download/download_ui_model.h
|
||||
@@ -14,7 +14,9 @@
|
||||
#include "base/strings/string16.h"
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/browser/profiles/profile_manager.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/common/safe_browsing/download_file_types.pb.h"
|
||||
+#endif
|
||||
#include "components/download/public/common/download_item.h"
|
||||
#include "components/offline_items_collection/core/offline_item.h"
|
||||
|
||||
@@ -172,6 +174,7 @@ class DownloadUIModel {
|
||||
// Change what's returned by ShouldPreferOpeningInBrowser to |preference|.
|
||||
virtual void SetShouldPreferOpeningInBrowser(bool preference);
|
||||
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
// Return the danger level determined during download target determination.
|
||||
// The value returned here is independent of the danger level as determined by
|
||||
// the Safe Browsing.
|
||||
@@ -180,6 +183,7 @@ class DownloadUIModel {
|
||||
// Change what's returned by GetDangerLevel().
|
||||
virtual void SetDangerLevel(
|
||||
safe_browsing::DownloadFileType::DangerLevel danger_level);
|
||||
+#endif
|
||||
|
||||
// Open the download using the platform handler for the download. The behavior
|
||||
// of this method will be different from DownloadItem::OpenDownload() if
|
||||
diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
||||
--- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
||||
+++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
|
||||
@@ -399,7 +399,9 @@ void ChromeResourceDispatcherHostDelegate::AppendStandardResourceThrottles(
|
||||
content::ResourceContext* resource_context,
|
||||
ResourceType resource_type,
|
||||
std::vector<std::unique_ptr<content::ResourceThrottle>>* throttles) {
|
||||
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
|
||||
ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
|
||||
+#endif // defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
|
||||
|
||||
// Insert safe browsing to decide if the resource is safe.
|
||||
content::ResourceThrottle* first_throttle = NULL;
|
||||
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
|
||||
--- a/chrome/browser/net/chrome_network_delegate.cc
|
||||
+++ b/chrome/browser/net/chrome_network_delegate.cc
|
||||
@@ -78,19 +78,6 @@ namespace {
|
||||
|
||||
bool g_access_to_all_files_enabled = false;
|
||||
|
||||
-// Gets called when the extensions finish work on the URL. If the extensions
|
||||
-// did not do a redirect (so |new_url| is empty) then we enforce the
|
||||
-// SafeSearch parameters. Otherwise we will get called again after the
|
||||
-// redirect and we enforce SafeSearch then.
|
||||
-void ForceGoogleSafeSearchCallbackWrapper(net::CompletionOnceCallback callback,
|
||||
- net::URLRequest* request,
|
||||
- GURL* new_url,
|
||||
- int rv) {
|
||||
- if (rv == net::OK && new_url->is_empty())
|
||||
- safe_search_util::ForceGoogleSafeSearch(request->url(), new_url);
|
||||
- std::move(callback).Run(rv);
|
||||
-}
|
||||
-
|
||||
bool IsAccessAllowedInternal(const base::FilePath& path,
|
||||
const base::FilePath& profile_path) {
|
||||
if (g_access_to_all_files_enabled)
|
||||
@@ -212,26 +199,8 @@ int ChromeNetworkDelegate::OnBeforeURLRequest(
|
||||
GURL* new_url) {
|
||||
extensions_delegate_->ForwardStartRequestStatus(request);
|
||||
|
||||
- // The non-redirect case is handled in GoogleURLLoaderThrottle.
|
||||
- bool force_safe_search =
|
||||
- (force_google_safe_search_ && force_google_safe_search_->GetValue() &&
|
||||
- request->is_redirecting());
|
||||
-
|
||||
- net::CompletionOnceCallback wrapped_callback = std::move(callback);
|
||||
-
|
||||
- if (force_safe_search) {
|
||||
- wrapped_callback = base::BindOnce(
|
||||
- &ForceGoogleSafeSearchCallbackWrapper, std::move(wrapped_callback),
|
||||
- base::Unretained(request), base::Unretained(new_url));
|
||||
- }
|
||||
-
|
||||
- int rv = extensions_delegate_->NotifyBeforeURLRequest(
|
||||
- request, std::move(wrapped_callback), new_url);
|
||||
-
|
||||
- if (force_safe_search && rv == net::OK && new_url->is_empty())
|
||||
- safe_search_util::ForceGoogleSafeSearch(request->url(), new_url);
|
||||
-
|
||||
- return rv;
|
||||
+ return extensions_delegate_->NotifyBeforeURLRequest(
|
||||
+ request, std::move(callback), new_url);
|
||||
}
|
||||
|
||||
int ChromeNetworkDelegate::OnBeforeStartTransaction(
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -3,14 +3,29 @@ Date: Thu, 2 Nov 2017 18:21:16 +0200
|
||||
Subject: Allow playing audio in background
|
||||
|
||||
---
|
||||
media/blink/webmediaplayer_impl.cc | 11 ++++++++++-
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
media/blink/webmediaplayer_impl.cc | 12 +++++++++++-
|
||||
media/blink/webmediaplayer_impl.h | 2 ++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
3 files changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -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
|
||||
@@ -948,6 +948,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
@@ -976,6 +976,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
return pipeline_metadata_.has_audio;
|
||||
}
|
||||
|
||||
@@ -23,22 +38,23 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
|
||||
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
||||
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
|
||||
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
||||
@@ -3113,7 +3119,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
|
||||
// If suspending background video, pause any video that's not remoted or
|
||||
// not unlocked to play in the background.
|
||||
if (IsBackgroundSuspendEnabled(this)) {
|
||||
- if (!HasVideo())
|
||||
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
|
||||
+ //see media/base/pipeline_metadata.h. This is a workaround to allow audio
|
||||
+ //streams be played in background.
|
||||
+ if (!HasVideoNonEmptySize())
|
||||
return false;
|
||||
@@ -3278,7 +3284,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
||||
// Audio only stream is allowed to play when in background.
|
||||
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
|
||||
// to move the logic of checking video frames out of that function.
|
||||
- if (!HasVideo())
|
||||
+
|
||||
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
|
||||
+ //see media/base/pipeline_metadata.h. This is a workaround to allow audio
|
||||
+ //streams be played in background.
|
||||
+ if (!HasVideoNonEmptySize())
|
||||
return false;
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
if (!is_background_video_playback_enabled_)
|
||||
diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
|
||||
--- a/media/blink/webmediaplayer_impl.h
|
||||
+++ b/media/blink/webmediaplayer_impl.h
|
||||
@@ -141,6 +141,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
||||
@@ -142,6 +142,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
||||
// True if the loaded media has a playable video/audio track.
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
||||
|
||||
@@ -10,7 +10,7 @@ Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found
|
||||
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
|
||||
@@ -126,7 +126,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
|
||||
@@ -152,7 +152,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
|
||||
registry->RegisterBooleanPref(prefs::kAccountConsistencyMirrorRequired,
|
||||
false);
|
||||
#endif
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Always allow partner customisation
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
@@ -244,14 +244,14 @@ public class PartnerBrowserCustomizations {
|
||||
@@ -243,14 +243,14 @@ public class PartnerBrowserCustomizations {
|
||||
@Override
|
||||
protected Void doInBackground() {
|
||||
try {
|
||||
|
||||
@@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration
|
||||
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
|
||||
--- a/chrome/browser/net/system_network_context_manager.cc
|
||||
+++ b/chrome/browser/net/system_network_context_manager.cc
|
||||
@@ -226,7 +226,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
|
||||
@@ -244,7 +244,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
|
||||
// Android this includes checking the Android version in the field trial.
|
||||
bool ShouldEnableAsyncDns() {
|
||||
bool feature_can_be_enabled = true;
|
||||
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
|
||||
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
|
||||
--- a/components/cronet/url_request_context_config.cc
|
||||
+++ b/components/cronet/url_request_context_config.cc
|
||||
@@ -544,7 +544,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
@@ -550,7 +550,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
|
||||
effective_experimental_options->Remove(it.key(), nullptr);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ This allows removing the home page button and restoring it from settings.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
|
||||
@@ -338,18 +338,6 @@ public class ProcessInitializationHandler {
|
||||
@@ -356,18 +356,6 @@ public class ProcessInitializationHandler {
|
||||
deferredStartupHandler.addDeferredTask(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -89,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomiz
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
|
||||
@@ -147,13 +147,6 @@ public class ChromePreferenceManager {
|
||||
@@ -154,13 +154,6 @@ public class ChromePreferenceManager {
|
||||
private static final String CHROME_MODERN_DESIGN_ENABLED_KEY = "chrome_modern_design_enabled";
|
||||
|
||||
/**
|
||||
@@ -106,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
@@ -207,15 +207,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -206,15 +206,11 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
updateSyncAndServicesPreference();
|
||||
updateSearchEnginePreference();
|
||||
|
||||
@@ -124,31 +124,32 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
}
|
||||
+ setOnOffSummary(homepagePref, HomepageManager.getInstance().getPrefHomepageEnabled());
|
||||
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)
|
||||
&& FeatureUtilities.areContextualSuggestionsEnabled(getActivity())
|
||||
if (NightModeUtils.isNightModeSupported() && FeatureUtilities.isNightModeAvailable()) {
|
||||
addPreferenceIfAbsent(PREF_UI_THEME);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUtilities.java
|
||||
@@ -73,7 +73,6 @@ public class FeatureUtilities {
|
||||
private static Boolean sHasGoogleAccountAuthenticator;
|
||||
private static Boolean sHasRecognitionIntentHandler;
|
||||
|
||||
private static Boolean sIsSoleEnabled;
|
||||
- private static Boolean sIsHomePageButtonForceEnabled;
|
||||
private static Boolean sIsHomepageTileEnabled;
|
||||
private static Boolean sIsNewTabPageButtonEnabled;
|
||||
private static Boolean sIsBottomToolbarEnabled;
|
||||
@@ -194,7 +193,6 @@ public class FeatureUtilities {
|
||||
cacheSoleEnabled();
|
||||
@@ -178,7 +177,6 @@ public class FeatureUtilities {
|
||||
public static void cacheNativeFlags() {
|
||||
cacheCommandLineOnNonRootedEnabled();
|
||||
FirstRunUtils.cacheFirstRunPrefs();
|
||||
- cacheHomePageButtonForceEnabled();
|
||||
cacheHomepageTileEnabled();
|
||||
cacheNewTabPageButtonEnabled();
|
||||
cacheBottomToolbarEnabled();
|
||||
@@ -229,38 +227,6 @@ public class FeatureUtilities {
|
||||
@@ -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.
|
||||
- */
|
||||
@@ -180,17 +181,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/util/FeatureUti
|
||||
- sIsHomePageButtonForceEnabled = null;
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
* Cache whether or not the toolbar should be inflated on a background thread so on next
|
||||
* startup, the value can be made available immediately.
|
||||
*/
|
||||
private static void 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
|
||||
@@ -1710,9 +1710,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-chrome-duet", flag_descriptions::kChromeDuetName,
|
||||
flag_descriptions::kChromeDuetDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kChromeDuetFeature)},
|
||||
@@ -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)},
|
||||
@@ -200,17 +200,17 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/android/chrome_feature_list.cc
|
||||
@@ -133,7 +133,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
@@ -143,7 +143,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
&kEphemeralTab,
|
||||
&kExploreSites,
|
||||
&kHandleMediaIntents,
|
||||
&kHideUserDataFromIncognitoNotifications,
|
||||
- &kHomePageButtonForceEnabled,
|
||||
&kHomepageTile,
|
||||
&kHorizontalTabSwitcherAndroid,
|
||||
&kImprovedA2HS,
|
||||
@@ -377,9 +376,6 @@ const base::Feature kHandleMediaIntents{"HandleMediaIntents",
|
||||
const base::Feature kHideUserDataFromIncognitoNotifications{
|
||||
"HideUserDataFromIncognitoNotifications", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
&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};
|
||||
@@ -221,14 +221,14 @@ diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/andr
|
||||
diff --git a/chrome/browser/android/chrome_feature_list.h b/chrome/browser/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/android/chrome_feature_list.h
|
||||
@@ -63,7 +63,6 @@ extern const base::Feature kExploreSites;
|
||||
@@ -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 kHideUserDataFromIncognitoNotifications;
|
||||
-extern const base::Feature kHomePageButtonForceEnabled;
|
||||
extern const base::Feature kHomepageTile;
|
||||
extern const base::Feature kHorizontalTabSwitcherAndroid;
|
||||
extern const base::Feature kImprovedA2HS;
|
||||
extern const base::Feature kIdentityDisc;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Return fixed base latency
|
||||
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
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
@@ -42,10 +42,10 @@ interface AnalyserNode : AudioNode {
|
||||
@@ -43,10 +43,10 @@ interface AnalyserNode : AudioNode {
|
||||
|
||||
// Copies the current frequency data into the passed array.
|
||||
// If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
|
||||
@@ -30,20 +30,20 @@ diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/thi
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
@@ -38,7 +38,7 @@
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
// Channel access
|
||||
readonly attribute unsigned long numberOfChannels;
|
||||
- [HighEntropy, Measure, RaisesException] Float32Array getChannelData(unsigned long channelIndex);
|
||||
- [HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long startInChannel = 0);
|
||||
- [HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long bufferOffset = 0);
|
||||
+ //[HighEntropy, Measure, RaisesException] Float32Array getChannelData(unsigned long channelIndex);
|
||||
+ //[HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long startInChannel = 0);
|
||||
[RaisesException] void copyToChannel(Float32Array source, long channelNumber, optional unsigned long startInChannel = 0);
|
||||
+ //[HighEntropy, Measure, RaisesException] void copyFromChannel(Float32Array destination, long channelNumber, optional unsigned long bufferOffset = 0);
|
||||
[RaisesException] void copyToChannel(Float32Array source, long channelNumber, optional unsigned long bufferOffset = 0);
|
||||
};
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -324,6 +324,7 @@ void AudioContext::StopRendering() {
|
||||
@@ -343,6 +343,7 @@ void AudioContext::StopRendering() {
|
||||
double AudioContext::baseLatency() const {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination());
|
||||
|
||||
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 22 Mar 2018 22:11:57 +0100
|
||||
Subject: Battery API: return nothing
|
||||
|
||||
Include @thestinger's fix for correct charging/unknown values
|
||||
---
|
||||
.../renderer/modules/battery/battery_manager.cc | 25 ++++------------------
|
||||
1 file changed, 4 insertions(+), 21 deletions(-)
|
||||
@@ -9,27 +10,27 @@ Subject: Battery API: return nothing
|
||||
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
|
||||
@@ -44,45 +44,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
@@ -45,45 +45,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
}
|
||||
|
||||
bool BatteryManager::charging() {
|
||||
- return battery_status_.Charging();
|
||||
+ return false;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
double BatteryManager::chargingTime() {
|
||||
- return battery_status_.charging_time();
|
||||
+ return 0;
|
||||
+ return 0.0;
|
||||
}
|
||||
|
||||
double BatteryManager::dischargingTime() {
|
||||
- return battery_status_.discharging_time();
|
||||
+ return 0;
|
||||
+ return std::numeric_limits<double>::infinity();
|
||||
}
|
||||
|
||||
double BatteryManager::level() {
|
||||
- return battery_status_.Level();
|
||||
+ return 1;
|
||||
+ return 1.0;
|
||||
}
|
||||
|
||||
void BatteryManager::DidUpdateData() {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,876 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 23 Aug 2018 19:30:15 +0200
|
||||
Subject: Bromite adblock engine
|
||||
|
||||
Original adblock engine ported from NoChromo patch
|
||||
Make interception testable
|
||||
Add domain support
|
||||
Re-land: third-party filters support
|
||||
Add menu option to toggle global Adblock preference
|
||||
Allow toggling Chromium's "ads enabled" content settings option together with Bromite adblock engine.
|
||||
Perform adblock interception in StartJob to address lagging issues
|
||||
New mechanism for adblocking based on Brave's adblocking hook
|
||||
Add support for Webview content blocking
|
||||
---
|
||||
android_webview/browser/net/aw_network_delegate.cc | 68 ++++
|
||||
android_webview/browser/net/aw_network_delegate.h | 3 +
|
||||
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 +
|
||||
.../browser/appmenu/AppMenuPropertiesDelegate.java | 38 ++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 2 +
|
||||
.../java/strings/android_chrome_strings.grd | 11 +
|
||||
chrome/browser/net/chrome_network_delegate.cc | 83 +++++
|
||||
.../subresource_filter_content_settings_manager.cc | 1 +
|
||||
net/BUILD.gn | 7 +
|
||||
net/url_request/adblock_intercept.cc | 389 +++++++++++++++++++++
|
||||
net/url_request/adblock_intercept.h | 35 ++
|
||||
14 files changed, 676 insertions(+)
|
||||
create mode 100644 net/url_request/adblock_intercept.cc
|
||||
create mode 100644 net/url_request/adblock_intercept.h
|
||||
|
||||
diff --git a/android_webview/browser/net/aw_network_delegate.cc b/android_webview/browser/net/aw_network_delegate.cc
|
||||
--- a/android_webview/browser/net/aw_network_delegate.cc
|
||||
+++ b/android_webview/browser/net/aw_network_delegate.cc
|
||||
@@ -20,9 +20,11 @@
|
||||
#include "net/base/proxy_server.h"
|
||||
#include "net/http/http_response_headers.h"
|
||||
#include "net/proxy_resolution/proxy_info.h"
|
||||
+#include "net/url_request/adblock_intercept.h"
|
||||
#include "net/url_request/url_request.h"
|
||||
|
||||
using content::BrowserThread;
|
||||
+using content::ResourceRequestInfo;
|
||||
|
||||
namespace android_webview {
|
||||
|
||||
@@ -49,6 +51,72 @@ AwNetworkDelegate::AwNetworkDelegate() {}
|
||||
AwNetworkDelegate::~AwNetworkDelegate() {
|
||||
}
|
||||
|
||||
+#define TRANSPARENT1PXGIF "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
+#define EMPTYJS "data:text/javascript;base64,Cg=="
|
||||
+#define EMPTYCSS "data:text/css;base64,Cg=="
|
||||
+
|
||||
+static bool requestIntercepted(net::URLRequest* request, GURL* new_url) {
|
||||
+ bool block = false, isValidUrl;
|
||||
+
|
||||
+ isValidUrl = request->url().is_valid();
|
||||
+ std::string scheme = request->url().scheme();
|
||||
+ if (isValidUrl && scheme.length()) {
|
||||
+ std::transform(scheme.begin(), scheme.end(), scheme.begin(), ::tolower);
|
||||
+ if ("http" != scheme && "https" != scheme) {
|
||||
+ isValidUrl = false;
|
||||
+ }
|
||||
+ }
|
||||
+ ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
|
||||
+
|
||||
+ // there are no per-site nor global ad/content settings when using the SystemWebView
|
||||
+ bool adblock_enabled = true;
|
||||
+ if (isValidUrl && info) {
|
||||
+ auto resource_type = info->GetResourceType();
|
||||
+
|
||||
+ if (adblock_enabled
|
||||
+ && content::RESOURCE_TYPE_MAIN_FRAME != resource_type
|
||||
+ && net::adblock_intercept(request->url(),
|
||||
+ request->initiator()->host(),
|
||||
+ resource_type)) {
|
||||
+ block = true;
|
||||
+ }
|
||||
+
|
||||
+ if (block) {
|
||||
+ switch (resource_type) {
|
||||
+ case content::RESOURCE_TYPE_IMAGE:
|
||||
+ case content::RESOURCE_TYPE_FAVICON:
|
||||
+ *new_url = GURL(TRANSPARENT1PXGIF);
|
||||
+ break;
|
||||
+ case content::RESOURCE_TYPE_SCRIPT:
|
||||
+ *new_url = GURL(EMPTYJS);
|
||||
+ break;
|
||||
+ case content::RESOURCE_TYPE_STYLESHEET:
|
||||
+ *new_url = GURL(EMPTYCSS);
|
||||
+ break;
|
||||
+ default:
|
||||
+ *new_url = GURL("");
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ } // valid URL and info
|
||||
+ return false;
|
||||
+}
|
||||
+#undef TRANSPARENT1PXGIF
|
||||
+#undef EMPTYJS
|
||||
+#undef EMPTYCSS
|
||||
+
|
||||
+int AwNetworkDelegate::OnBeforeURLRequest(net::URLRequest* request,
|
||||
+ net::CompletionOnceCallback callback,
|
||||
+ GURL* new_url) {
|
||||
+ if (request) {
|
||||
+ // most requests will be modified rather than intercepted
|
||||
+ if (requestIntercepted(request, new_url))
|
||||
+ return net::ERR_BLOCKED_BY_ADMINISTRATOR;
|
||||
+ } // request
|
||||
+
|
||||
+ return net::OK;
|
||||
+}
|
||||
+
|
||||
int AwNetworkDelegate::OnBeforeStartTransaction(
|
||||
net::URLRequest* request,
|
||||
net::CompletionOnceCallback callback,
|
||||
diff --git a/android_webview/browser/net/aw_network_delegate.h b/android_webview/browser/net/aw_network_delegate.h
|
||||
--- a/android_webview/browser/net/aw_network_delegate.h
|
||||
+++ b/android_webview/browser/net/aw_network_delegate.h
|
||||
@@ -22,6 +22,9 @@ class AwNetworkDelegate : public net::NetworkDelegateImpl {
|
||||
|
||||
private:
|
||||
// NetworkDelegate implementation.
|
||||
+ int OnBeforeURLRequest(net::URLRequest* request,
|
||||
+ net::CompletionOnceCallback callback,
|
||||
+ GURL* new_url) override;
|
||||
int OnBeforeStartTransaction(net::URLRequest* request,
|
||||
net::CompletionOnceCallback callback,
|
||||
net::HttpRequestHeaders* headers) override;
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -74,6 +74,18 @@
|
||||
</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
|
||||
@@ -2263,6 +2263,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
|
||||
@@ -1815,6 +1815,14 @@ public class ChromeTabbedActivity
|
||||
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/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
|
||||
@@ -195,6 +195,8 @@ public class AppMenuPropertiesDelegate {
|
||||
&& !TextUtils.isEmpty(url);
|
||||
prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
|
||||
|
||||
+ updateEnableAdBlockMenuItem(menu, currentTab);
|
||||
+
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
|
||||
|
||||
updateEnableJavascriptMenuItem(menu, currentTab);
|
||||
@@ -488,6 +490,42 @@ public class AppMenuPropertiesDelegate {
|
||||
}
|
||||
|
||||
/**
|
||||
+ * Updates the enable AdBlock item's state.
|
||||
+ *
|
||||
+ * @param menu {@link Menu} for enable adblock
|
||||
+ * @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 enable adblock 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 adblock is globally activate.
|
||||
+ 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
|
||||
+ ? mActivity.getString(R.string.menu_enable_adblock_on)
|
||||
+ : mActivity.getString(R.string.menu_enable_adblock_off));
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
* A notification that the header view has finished inflating.
|
||||
* @param view The view that was inflated.
|
||||
* @param appMenu The menu the view is inside of.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
|
||||
@@ -181,6 +181,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
}
|
||||
}
|
||||
|
||||
+ 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
|
||||
@@ -3086,6 +3086,17 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></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 AdBlock engine for the page. [CHAR-LIMIT=27]">
|
||||
+ Enable AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_ON" desc="Accessibility description for when Enable AdBlock is selected.">
|
||||
+ Turn off AdBlock
|
||||
+ </message>
|
||||
+ <message name="IDS_MENU_ENABLE_ADBLOCK_OFF" desc="Accessibility description for when Enable AdBlock is unselected.">
|
||||
+ Turn on AdBlock
|
||||
+ </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>
|
||||
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
|
||||
--- a/chrome/browser/net/chrome_network_delegate.cc
|
||||
+++ b/chrome/browser/net/chrome_network_delegate.cc
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/content_settings/cookie_settings_factory.h"
|
||||
+#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
|
||||
#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
|
||||
#include "chrome/browser/net/chrome_extensions_network_delegate.h"
|
||||
@@ -59,6 +60,7 @@
|
||||
#if defined(OS_ANDROID)
|
||||
#include "base/android/path_utils.h"
|
||||
#include "chrome/browser/io_thread.h"
|
||||
+#include "net/url_request/adblock_intercept.h"
|
||||
#endif
|
||||
|
||||
#if defined(OS_CHROMEOS)
|
||||
@@ -193,10 +195,91 @@ void ChromeNetworkDelegate::set_cookie_settings(
|
||||
cookie_settings_ = cookie_settings;
|
||||
}
|
||||
|
||||
+#define TRANSPARENT1PXGIF "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
+#define EMPTYJS "data:text/javascript;base64,Cg=="
|
||||
+#define EMPTYCSS "data:text/css;base64,Cg=="
|
||||
+
|
||||
+static bool requestIntercepted(net::URLRequest* request, GURL* new_url) {
|
||||
+ bool block = false, isValidUrl;
|
||||
+
|
||||
+ isValidUrl = request->url().is_valid();
|
||||
+ std::string scheme = request->url().scheme();
|
||||
+ if (isValidUrl && scheme.length()) {
|
||||
+ std::transform(scheme.begin(), scheme.end(), scheme.begin(), ::tolower);
|
||||
+ if ("http" != scheme && "https" != scheme) {
|
||||
+ isValidUrl = false;
|
||||
+ }
|
||||
+ }
|
||||
+ ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
|
||||
+
|
||||
+ bool adblock_enabled = false;
|
||||
+ if (isValidUrl && info) {
|
||||
+ const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter = info->GetWebContentsGetterForRequest();
|
||||
+ content::WebContents* web_contents = web_contents_getter.Run();
|
||||
+ if (web_contents) {
|
||||
+ Profile* profile = Profile::FromBrowserContext(web_contents->GetBrowserContext());
|
||||
+ //FIXME: this should not be called from the IO thread
|
||||
+ const HostContentSettingsMap* content_settings = HostContentSettingsMapFactory::GetForProfile(profile);
|
||||
+
|
||||
+ if (content_settings) {
|
||||
+ // check global value first
|
||||
+ adblock_enabled = CONTENT_SETTING_BLOCK == content_settings->GetDefaultContentSetting(ContentSettingsType::CONTENT_SETTINGS_TYPE_ADS, NULL);
|
||||
+
|
||||
+ if (!adblock_enabled) {
|
||||
+ // check per-site value
|
||||
+ adblock_enabled = CONTENT_SETTING_BLOCK == content_settings->GetContentSetting(request->url(), GURL(), ContentSettingsType::CONTENT_SETTINGS_TYPE_ADS,
|
||||
+ std::string());
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ auto resource_type = info->GetResourceType();
|
||||
+
|
||||
+ if (adblock_enabled
|
||||
+ && content::RESOURCE_TYPE_MAIN_FRAME != resource_type
|
||||
+ && net::adblock_intercept(request->url(),
|
||||
+ request->initiator()->host(),
|
||||
+ resource_type)) {
|
||||
+ block = true;
|
||||
+ }
|
||||
+
|
||||
+ if (block) {
|
||||
+ switch (resource_type) {
|
||||
+ case content::RESOURCE_TYPE_IMAGE:
|
||||
+ case content::RESOURCE_TYPE_FAVICON:
|
||||
+ *new_url = GURL(TRANSPARENT1PXGIF);
|
||||
+ break;
|
||||
+ case content::RESOURCE_TYPE_SCRIPT:
|
||||
+ *new_url = GURL(EMPTYJS);
|
||||
+ break;
|
||||
+ case content::RESOURCE_TYPE_STYLESHEET:
|
||||
+ *new_url = GURL(EMPTYCSS);
|
||||
+ break;
|
||||
+ default:
|
||||
+ *new_url = GURL("");
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ } // valid URL and info
|
||||
+ return false;
|
||||
+}
|
||||
+#undef TRANSPARENT1PXGIF
|
||||
+#undef EMPTYJS
|
||||
+#undef EMPTYCSS
|
||||
+
|
||||
int ChromeNetworkDelegate::OnBeforeURLRequest(
|
||||
net::URLRequest* request,
|
||||
net::CompletionOnceCallback callback,
|
||||
GURL* new_url) {
|
||||
+
|
||||
+#if defined(OS_ANDROID)
|
||||
+ if (request) {
|
||||
+ // most requests will be modified rather than intercepted
|
||||
+ if (requestIntercepted(request, new_url))
|
||||
+ return net::ERR_BLOCKED_BY_ADMINISTRATOR;
|
||||
+ } // request
|
||||
+#endif // OS_ANDROID
|
||||
+
|
||||
extensions_delegate_->ForwardStartRequestStatus(request);
|
||||
|
||||
return extensions_delegate_->NotifyBeforeURLRequest(
|
||||
diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
--- a/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
+++ b/chrome/browser/subresource_filter/subresource_filter_content_settings_manager.cc
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
#include "components/keyed_service/core/service_access_type.h"
|
||||
#include "url/gurl.h"
|
||||
+#include "net/url_request/adblock_intercept.h"
|
||||
|
||||
namespace {
|
||||
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1794,6 +1794,13 @@ component("net") {
|
||||
"url_request/websocket_handshake_userdata_key.h",
|
||||
]
|
||||
|
||||
+ if (is_android) {
|
||||
+ sources += [
|
||||
+ "url_request/adblock_intercept.cc",
|
||||
+ "url_request/adblock_intercept.h"
|
||||
+ ]
|
||||
+ }
|
||||
+
|
||||
if (enable_reporting) {
|
||||
sources += [
|
||||
"network_error_logging/network_error_logging_delegate.cc",
|
||||
diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_intercept.cc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/net/url_request/adblock_intercept.cc
|
||||
@@ -0,0 +1,389 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+#include "adblock_intercept.h"
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
+#include <cstddef>
|
||||
+#include <cstdlib>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#include "log.h"
|
||||
+#include <tld.h>
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
|
||||
+#include <android/log.h>
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
+#include "net/url_request/adblock_entries.h"
|
||||
+
|
||||
+namespace net {
|
||||
+
|
||||
+const char *LOG_TAG = "Bromite";
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
+int adblock_rules_count() { return ADBLOCK_ENTRY_COUNT; }
|
||||
+#endif
|
||||
+
|
||||
+// True if the given canonical |host| is "[www.]<domain_in_lower_case>.<TLD>"
|
||||
+// with a valid TLD. If |subdomain_permission| is ALLOW_SUBDOMAIN, we check
|
||||
+// against host "*.<domain_in_lower_case>.<TLD>" instead. Will return the TLD
|
||||
+// string in |tld|, if specified and the |host| can be parsed.
|
||||
+static bool is_first_party(const char *l_host, int len, const char *l_url_host,
|
||||
+ int b_len) {
|
||||
+ size_t tld_length;
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
+ char *found_tld;
|
||||
+
|
||||
+ if (TLD_SUCCESS != tld_get_z(l_host, &found_tld))
|
||||
+ return false;
|
||||
+ tld_length = strlen(found_tld);
|
||||
+ if (tld_length == 0)
|
||||
+ return false;
|
||||
+#else
|
||||
+ tld_length = net::registry_controlled_domains::GetCanonicalHostRegistryLength(
|
||||
+ l_host, net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
|
||||
+ net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
|
||||
+ if ((tld_length == 0) || (tld_length == std::string::npos))
|
||||
+ return false;
|
||||
+#endif
|
||||
+
|
||||
+ const char *tld = l_host + len - tld_length;
|
||||
+
|
||||
+ // Removes any subdomain from origin host.
|
||||
+ int i = len - tld_length - 2, top_i = i;
|
||||
+ if (i < 0) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ const char *domain = l_host;
|
||||
+ for (; i >= 0; i--) {
|
||||
+ if (l_host[i] == '.') {
|
||||
+ int p_len = top_i - i;
|
||||
+ // skip "co" in "co.uk", "org" in "org.uk"
|
||||
+ if (p_len <= 3) {
|
||||
+ tld -= p_len + 1;
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ // segment is long enough, accept it at as a domain
|
||||
+ domain = l_host + i;
|
||||
+ len -= i;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+#ifdef ADBLOCK_LOG
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG,
|
||||
+ "%s: extracted domain suffix: \"%s\" (TLD=\"%s\")",
|
||||
+ l_host, domain, tld);
|
||||
+#endif
|
||||
+
|
||||
+ // Check if supplied URL host matches, including the dot.
|
||||
+ if (b_len < len) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ for (int i = 0; i < len; i++) {
|
||||
+ if (l_url_host[b_len - 1 - i] != domain[len - 1 - i])
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ // pass with flying colors
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+static char *strtolower(const char *str, int len, bool &should_free) {
|
||||
+ char *ret = NULL;
|
||||
+ for (int i = 0; i < len; i++) {
|
||||
+ if ((65 <= str[i]) && (str[i] <= 90)) {
|
||||
+ // first time a difference is found, allocate buffer and copy previous
|
||||
+ // characters (if any)
|
||||
+ if (ret == NULL) {
|
||||
+ ret = (char *)malloc(len + 1);
|
||||
+ if (i != 0)
|
||||
+ memcpy(ret, str, i);
|
||||
+ }
|
||||
+ // convert character to lower case
|
||||
+ ret[i] = str[i] + 32;
|
||||
+ } else {
|
||||
+ if (ret != NULL)
|
||||
+ ret[i] = str[i];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (ret != NULL) {
|
||||
+ ret[len] = '\0';
|
||||
+ should_free = true;
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ // return source, unchanged
|
||||
+ return (char *)str;
|
||||
+}
|
||||
+
|
||||
+static char *strtosep(const char *str, int len) {
|
||||
+ char *ret = (char *)malloc(len + 3);
|
||||
+ ret[0] = '^';
|
||||
+ for (int i = 0; i < len; i++) {
|
||||
+ if ((str[i] == ':') || (str[i] == '/') || (str[i] == '?') ||
|
||||
+ (str[i] == '&') || (str[i] == '=')) {
|
||||
+ ret[i + 1] = '^';
|
||||
+ } else {
|
||||
+ ret[i + 1] = str[i];
|
||||
+ }
|
||||
+ }
|
||||
+ // the index 'len' character is set by the previous loop
|
||||
+ ret[len + 1] = '^';
|
||||
+ ret[len + 2] = '\0';
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static bool url_matches(const char *c_url, char *c_url_sep, char *c_url_lower,
|
||||
+ char *c_url_lower_sep, adblock_entry *entry) {
|
||||
+ bool match = false;
|
||||
+ // select comparison string based on case and separator presence (separator
|
||||
+ // takes some shortcuts)
|
||||
+ bool match_case = ((entry->flags & ADBLOCK_FLAG_MATCH_CASE) != 0);
|
||||
+ bool match_separator = ((entry->flags & ADBLOCK_FLAG_HAS_SEPARATOR) != 0);
|
||||
+ const char *match_url =
|
||||
+ match_case ? (match_separator ? c_url_sep : c_url)
|
||||
+ : (match_separator ? c_url_lower_sep : c_url_lower);
|
||||
+
|
||||
+#ifdef ADBLOCK_LOG_MORE
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "[case:%d][sep:%d][%s]",
|
||||
+ match_case, match_separator, match_url);
|
||||
+#endif
|
||||
+ // check for all match parts at >= position of last match
|
||||
+ const char *last = match_url;
|
||||
+ for (int m = 0; const char *url_match = entry->matches[m]; m++) {
|
||||
+ bool is_last_match = entry->matches[m + 1] == NULL;
|
||||
+ const char *pos = strstr(last, url_match);
|
||||
+ match = (pos != NULL);
|
||||
+
|
||||
+#ifdef ADBLOCK_LOG_MORE
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "[%s][found:%d][match:%d]",
|
||||
+ entry->matches[m], pos == NULL ? 0 : 1, match ? 1 : 0);
|
||||
+#endif
|
||||
+ // check if the url starts with the first match part
|
||||
+ if (match && (m == 0) && ((entry->flags & ADBLOCK_FLAG_MATCH_BEGIN) != 0) &&
|
||||
+ (pos != match_url))
|
||||
+ match = false;
|
||||
+
|
||||
+ // check if the url ends with the last match part
|
||||
+ if (match && is_last_match &&
|
||||
+ ((entry->flags & ADBLOCK_FLAG_MATCH_END) != 0) &&
|
||||
+ (pos != &match_url[strlen(match_url) - strlen(entry->matches[m])]))
|
||||
+ match = false;
|
||||
+
|
||||
+ // check domain match
|
||||
+ if (match && (m == 0) &&
|
||||
+ ((entry->flags & ADBLOCK_FLAG_MATCH_DOMAIN) != 0) &&
|
||||
+ (pos != match_url) && (pos[-1] != '^') && (pos[-1] != '.') &&
|
||||
+ (pos[-1] != '/'))
|
||||
+ match = false;
|
||||
+
|
||||
+ // short circuit
|
||||
+ if (!match)
|
||||
+ break;
|
||||
+ }
|
||||
+ return match;
|
||||
+}
|
||||
+
|
||||
+bool url_match_domain(adblock_entry *entry, const std::string &origin_host) {
|
||||
+ bool match_domain = true;
|
||||
+ // check for a negative domain match
|
||||
+ if (entry->domains_skip) {
|
||||
+ if (origin_host.empty()) {
|
||||
+ // skip this rule, cannot match on domain
|
||||
+ return false;
|
||||
+ }
|
||||
+ for (int d = 0; const char *domain = entry->domains_skip[d]; d++) {
|
||||
+ if (domain == origin_host) {
|
||||
+ match_domain = false;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // check for a required positive domain match
|
||||
+ if (entry->domains) {
|
||||
+ if (origin_host.empty()) {
|
||||
+ // skip this rule, cannot match on domain
|
||||
+ return false;
|
||||
+ }
|
||||
+ for (int d = 0; const char *domain = entry->domains[d]; d++) {
|
||||
+ if (domain != origin_host) {
|
||||
+ match_domain = false;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return match_domain;
|
||||
+}
|
||||
+
|
||||
+static bool url_match_party(adblock_entry *entry, const char *l_origin_host,
|
||||
+ int origin_host_len, const char *l_url_host,
|
||||
+ int url_host_len, bool &checked_fp, bool &fp) {
|
||||
+ bool wanted_fp;
|
||||
+ if ((entry->flags & ADBLOCK_FLAG_THIRD_PARTY) != 0) {
|
||||
+ wanted_fp = false;
|
||||
+ } else if ((entry->flags & ADBLOCK_FLAG_FIRST_PARTY) != 0) {
|
||||
+ wanted_fp = true;
|
||||
+ } else {
|
||||
+ // no-op
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (origin_host_len == 0) {
|
||||
+ // cannot match this rule, no origin host to determine first/third party
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (!checked_fp) {
|
||||
+ // is the URL a first-party to the current page's host?
|
||||
+ fp = is_first_party(l_origin_host, origin_host_len, l_url_host,
|
||||
+ url_host_len);
|
||||
+
|
||||
+ checked_fp = true;
|
||||
+#ifdef ADB_TESTER
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG,
|
||||
+ "is_first_party(\"%s\", \"%s\") = %s", l_origin_host,
|
||||
+ l_url_host, fp ? "true" : "false");
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ return fp == wanted_fp;
|
||||
+}
|
||||
+
|
||||
+static bool resource_type_match(adblock_entry *entry,
|
||||
+ content::ResourceType resource_type) {
|
||||
+ bool exclude;
|
||||
+ if ((entry->flags & ADBLOCK_FLAG_RESOURCE_TYPE_IN) != 0) {
|
||||
+ exclude = false;
|
||||
+ } else if ((entry->flags & ADBLOCK_FLAG_RESOURCE_TYPE_NOT_IN) != 0) {
|
||||
+ exclude = true;
|
||||
+ } else {
|
||||
+ // no resource type matching
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ // use a bitwise trick to test for the current resource type
|
||||
+ bool found = (entry->flags & (resource_type << 16));
|
||||
+ if (!exclude)
|
||||
+ return found;
|
||||
+ return !found;
|
||||
+}
|
||||
+
|
||||
+int adblock_intercept(const GURL &url, const std::string &origin_host,
|
||||
+ content::ResourceType resource_type) {
|
||||
+ // these are verified on caller when not testing
|
||||
+#ifdef ADB_TESTER
|
||||
+ if (!url.is_valid() || !url.SchemeIsHTTPOrHTTPS()) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ bool free1 = false, free2 = false, free3 = false, free4 = false;
|
||||
+ int url_len = url.spec().size();
|
||||
+ const char *c_url = url.spec().c_str();
|
||||
+ char *c_url_lower = strtolower(c_url, url_len, free1);
|
||||
+ char *c_url_sep = strtosep(c_url, url_len);
|
||||
+ char *c_url_lower_sep = strtolower(c_url_sep, url_len + 2, free4);
|
||||
+
|
||||
+ // might be empty in case of no host
|
||||
+ const char *origin_host_cstr = origin_host.c_str();
|
||||
+ int origin_host_len = origin_host.size(), url_host_len = url.host().size();
|
||||
+
|
||||
+ // lower-case version of origin and url hosts
|
||||
+ const char *c_origin_host_lower =
|
||||
+ strtolower(origin_host_cstr, origin_host_len, free2),
|
||||
+ *c_url_host_lower =
|
||||
+ strtolower(url.host().c_str(), url_host_len, free3);
|
||||
+
|
||||
+#ifdef ADBLOCK_LOG
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "[%s with host '%s'] [%s]",
|
||||
+ c_url, url.host().c_str(), origin_host_cstr);
|
||||
+#endif
|
||||
+
|
||||
+ bool checked_fp = false, fp = false;
|
||||
+
|
||||
+ bool intercept = false;
|
||||
+ for (int i = 0; i < ADBLOCK_ENTRY_COUNT; i++) {
|
||||
+ adblock_entry *entry = &ADBLOCK_ENTRIES[i];
|
||||
+
|
||||
+ // no use checking rules when we're intercepting, or exceptions when not
|
||||
+ bool check =
|
||||
+ (!intercept && ((entry->flags & ADBLOCK_FLAG_EXCEPTION) == 0)) ||
|
||||
+ (intercept && ((entry->flags & ADBLOCK_FLAG_EXCEPTION) != 0));
|
||||
+ if (!check)
|
||||
+ continue;
|
||||
+
|
||||
+ // check for resource type
|
||||
+ if (!resource_type_match(entry, resource_type))
|
||||
+ continue;
|
||||
+
|
||||
+ // check for domain matches, a quick branch out if not matching
|
||||
+ if (!url_match_domain(entry, origin_host))
|
||||
+ continue;
|
||||
+
|
||||
+ // check on the URL matcher
|
||||
+ if (!url_matches(c_url, c_url_sep, c_url_lower, c_url_lower_sep, entry))
|
||||
+ continue;
|
||||
+
|
||||
+ // finally check first/third-party
|
||||
+ if (!url_match_party(entry, c_origin_host_lower, origin_host_len,
|
||||
+ c_url_host_lower, url_host_len, checked_fp, fp))
|
||||
+ continue;
|
||||
+
|
||||
+#ifdef ADBLOCK_LOG
|
||||
+ if (!intercept) {
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG,
|
||||
+ "--> intercept (#%d: \"%s\") (%x)", i,
|
||||
+ entry->matches[0], entry->flags);
|
||||
+ } else {
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "--> pass (%d) (#%d)", i,
|
||||
+ entry->flags);
|
||||
+ }
|
||||
+#endif
|
||||
+ intercept = !intercept;
|
||||
+ } // for each entry
|
||||
+
|
||||
+ if (free3)
|
||||
+ free((void *)c_url_host_lower);
|
||||
+ if (free2)
|
||||
+ free((void *)c_origin_host_lower);
|
||||
+ free(c_url_sep);
|
||||
+ if (free1)
|
||||
+ free(c_url_lower);
|
||||
+ if (free4)
|
||||
+ free(c_url_lower_sep);
|
||||
+
|
||||
+ if (intercept) {
|
||||
+#ifdef ADBLOCK_LOG
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "blocked");
|
||||
+#endif
|
||||
+ return 1;
|
||||
+ }
|
||||
+#ifdef ADBLOCK_LOG
|
||||
+ __android_log_print(ANDROID_LOG_INFO, LOG_TAG, "pass");
|
||||
+#endif
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+} // namespace net
|
||||
diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_intercept.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/net/url_request/adblock_intercept.h
|
||||
@@ -0,0 +1,35 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
+#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
+
|
||||
+#include "content/public/common/resource_type.h"
|
||||
+#include "url/gurl.h"
|
||||
+
|
||||
+namespace net {
|
||||
+
|
||||
+#ifdef ADB_TESTER
|
||||
+int adblock_rules_count();
|
||||
+#endif
|
||||
+
|
||||
+int adblock_intercept(const GURL &url, const std::string &origin_host,
|
||||
+ content::ResourceType resource_type);
|
||||
+
|
||||
+} // namespace net
|
||||
+
|
||||
+#endif // NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -10,35 +10,34 @@ without a visible effect.
|
||||
Credits to Slaviro (https://github.com/Slaviro) for coming up with a better
|
||||
approach to change color components.
|
||||
---
|
||||
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 4 +-
|
||||
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 3 +-
|
||||
.../modules/webgl/webgl_debug_renderer_info.cc | 4 +-
|
||||
third_party/blink/renderer/platform/BUILD.gn | 4 +-
|
||||
.../platform/graphics/image_data_buffer.cc | 5 +
|
||||
.../platform/graphics/static_bitmap_image.cc | 156 +++++++++++++++++++++
|
||||
.../platform/graphics/static_bitmap_image.h | 2 +
|
||||
6 files changed, 169 insertions(+), 6 deletions(-)
|
||||
6 files changed, 169 insertions(+), 5 deletions(-)
|
||||
|
||||
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
|
||||
@@ -33,8 +33,6 @@
|
||||
@@ -33,7 +33,6 @@
|
||||
|
||||
#include "third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.h"
|
||||
|
||||
-#include "base/rand_util.h"
|
||||
-
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "base/rand_util.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/public/platform/task_type.h"
|
||||
@@ -799,7 +797,7 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
GetState().GetTextAlign(), text);
|
||||
@@ -817,7 +816,7 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
|
||||
GetState().GetTextAlign(), text);
|
||||
|
||||
// scale text metrics by 3/1000000th
|
||||
- auto shuffleFactor = 1 + (base::RandDouble() - 0.5) * 0.000003;
|
||||
+ auto shuffleFactor = 1 + (canvas()->GetDocument().GetShuffleFactorX() - 0.5) * 0.000003;
|
||||
textMetrics->Shuffle(shuffleFactor);
|
||||
text_metrics->Shuffle(shuffleFactor);
|
||||
|
||||
return textMetrics;
|
||||
return text_metrics;
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
|
||||
@@ -59,7 +58,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.
|
||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||
@@ -1423,7 +1423,9 @@ jumbo_component("platform") {
|
||||
@@ -1417,7 +1417,9 @@ jumbo_component("platform") {
|
||||
"//third_party/blink/renderer:non_test_config",
|
||||
]
|
||||
|
||||
@@ -111,8 +110,8 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
|
||||
+#include "third_party/skia/include/private/SkColorData.h"
|
||||
#include "third_party/skia/include/core/SkSurface.h"
|
||||
#include "third_party/skia/include/gpu/GrContext.h"
|
||||
|
||||
@@ -151,10 +154,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
|
||||
#include "v8/include/v8.h"
|
||||
@@ -154,10 +157,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
|
||||
DCHECK(read_pixels_successful ||
|
||||
!sk_image->bounds().intersect(SkIRect::MakeXYWH(
|
||||
rect.X(), rect.Y(), info.width(), info.height())));
|
||||
|
||||
@@ -3,29 +3,30 @@ Date: Thu, 12 Oct 2017 08:15:17 +0200
|
||||
Subject: Disable NTP remote suggestions by default
|
||||
|
||||
---
|
||||
components/ntp_snippets/features.cc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
components/ntp_snippets/features.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
|
||||
--- a/components/ntp_snippets/features.cc
|
||||
+++ b/components/ntp_snippets/features.cc
|
||||
@@ -34,13 +34,13 @@ const base::Feature* const kAllFeatures[] = {
|
||||
&kRemoteSuggestionsBackendFeature};
|
||||
@@ -39,7 +39,7 @@ const base::Feature* const kAllFeatures[] = {
|
||||
&kOptionalImagesEnabledFeature};
|
||||
|
||||
const base::Feature kArticleSuggestionsFeature{
|
||||
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kBookmarkSuggestionsFeature{
|
||||
- "NTPBookmarkSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "NTPBookmarkSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
|
||||
"RemoteSuggestionsEmulateM58FetchingSchedule",
|
||||
@@ -69,7 +69,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
|
||||
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
|
||||
|
||||
const base::Feature kIncreasedVisibility{"NTPSnippetsIncreasedVisibility",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kKeepPrefetchedContentSuggestions{
|
||||
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kBreakingNewsPushFeature{"BreakingNewsPush",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kOptionalImagesEnabledFeature{
|
||||
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ Do not consider Jelly Bean unsupported
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
|
||||
@@ -134,7 +134,7 @@ public class OmahaBase {
|
||||
@@ -135,7 +135,7 @@ public class OmahaBase {
|
||||
|
||||
/** See {@link #sIsDisabled}. */
|
||||
static boolean isDisabled() {
|
||||
@@ -36,15 +36,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNu
|
||||
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/android/chrome_feature_list.cc
|
||||
@@ -400,7 +400,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
|
||||
@@ -465,7 +465,7 @@ const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kJellyBeanSupported{"JellyBeanSupported",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kLanguagesPreference{"LanguagesPreference",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
const base::Feature kSearchEnginePromoExistingDevice{
|
||||
"SearchEnginePromo.ExistingDevice", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable WebRTC by default
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -85,10 +85,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -82,10 +82,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
false);
|
||||
#endif
|
||||
// TODO(guoweis): Remove next 2 options at M50.
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable contextual search by default
|
||||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -144,7 +144,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -145,7 +145,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
#if defined(OS_ANDROID)
|
||||
registry->RegisterStringPref(
|
||||
prefs::kContextualSearchEnabled,
|
||||
|
||||
@@ -3,53 +3,57 @@ Date: Fri, 27 Oct 2017 15:53:37 +0200
|
||||
Subject: Disable data saver
|
||||
|
||||
---
|
||||
.../java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 1 -
|
||||
.../chrome/browser/net/spdyproxy/DataReductionProxySettings.java | 2 ++
|
||||
.../browser/preferences/datareduction/DataReductionPromoUtils.java | 2 +-
|
||||
3 files changed, 3 insertions(+), 2 deletions(-)
|
||||
.../datareduction/DataReductionPreferenceFragment.java | 17 +++++------------
|
||||
chrome/android/java/strings/android_chrome_strings.grd | 3 ---
|
||||
2 files changed, 5 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
@@ -141,7 +141,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
boolean notifyAdapter = false;
|
||||
// An optional Data Saver page.
|
||||
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
|
||||
- mPages.add(new DataReductionProxyFirstRunFragment.Page());
|
||||
mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
|
||||
notifyAdapter = true;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
|
||||
@@ -126,6 +126,7 @@ public class DataReductionProxySettings {
|
||||
// DataReductionProxySettings is a singleton that lives forever and there's no clean
|
||||
// shutdown of Chrome on Android
|
||||
mNativeDataReductionProxySettings = nativeInit();
|
||||
+ nativeSetDataReductionProxyEnabled(mNativeDataReductionProxySettings, false);
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPreferenceFragment.java
|
||||
@@ -45,10 +45,10 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.data_reduction_preferences);
|
||||
getActivity().setTitle(R.string.data_reduction_title_lite_mode);
|
||||
- boolean isEnabled = DataReductionProxySettings.getInstance().isDataReductionProxyEnabled();
|
||||
- mIsEnabled = !isEnabled;
|
||||
- mWasEnabledAtCreation = isEnabled;
|
||||
- updatePreferences(isEnabled);
|
||||
+
|
||||
+ mIsEnabled = false;
|
||||
+ mWasEnabledAtCreation = false;
|
||||
+ updatePreferences(false);
|
||||
|
||||
/** Returns true if the SPDY proxy promo is allowed to be shown. */
|
||||
@@ -148,6 +149,7 @@ public class DataReductionProxySettings {
|
||||
* data reduction statistics if this is the first time the SPDY proxy has been enabled.
|
||||
setHasOptionsMenu(true);
|
||||
|
||||
@@ -143,14 +143,7 @@ public class DataReductionPreferenceFragment extends PreferenceFragmentCompat {
|
||||
* Returns summary string.
|
||||
*/
|
||||
public void setDataReductionProxyEnabled(Context context, boolean enabled) {
|
||||
+ enabled = false;
|
||||
if (enabled
|
||||
&& ContextUtils.getAppSharedPreferences().getLong(
|
||||
DATA_REDUCTION_FIRST_ENABLED_TIME, 0)
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/datareduction/DataReductionPromoUtils.java
|
||||
@@ -70,7 +70,7 @@ public class DataReductionPromoUtils {
|
||||
}
|
||||
if (DataReductionProxySettings.getInstance().isDataReductionProxyManaged()) return false;
|
||||
if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) return false;
|
||||
- return true;
|
||||
+ return false;
|
||||
public static String generateSummary(Resources resources) {
|
||||
- if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) {
|
||||
- String percent =
|
||||
- DataReductionProxySettings.getInstance().getContentLengthPercentSavings();
|
||||
- return resources.getString(
|
||||
- R.string.data_reduction_menu_item_summary_lite_mode, percent);
|
||||
- } else {
|
||||
- return (String) resources.getText(R.string.text_off);
|
||||
- }
|
||||
+ return (String) resources.getText(R.string.text_off);
|
||||
}
|
||||
|
||||
/**
|
||||
private void createDataReductionSwitch(boolean isEnabled) {
|
||||
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
|
||||
@@ -1288,9 +1288,6 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DATA_REDUCTION_DESCRIPTION_LITE_MODE" desc="Text describing how the Lite mode feature works. Seen only before the user has enabled the feature.">
|
||||
When Lite mode is on, Chrome uses Google servers to make pages load faster. Lite mode rewrites very slow pages to load only essential content. Lite mode does not apply to Incognito tabs.
|
||||
</message>
|
||||
- <message name="IDS_DATA_REDUCTION_MENU_ITEM_SUMMARY_LITE_MODE" desc="Label that states the percent of mobile data that was saved by Lite mode. Lite mode allows users to to reduce their mobile data usage by compressing network traffic.">
|
||||
- <ph name="PERCENT">%1$s<ex>49%</ex></ph> data savings
|
||||
- </message>
|
||||
<message name="IDS_DATA_REDUCTION_SAVINGS_LABEL" desc="Data Reduction statistics label that states the amount of mobile data that was saved by Lite mode. Lite mode allows users to to reduce their mobile data usage by compressing network traffic.">
|
||||
data saved
|
||||
</message>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -0,0 +1,210 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 20 May 2019 23:14:36 +0200
|
||||
Subject: Disable dynamic module loading
|
||||
|
||||
---
|
||||
chrome/android/chrome_java_sources.gni | 13 ----------
|
||||
.../browser/customtabs/CustomTabActivity.java | 18 -------------
|
||||
.../customtabs/CustomTabIntentDataProvider.java | 17 ++----------
|
||||
.../browser/customtabs/CustomTabsConnection.java | 30 ----------------------
|
||||
.../CustomTabActivityComponent.java | 4 ---
|
||||
5 files changed, 2 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -418,19 +418,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/customtabs/content/TabCreationMode.java",
|
||||
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java",
|
||||
"java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityModule.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegate.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityDelegatePostMessageBackend.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ActivityHostImpl.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleConstants.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleCoordinator.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleNavigationEventObserver.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModulePageLoadObserver.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/DynamicModuleToolbarController.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleEntryPoint.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleHostImpl.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleLoader.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ModuleMetrics.java",
|
||||
- "java/src/org/chromium/chrome/browser/customtabs/dynamicmodule/ObjectWrapper.java",
|
||||
"java/src/org/chromium/chrome/browser/customtabs/features/CustomTabNavigationBarController.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
|
||||
import org.chromium.chrome.browser.customtabs.content.TabCreationMode;
|
||||
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityComponent;
|
||||
import org.chromium.chrome.browser.customtabs.dependency_injection.CustomTabActivityModule;
|
||||
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
|
||||
import org.chromium.chrome.browser.customtabs.features.CustomTabNavigationBarController;
|
||||
import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarCoordinator;
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
|
||||
@@ -136,9 +135,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
|
||||
private final CustomTabsConnection mConnection = CustomTabsConnection.getInstance();
|
||||
|
||||
- @Nullable
|
||||
- private DynamicModuleCoordinator mDynamicModuleCoordinator;
|
||||
-
|
||||
private ActivityTabTaskDescriptionHelper mTaskDescriptionHelper;
|
||||
|
||||
private CustomTabNightModeStateController mNightModeStateController;
|
||||
@@ -308,12 +304,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
public void finishNativeInitialization() {
|
||||
if (!mIntentDataProvider.isInfoPage()) FirstRunSignInProcessor.start(this);
|
||||
|
||||
- // Try to initialize dynamic module early to enqueue navigation events
|
||||
- // @see DynamicModuleNavigationEventObserver
|
||||
- if (mIntentDataProvider.isDynamicModuleEnabled()) {
|
||||
- mDynamicModuleCoordinator = getComponent().resolveDynamicModuleCoordinator();
|
||||
- }
|
||||
-
|
||||
mSessionHandler = new SessionHandler() {
|
||||
|
||||
@Override
|
||||
@@ -432,10 +422,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
WebContents webContents = tab == null ? null : tab.getWebContents();
|
||||
mConnection.resetPostMessageHandlerForSession(
|
||||
mIntentDataProvider.getSession(), webContents);
|
||||
-
|
||||
- if (mDynamicModuleCoordinator != null) {
|
||||
- mDynamicModuleCoordinator.resetPostMessageHandlersForCurrentSession(null);
|
||||
- }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -794,10 +780,6 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
if (mIntentDataProvider.isTrustedWebActivity()) {
|
||||
component.resolveTrustedWebActivityCoordinator();
|
||||
}
|
||||
- if (mConnection.shouldHideTopBarOnModuleManagedUrlsForSession(
|
||||
- mIntentDataProvider.getSession())) {
|
||||
- component.resolveDynamicModuleToolbarController();
|
||||
- }
|
||||
|
||||
return component;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
|
||||
@@ -46,7 +46,6 @@ import org.chromium.chrome.browser.ChromeSwitches;
|
||||
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
|
||||
// even receive the extras for using the feature.
|
||||
if (componentName == null) return false;
|
||||
|
||||
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE)) {
|
||||
- Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
|
||||
- ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.FEATURE_DISABLED);
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- ExternalAuthUtils authUtils = ChromeApplication.getComponent().resolveExternalAuthUtils();
|
||||
- if (!authUtils.isGoogleSigned(componentName.getPackageName())) {
|
||||
- Log.w(TAG, "The %s package is not Google-signed.", componentName.getPackageName());
|
||||
- ModuleMetrics.recordLoadResult(ModuleMetrics.LoadResult.NOT_GOOGLE_SIGNED);
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- return true;
|
||||
+ Log.w(TAG, "The %s feature is disabled.", ChromeFeatureList.CCT_MODULE);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
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;
|
||||
import org.chromium.chrome.browser.browserservices.PostMessageHandler;
|
||||
import org.chromium.chrome.browser.browserservices.SessionDataHolder;
|
||||
import org.chromium.chrome.browser.browserservices.SessionHandler;
|
||||
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleLoader;
|
||||
-import org.chromium.chrome.browser.customtabs.dynamicmodule.ModuleMetrics;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
import org.chromium.chrome.browser.init.ChainedTasks;
|
||||
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
|
||||
@@ -219,7 +217,6 @@ public class CustomTabsConnection {
|
||||
|
||||
private volatile ChainedTasks mWarmupTasks;
|
||||
|
||||
- private @Nullable ModuleLoader mModuleLoader;
|
||||
/**
|
||||
* <strong>DO NOT CALL</strong>
|
||||
* Public to be instanciable from {@link ChromeApplication}. This is however
|
||||
@@ -1373,7 +1370,6 @@ public class CustomTabsConnection {
|
||||
if (ChromeApplication.isSevereMemorySignal(level)) {
|
||||
getInstance().mClientManager.cleanupUnusedSessions();
|
||||
}
|
||||
- if (getInstance().mModuleLoader != null) getInstance().mModuleLoader.onTrimMemory(level);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -1510,32 +1506,6 @@ public class CustomTabsConnection {
|
||||
recordSpeculationStatusOnSwap(SPECULATION_STATUS_ON_SWAP_BACKGROUND_TAB_NOT_MATCHED);
|
||||
}
|
||||
|
||||
- public ModuleLoader getModuleLoader(ComponentName componentName, @Nullable String assetName) {
|
||||
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CCT_MODULE_DEX_LOADING)) {
|
||||
- assetName = null;
|
||||
- }
|
||||
-
|
||||
- if (mModuleLoader != null) {
|
||||
- boolean isComponentNameChanged =
|
||||
- !componentName.equals(mModuleLoader.getComponentName());
|
||||
- boolean isAssetNameChanged =
|
||||
- !TextUtils.equals(assetName, mModuleLoader.getDexAssetName());
|
||||
- ModuleLoader.ModuleApkVersion newModuleApkVersion =
|
||||
- ModuleLoader.ModuleApkVersion.getModuleVersion(componentName.getPackageName());
|
||||
- boolean isModuleVersionChanged =
|
||||
- !mModuleLoader.getModuleApkVersion().equals(newModuleApkVersion);
|
||||
-
|
||||
- if (isComponentNameChanged || isAssetNameChanged || isModuleVersionChanged) {
|
||||
- mModuleLoader.destroyModule(ModuleMetrics.DestructionReason.MODULE_LOADER_CHANGED);
|
||||
- mModuleLoader = null;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (mModuleLoader == null) mModuleLoader = new ModuleLoader(componentName, assetName);
|
||||
-
|
||||
- return mModuleLoader;
|
||||
- }
|
||||
-
|
||||
@CalledByNative
|
||||
public static void notifyClientOfDetachedRequestCompletion(
|
||||
CustomTabsSessionToken session, String url, int status) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/dependency_injection/CustomTabActivityComponent.java
|
||||
@@ -15,8 +15,6 @@ import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigatio
|
||||
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabController;
|
||||
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabFactory;
|
||||
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
|
||||
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleCoordinator;
|
||||
-import org.chromium.chrome.browser.customtabs.dynamicmodule.DynamicModuleToolbarController;
|
||||
import org.chromium.chrome.browser.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;
|
||||
@ActivityScope
|
||||
public interface CustomTabActivityComponent extends ChromeActivityComponent {
|
||||
TrustedWebActivityCoordinator resolveTrustedWebActivityCoordinator();
|
||||
- DynamicModuleToolbarController resolveDynamicModuleToolbarController();
|
||||
- DynamicModuleCoordinator resolveDynamicModuleCoordinator();
|
||||
|
||||
CustomTabBottomBarDelegate resolveBottomBarDelegate();
|
||||
CustomTabActivityTabController resolveTabController();
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -50,7 +50,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
|
||||
// Variations seed fetching is only enabled in official Chrome builds, if a URL
|
||||
// is specified on the command line, and for testing.
|
||||
bool IsFetchingEnabled() {
|
||||
-#if !defined(GOOGLE_CHROME_BUILD)
|
||||
-#if !BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
- if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
- switches::kVariationsServerURL) &&
|
||||
- !g_should_fetch_for_testing) {
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 22 Oct 2018 21:14:57 +0200
|
||||
Subject: Disable generic sensor API by default
|
||||
|
||||
---
|
||||
services/device/public/cpp/device_features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/services/device/public/cpp/device_features.cc b/services/device/public/cpp/device_features.cc
|
||||
--- a/services/device/public/cpp/device_features.cc
|
||||
+++ b/services/device/public/cpp/device_features.cc
|
||||
@@ -9,7 +9,7 @@ namespace features {
|
||||
// Enables sensors based on Generic Sensor API:
|
||||
// https://w3c.github.io/sensors/
|
||||
const base::Feature kGenericSensor{"GenericSensor",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
// Enables an extra set of concrete sensors classes based on Generic Sensor API,
|
||||
// which expose previously unexposed platform features, e.g. ALS or Magnetometer
|
||||
const base::Feature kGenericSensorExtraClasses{
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
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 +-
|
||||
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
|
||||
--- a/chrome/browser/media/router/media_router_feature.cc
|
||||
+++ b/chrome/browser/media/router/media_router_feature.cc
|
||||
@@ -57,17 +57,16 @@ const PrefService::Preference* GetMediaRouterPref(
|
||||
|
||||
bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
#if defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
- const PrefService::Preference* pref = GetMediaRouterPref(context);
|
||||
- // Only use the pref value if it set from a mandatory policy.
|
||||
- if (pref->IsManaged() && !pref->IsDefaultValue()) {
|
||||
- bool allowed = false;
|
||||
- CHECK(pref->GetValue()->GetAsBoolean(&allowed));
|
||||
- return allowed;
|
||||
- }
|
||||
-
|
||||
// The component extension cannot be loaded in guest sessions.
|
||||
// TODO(crbug.com/756243): Figure out why.
|
||||
- return !Profile::FromBrowserContext(context)->IsGuestSession();
|
||||
+ if (Profile::FromBrowserContext(context)->IsGuestSession()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ const PrefService::Preference* pref = GetMediaRouterPref(context);
|
||||
+ bool allowed = false;
|
||||
+ pref->GetValue()->GetAsBoolean(&allowed);
|
||||
+ return allowed;
|
||||
#else // !(defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS))
|
||||
return false;
|
||||
#endif // defined(OS_ANDROID) || BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -223,7 +223,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
prefs::kMediaRouterFirstRunFlowAcknowledged,
|
||||
false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
- registry->RegisterBooleanPref(prefs::kMediaRouterMediaRemotingEnabled, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kMediaRouterMediaRemotingEnabled, false);
|
||||
registry->RegisterListPref(prefs::kMediaRouterTabMirroringSources);
|
||||
|
||||
registry->RegisterDictionaryPref(prefs::kWebShareVisitedTargets);
|
||||
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(
|
||||
registry->RegisterStringPref(
|
||||
prefs::kPrintPreviewDefaultDestinationSelectionRules, std::string());
|
||||
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
|
||||
- registry->RegisterBooleanPref(prefs::kEnableMediaRouter, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kEnableMediaRouter, false);
|
||||
#if defined(OS_CHROMEOS)
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kOobeMarketingOptInScreenFinished, false,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: Disable metrics collection for NTP tiles
|
||||
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
+++ b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
|
||||
@@ -23,7 +23,6 @@
|
||||
@@ -25,7 +25,6 @@
|
||||
#include "chrome/browser/profiles/profile_android.h"
|
||||
#include "components/favicon_base/favicon_types.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -240,7 +238,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
@@ -236,7 +234,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj,
|
||||
jint jtiles_count) {
|
||||
@@ -34,7 +34,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -253,18 +250,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -249,18 +246,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
jint jsource,
|
||||
jlong jdata_generation_time_ms,
|
||||
const JavaParamRef<jstring>& jurl) {
|
||||
@@ -53,7 +53,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -275,12 +260,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -271,12 +256,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
jint title_source,
|
||||
jint source,
|
||||
jlong jdata_generation_time_ms) {
|
||||
@@ -69,7 +69,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
|
||||
diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
|
||||
--- a/components/ntp_tiles/BUILD.gn
|
||||
+++ b/components/ntp_tiles/BUILD.gn
|
||||
@@ -20,8 +20,6 @@ static_library("ntp_tiles") {
|
||||
@@ -22,8 +22,6 @@ static_library("ntp_tiles") {
|
||||
"icon_cacher.h",
|
||||
"icon_cacher_impl.cc",
|
||||
"icon_cacher_impl.h",
|
||||
@@ -78,7 +78,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
|
||||
"most_visited_sites.cc",
|
||||
"most_visited_sites.h",
|
||||
"ntp_tile.cc",
|
||||
@@ -91,7 +89,6 @@ source_set("unit_tests") {
|
||||
@@ -78,7 +76,6 @@ source_set("unit_tests") {
|
||||
"custom_links_manager_impl_unittest.cc",
|
||||
"custom_links_store_unittest.cc",
|
||||
"icon_cacher_impl_unittest.cc",
|
||||
|
||||
@@ -10,7 +10,7 @@ Subject: Disable metrics on all I/O threads
|
||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -947,7 +947,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -909,7 +909,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
#endif // defined(OS_CHROMEOS)
|
||||
|
||||
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
|
||||
@@ -22,15 +22,15 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
|
||||
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
|
||||
--- a/chrome/browser/profiles/profile_io_data.cc
|
||||
+++ b/chrome/browser/profiles/profile_io_data.cc
|
||||
@@ -55,8 +55,6 @@
|
||||
@@ -47,8 +47,6 @@
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
#include "components/cookie_config/cookie_store_util.h"
|
||||
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h"
|
||||
#include "components/dom_distiller/core/url_constants.h"
|
||||
-#include "components/metrics/metrics_pref_names.h"
|
||||
-#include "components/metrics/metrics_service.h"
|
||||
#include "components/net_log/chrome_net_log.h"
|
||||
#include "components/policy/core/common/cloud/policy_header_service.h"
|
||||
#include "components/policy/core/common/cloud/user_cloud_policy_manager.h"
|
||||
#include "components/signin/public/base/signin_pref_names.h"
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 30 May 2019 03:37:45 +0200
|
||||
Subject: Disable offline pages in the downloads home to be opened in CCT by
|
||||
default
|
||||
|
||||
---
|
||||
components/offline_pages/core/offline_page_feature.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
|
||||
--- a/components/offline_pages/core/offline_page_feature.cc
|
||||
+++ b/components/offline_pages/core/offline_page_feature.cc
|
||||
@@ -51,7 +51,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
|
||||
"OfflinePagesDescriptivePendingStatus", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kOfflinePagesInDownloadHomeOpenInCctFeature{
|
||||
- "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kOfflinePagesCTSuppressNotificationsFeature{
|
||||
"OfflinePagesCTSuppressNotifications", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -11,7 +11,7 @@ a corresponding user option to individually disable their usage.
|
||||
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
|
||||
--- a/components/url_formatter/url_formatter.cc
|
||||
+++ b/components/url_formatter/url_formatter.cc
|
||||
@@ -410,13 +410,13 @@ IDNConversionStatus IDNToUnicodeOneComponent(const base::char16* comp,
|
||||
@@ -433,13 +433,13 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
|
||||
} // namespace
|
||||
|
||||
const FormatUrlType kFormatUrlOmitNothing = 0;
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1357,10 +1357,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
@@ -1234,10 +1234,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
|
||||
@@ -5,11 +5,12 @@ Subject: Disable promos displayed in bookmarks manager
|
||||
Remove personalized signin promo view from
|
||||
bookmarks, never reach signin thresholds.
|
||||
---
|
||||
.../personalized_signin_promo_view_bookmarks.xml | 30 ----------------------
|
||||
.../browser/bookmarks/BookmarkItemsAdapter.java | 23 ++---------------
|
||||
.../browser/signin/SigninPromoController.java | 19 ++------------
|
||||
chrome/android/java_sources.gni | 1 -
|
||||
4 files changed, 4 insertions(+), 69 deletions(-)
|
||||
.../personalized_signin_promo_view_bookmarks.xml | 30 ------------
|
||||
.../browser/bookmarks/BookmarkItemsAdapter.java | 23 +--------
|
||||
.../browser/bookmarks/BookmarkPromoHeader.java | 54 +---------------------
|
||||
.../bookmarks/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
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml b/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
|
||||
@@ -51,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
|
||||
@@ -57,7 +57,6 @@ class BookmarkItemsAdapter
|
||||
@@ -59,7 +59,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
|
||||
private BookmarkDelegate mDelegate;
|
||||
private Context mContext;
|
||||
@@ -59,7 +60,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private String mSearchText;
|
||||
private BookmarkId mCurrentFolder;
|
||||
|
||||
@@ -211,9 +210,9 @@ class BookmarkItemsAdapter
|
||||
@@ -217,9 +216,9 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
|
||||
switch (viewType) {
|
||||
case ViewType.PERSONALIZED_SIGNIN_PROMO:
|
||||
@@ -71,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);
|
||||
@@ -234,8 +233,6 @@ class BookmarkItemsAdapter
|
||||
@@ -240,8 +239,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
switch (holder.getItemViewType()) {
|
||||
case ViewType.PERSONALIZED_SIGNIN_PROMO:
|
||||
@@ -80,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
break;
|
||||
case ViewType.SYNC_PROMO:
|
||||
break;
|
||||
@@ -254,7 +251,6 @@ class BookmarkItemsAdapter
|
||||
@@ -260,7 +257,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
public void onViewRecycled(ViewHolder holder) {
|
||||
switch (holder.getItemViewType()) {
|
||||
case ViewType.PERSONALIZED_SIGNIN_PROMO:
|
||||
@@ -88,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.
|
||||
@@ -289,7 +285,6 @@ class BookmarkItemsAdapter
|
||||
@@ -296,7 +292,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
}
|
||||
};
|
||||
|
||||
@@ -96,7 +97,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
populateTopLevelFoldersList();
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -300,7 +295,6 @@ class BookmarkItemsAdapter
|
||||
@@ -307,7 +302,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
mDelegate.removeUIObserver(this);
|
||||
mDelegate.getModel().removeObserver(mBookmarkModelObserver);
|
||||
mDelegate = null;
|
||||
@@ -104,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -367,19 +361,6 @@ class BookmarkItemsAdapter
|
||||
@@ -387,19 +381,6 @@ class BookmarkItemsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||
if (currentUIState == BookmarkUIState.STATE_SEARCHING) return;
|
||||
|
||||
assert currentUIState == BookmarkUIState.STATE_FOLDER : "Unexpected UI state";
|
||||
@@ -124,10 +125,157 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
}
|
||||
|
||||
private void populateTopLevelFoldersList() {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java
|
||||
@@ -18,7 +18,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;
|
||||
@@ -132,19 +131,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
|
||||
}
|
||||
|
||||
/**
|
||||
- * @return Personalized signin promo header {@link ViewHolder} instance that can be used with
|
||||
- * {@link RecyclerView}.
|
||||
- */
|
||||
- // TODO(crbug.com/160194): Clean up after bookmark reordering launches.
|
||||
- ViewHolder createPersonalizedSigninPromoHolder(ViewGroup parent) {
|
||||
- View view = LayoutInflater.from(mContext).inflate(
|
||||
- R.layout.personalized_signin_promo_view_bookmarks, parent, false);
|
||||
-
|
||||
- // ViewHolder is abstract and it cannot be instantiated directly.
|
||||
- return new ViewHolder(view) {};
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
* @return Sync promo header {@link ViewHolder} instance that can be used with
|
||||
* {@link RecyclerView}.
|
||||
*/
|
||||
@@ -156,42 +142,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
|
||||
return new ViewHolder(view) {};
|
||||
}
|
||||
|
||||
- /**
|
||||
- * Configures the personalized signin promo and records promo impressions.
|
||||
- * @param view The view to be configured.
|
||||
- */
|
||||
- void setupPersonalizedSigninPromo(PersonalizedSigninPromoView view) {
|
||||
- SigninPromoUtil.setupPromoViewFromCache(mSigninPromoController, mProfileDataCache, view,
|
||||
- this::setPersonalizedSigninPromoDeclined);
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * Detaches the previously configured {@link PersonalizedSigninPromoView}.
|
||||
- */
|
||||
- void detachPersonalizePromoView() {
|
||||
- if (mSigninPromoController != null) mSigninPromoController.detach();
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * Saves that the personalized signin promo was declined and updates the UI.
|
||||
- */
|
||||
- private void setPersonalizedSigninPromoDeclined() {
|
||||
- SharedPreferences.Editor sharedPreferencesEditor =
|
||||
- ContextUtils.getAppSharedPreferences().edit();
|
||||
- sharedPreferencesEditor.putBoolean(PREF_PERSONALIZED_SIGNIN_PROMO_DECLINED, true);
|
||||
- sharedPreferencesEditor.apply();
|
||||
- mPromoState = calculatePromoState();
|
||||
- triggerPromoUpdate();
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * @return Whether the user declined the personalized signin promo.
|
||||
- */
|
||||
- private boolean wasPersonalizedSigninPromoDeclined() {
|
||||
- return ContextUtils.getAppSharedPreferences().getBoolean(
|
||||
- PREF_PERSONALIZED_SIGNIN_PROMO_DECLINED, false);
|
||||
- }
|
||||
-
|
||||
private @PromoState int calculatePromoState() {
|
||||
if (sPromoStateForTests != null) {
|
||||
return sPromoStateForTests;
|
||||
@@ -204,8 +154,7 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
|
||||
if (!ChromeSigninController.get().isSignedIn()) {
|
||||
boolean impressionLimitReached = !SigninPromoController.hasNotReachedImpressionLimit(
|
||||
SigninAccessPoint.BOOKMARK_MANAGER);
|
||||
- if (!mSignInManager.isSignInAllowed() || impressionLimitReached
|
||||
- || wasPersonalizedSigninPromoDeclined()) {
|
||||
+ if (!mSignInManager.isSignInAllowed() || impressionLimitReached) {
|
||||
return PromoState.PROMO_NONE;
|
||||
}
|
||||
return PromoState.PROMO_SIGNIN_PERSONALIZED;
|
||||
@@ -253,7 +202,6 @@ class BookmarkPromoHeader implements AndroidSyncSettingsObserver, SignInStateObs
|
||||
}
|
||||
|
||||
private void triggerPromoUpdate() {
|
||||
- detachPersonalizePromoView();
|
||||
mPromoHeaderChangeAction.run();
|
||||
}
|
||||
|
||||
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
|
||||
assert mDelegate != null;
|
||||
|
||||
switch (viewType) {
|
||||
- case ViewType.PERSONALIZED_SIGNIN_PROMO:
|
||||
- return mPromoHeaderManager.createPersonalizedSigninPromoHolder(parent);
|
||||
case ViewType.SYNC_PROMO:
|
||||
return mPromoHeaderManager.createSyncPromoHolder(parent);
|
||||
case ViewType.FOLDER:
|
||||
@@ -202,10 +200,7 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
- if (holder.getItemViewType() == ViewType.PERSONALIZED_SIGNIN_PROMO) {
|
||||
- PersonalizedSigninPromoView view = (PersonalizedSigninPromoView) holder.itemView;
|
||||
- mPromoHeaderManager.setupPersonalizedSigninPromo(view);
|
||||
- } else if (!(holder.getItemViewType() == ViewType.SYNC_PROMO)) {
|
||||
+ if (!(holder.getItemViewType() == ViewType.SYNC_PROMO)) {
|
||||
BookmarkRow row = ((BookmarkRow) holder.itemView);
|
||||
BookmarkId id = getIdByPosition(position);
|
||||
row.setBookmarkId(id, getLocationFromPosition(position));
|
||||
@@ -229,13 +224,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
|
||||
|
||||
@Override
|
||||
public void onViewRecycled(ViewHolder holder) {
|
||||
- switch (holder.getItemViewType()) {
|
||||
- case ViewType.PERSONALIZED_SIGNIN_PROMO:
|
||||
- mPromoHeaderManager.detachPersonalizePromoView();
|
||||
- break;
|
||||
- default:
|
||||
- // Other view holders don't have special recycling code.
|
||||
- }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -404,9 +392,6 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
|
||||
case BookmarkPromoHeader.PromoState.PROMO_NONE:
|
||||
mPromoHeaderType = ViewType.INVALID_PROMO;
|
||||
break;
|
||||
- case BookmarkPromoHeader.PromoState.PROMO_SIGNIN_PERSONALIZED:
|
||||
- mPromoHeaderType = ViewType.PERSONALIZED_SIGNIN_PROMO;
|
||||
- break;
|
||||
case BookmarkPromoHeader.PromoState.PROMO_SYNC:
|
||||
mPromoHeaderType = ViewType.SYNC_PROMO;
|
||||
break;
|
||||
@@ -571,4 +556,4 @@ class ReorderBookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkIte
|
||||
private void clearHighlight() {
|
||||
mHighlightedBookmark = null;
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
|
||||
@@ -77,23 +77,8 @@ public class SigninPromoController {
|
||||
@@ -73,23 +73,8 @@ public class SigninPromoController {
|
||||
*/
|
||||
public static boolean hasNotReachedImpressionLimit(@AccessPoint int accessPoint) {
|
||||
SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences();
|
||||
@@ -153,17 +301,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPr
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
--- a/chrome/android/java_sources.gni
|
||||
+++ b/chrome/android/java_sources.gni
|
||||
@@ -166,7 +166,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java",
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java",
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java",
|
||||
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java",
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkRow.java",
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIObserver.java",
|
||||
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIState.java",
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -12,15 +12,15 @@ Subject: Disable references to fonts.googleapis.com
|
||||
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
|
||||
@@ -309,7 +309,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
|
||||
@@ -308,7 +308,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
|
||||
}
|
||||
|
||||
std::string DomDistillerViewerSource::GetContentSecurityPolicyStyleSrc() const {
|
||||
std::string DomDistillerViewerSource::GetContentSecurityPolicyStyleSrc() {
|
||||
- return "style-src 'self' https://fonts.googleapis.com;";
|
||||
+ return "style-src 'self';";
|
||||
}
|
||||
|
||||
std::string DomDistillerViewerSource::GetContentSecurityPolicyChildSrc() const {
|
||||
std::string DomDistillerViewerSource::GetContentSecurityPolicyChildSrc() {
|
||||
diff --git a/components/dom_distiller/core/html/preview.html b/components/dom_distiller/core/html/preview.html
|
||||
--- a/components/dom_distiller/core/html/preview.html
|
||||
+++ b/components/dom_distiller/core/html/preview.html
|
||||
@@ -36,8 +36,8 @@ diff --git a/components/dom_distiller/core/html/preview.html b/components/dom_di
|
||||
diff --git a/components/dom_distiller/core/javascript/dom_distiller_viewer.js b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
|
||||
--- a/components/dom_distiller/core/javascript/dom_distiller_viewer.js
|
||||
+++ b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
|
||||
@@ -120,7 +120,7 @@ function maybeSetWebFont() {
|
||||
if (distiller_on_ios) return;
|
||||
@@ -130,7 +130,7 @@ function maybeSetWebFont() {
|
||||
return;
|
||||
|
||||
var e = document.createElement('link');
|
||||
- e.href = 'https://fonts.googleapis.com/css?family=Roboto';
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 12 Aug 2019 08:47:04 +0200
|
||||
Subject: Disable search-ready omnibox by default
|
||||
|
||||
---
|
||||
chrome/browser/android/chrome_feature_list.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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};
|
||||
|
||||
const base::Feature kSearchReadyOmniboxFeature{
|
||||
- "SearchReadyOmnibox", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "SearchReadyOmnibox", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kServiceManagerForBackgroundPrefetch{
|
||||
"ServiceManagerForBackgroundPrefetch", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable seed-based field trials
|
||||
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
|
||||
--- a/components/variations/service/variations_field_trial_creator.cc
|
||||
+++ b/components/variations/service/variations_field_trial_creator.cc
|
||||
@@ -514,8 +514,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
@@ -535,8 +535,10 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
|
||||
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
bool used_seed = false;
|
||||
if (!used_testing_config) {
|
||||
|
||||
@@ -4,70 +4,104 @@ Subject: Disable signin and data saver preferences
|
||||
|
||||
Never show the data saver promo snackbar
|
||||
---
|
||||
chrome/android/java/res/xml/main_preferences.xml | 9 ---
|
||||
.../browser/preferences/MainPreferences.java | 91 +---------------------
|
||||
2 files changed, 2 insertions(+), 98 deletions(-)
|
||||
chrome/android/java/res/xml/main_preferences.xml | 20 -----
|
||||
.../android/java/res/xml/privacy_preferences.xml | 7 --
|
||||
.../browser/preferences/MainPreferences.java | 86 +---------------------
|
||||
.../preferences/privacy/PrivacyPreferences.java | 15 ----
|
||||
.../sync/SyncAndServicesPreferences.java | 7 --
|
||||
.../preferences/sync/SyncPreferenceUtils.java | 3 -
|
||||
.../java/strings/android_chrome_strings.grd | 15 ----
|
||||
7 files changed, 1 insertion(+), 152 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
|
||||
@@ -10,10 +10,6 @@
|
||||
android:key="account_section"
|
||||
android:order="0"
|
||||
android:title="@string/prefs_section_account"/>
|
||||
- <org.chromium.chrome.browser.preferences.SignInPreference
|
||||
@@ -7,21 +7,6 @@
|
||||
android:orderingFromXml="false">
|
||||
|
||||
<PreferenceCategory
|
||||
- android:key="account_section"
|
||||
- android:order="0"
|
||||
- android:title="@string/prefs_section_account"/>
|
||||
- <org.chromium.chrome.browser.preferences.sync.SignInPreference
|
||||
- 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"
|
||||
@@ -96,11 +92,6 @@
|
||||
android:key="languages"
|
||||
android:order="17"
|
||||
- <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"
|
||||
android:order="3"
|
||||
android:title="@string/prefs_section_basics"/>
|
||||
@@ -91,11 +76,6 @@
|
||||
android:order="16"
|
||||
android:title="@string/prefs_languages"/>
|
||||
- <org.chromium.chrome.browser.preferences.datareduction.DataReductionPreference
|
||||
<org.chromium.chrome.browser.preferences.ChromeBasePreference
|
||||
- android:fragment="org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferenceFragment"
|
||||
- android:key="data_reduction"
|
||||
- android:order="18"
|
||||
- android:title="@string/data_reduction_title"/>
|
||||
<org.chromium.chrome.browser.preferences.ChromeBasePreference
|
||||
- android:order="17"
|
||||
- android:title="@string/data_reduction_title_lite_mode"/>
|
||||
- <org.chromium.chrome.browser.preferences.ChromeBasePreference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.download.DownloadPreferences"
|
||||
android:key="downloads"
|
||||
android:order="18"
|
||||
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,12 +38,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>
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
|
||||
@@ -17,16 +17,12 @@ import org.chromium.base.VisibleForTesting;
|
||||
@@ -17,13 +17,11 @@ import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.VisibleForTesting;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.contextual_suggestions.ContextualSuggestionsEnabledStateUtils;
|
||||
-import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
||||
import org.chromium.chrome.browser.night_mode.NightModeUtils;
|
||||
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchConfiguration;
|
||||
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
|
||||
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
import org.chromium.chrome.browser.preferences.autofill_assistant.AutofillAssistantPreferences;
|
||||
-import org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferenceFragment;
|
||||
import org.chromium.chrome.browser.preferences.developer.DeveloperPreferences;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrl;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
|
||||
-import org.chromium.chrome.browser.signin.SigninManager;
|
||||
-import org.chromium.chrome.browser.sync.ProfileSyncService;
|
||||
import org.chromium.chrome.browser.util.FeatureUtilities;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -36,11 +32,8 @@ import java.util.Map;
|
||||
import org.chromium.chrome.browser.preferences.sync.SignInPreference;
|
||||
import org.chromium.chrome.browser.preferences.sync.SyncPreferenceUtils;
|
||||
@@ -42,16 +40,11 @@ import java.util.Map;
|
||||
* The main settings screen, shown when the user first opens Settings.
|
||||
*/
|
||||
public class MainPreferences extends PreferenceFragment
|
||||
public class MainPreferences extends PreferenceFragmentCompat
|
||||
- implements TemplateUrlService.LoadListener, ProfileSyncService.SyncStateChangedListener,
|
||||
- SigninManager.SignInStateObserver {
|
||||
+ implements TemplateUrlService.LoadListener {
|
||||
public static final String PREF_ACCOUNT_SECTION = "account_section";
|
||||
- public static final String PREF_ACCOUNT_SECTION = "account_section";
|
||||
- public static final String PREF_SIGN_IN = "sign_in";
|
||||
- public static final String PREF_SYNC_AND_SERVICES = "sync_and_services";
|
||||
+ implements TemplateUrlService.LoadListener {
|
||||
public static final String PREF_SEARCH_ENGINE = "search_engine";
|
||||
public static final String PREF_SAVED_PASSWORDS = "saved_passwords";
|
||||
public static final String PREF_CONTEXTUAL_SUGGESTIONS = "contextual_suggestions";
|
||||
@@ -60,7 +53,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
public static final String PREF_HOMEPAGE = "homepage";
|
||||
public static final String PREF_UI_THEME = "ui_theme";
|
||||
- public static final String PREF_DATA_REDUCTION = "data_reduction";
|
||||
public static final String PREF_NOTIFICATIONS = "notifications";
|
||||
public static final String PREF_LANGUAGES = "languages";
|
||||
public static final String PREF_DOWNLOADS = "downloads";
|
||||
@@ -65,7 +58,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
|
||||
private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
private final Map<String, Preference> mAllPreferences = new HashMap<>();
|
||||
@@ -75,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
|
||||
public MainPreferences() {
|
||||
setHasOptionsMenu(true);
|
||||
@@ -76,33 +68,16 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -88,35 +80,16 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -85,8 +119,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
- if (SigninManager.get().isSigninSupported()) {
|
||||
- SigninManager.get().addSignInStateObserver(this);
|
||||
- SigninManager signinManager = IdentityServicesProvider.getSigninManager();
|
||||
- if (signinManager.isSigninSupported()) {
|
||||
- signinManager.addSignInStateObserver(this);
|
||||
- mSignInPreference.registerForUpdates();
|
||||
- }
|
||||
- ProfileSyncService syncService = ProfileSyncService.get();
|
||||
@@ -98,8 +133,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
- if (SigninManager.get().isSigninSupported()) {
|
||||
- SigninManager.get().removeSignInStateObserver(this);
|
||||
- SigninManager signinManager = IdentityServicesProvider.getSigninManager();
|
||||
- if (signinManager.isSigninSupported()) {
|
||||
- signinManager.removeSignInStateObserver(this);
|
||||
- mSignInPreference.unregisterForUpdates();
|
||||
- }
|
||||
- ProfileSyncService syncService = ProfileSyncService.get();
|
||||
@@ -109,18 +145,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -115,17 +90,11 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -129,12 +102,9 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.main_preferences);
|
||||
cachePreferences();
|
||||
|
||||
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
|
||||
- mSignInPreference.setOnStateChangedCallback(this::onSignInPreferenceStateChanged);
|
||||
- } else {
|
||||
- getPreferenceScreen().removePreference(findPreference(PREF_ACCOUNT_SECTION));
|
||||
- getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES));
|
||||
- }
|
||||
+ getPreferenceScreen().removePreference(findPreference(PREF_ACCOUNT_SECTION));
|
||||
|
||||
- mSignInPreference.setOnStateChangedCallback(this::onSignInPreferenceStateChanged);
|
||||
-
|
||||
updatePasswordsPreference();
|
||||
|
||||
setManagedPreferenceDelegateForPreference(PREF_SEARCH_ENGINE);
|
||||
@@ -128,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// If we are on Android O+ the Notifications preference should lead to the Android
|
||||
@@ -189,7 +158,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -188,7 +158,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
Preference preference = getPreferenceScreen().getPreference(index);
|
||||
mAllPreferences.put(preference.getKey(), preference);
|
||||
}
|
||||
@@ -136,11 +166,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
}
|
||||
|
||||
private void setManagedPreferenceDelegateForPreference(String key) {
|
||||
@@ -198,13 +166,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -197,13 +166,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
}
|
||||
|
||||
private void updatePreferences() {
|
||||
- if (SigninManager.get().isSigninSupported()) {
|
||||
- if (IdentityServicesProvider.getSigninManager().isSigninSupported()) {
|
||||
- addPreferenceIfAbsent(PREF_SIGN_IN);
|
||||
- } else {
|
||||
- removePreferenceIfPresent(PREF_SIGN_IN);
|
||||
@@ -150,7 +180,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
updateSearchEnginePreference();
|
||||
|
||||
Preference homepagePref = addPreferenceIfAbsent(PREF_HOMEPAGE);
|
||||
@@ -234,10 +195,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -223,10 +185,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
} else {
|
||||
removePreferenceIfPresent(PREF_DEVELOPER);
|
||||
}
|
||||
@@ -161,13 +191,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
}
|
||||
|
||||
private Preference addPreferenceIfAbsent(String key) {
|
||||
@@ -251,15 +208,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -240,13 +198,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
if (preference != null) getPreferenceScreen().removePreference(preference);
|
||||
}
|
||||
|
||||
- private void updateSyncAndServicesPreference() {
|
||||
- if (!ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) return;
|
||||
-
|
||||
- ChromeBasePreference syncAndServices =
|
||||
- (ChromeBasePreference) findPreference(PREF_SYNC_AND_SERVICES);
|
||||
- syncAndServices.setIcon(SyncPreferenceUtils.getSyncStatusIcon(getActivity()));
|
||||
@@ -175,9 +203,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
- }
|
||||
-
|
||||
private void updateSearchEnginePreference() {
|
||||
if (!TemplateUrlService.getInstance().isLoaded()) {
|
||||
if (!TemplateUrlServiceFactory.get().isLoaded()) {
|
||||
ChromeBasePreference searchEnginePref =
|
||||
@@ -291,28 +239,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -278,28 +229,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
pref.setSummary(getResources().getString(isOn ? R.string.text_on : R.string.text_off));
|
||||
}
|
||||
|
||||
@@ -206,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
// TemplateUrlService.LoadListener implementation.
|
||||
@Override
|
||||
public void onTemplateUrlServiceLoaded() {
|
||||
@@ -320,11 +246,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -307,11 +236,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
updateSearchEnginePreference();
|
||||
}
|
||||
|
||||
@@ -218,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
@VisibleForTesting
|
||||
ManagedPreferenceDelegate getManagedPreferenceDelegateForTest() {
|
||||
return mManagedPreferenceDelegate;
|
||||
@@ -334,9 +255,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -321,9 +245,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
return new ManagedPreferenceDelegate() {
|
||||
@Override
|
||||
public boolean isPreferenceControlledByPolicy(Preference preference) {
|
||||
@@ -226,9 +254,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
- return DataReductionProxySettings.getInstance().isDataReductionProxyManaged();
|
||||
- }
|
||||
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
|
||||
return TemplateUrlService.getInstance().isDefaultSearchManaged();
|
||||
return TemplateUrlServiceFactory.get().isDefaultSearchManaged();
|
||||
}
|
||||
@@ -345,11 +263,6 @@ public class MainPreferences extends PreferenceFragment
|
||||
@@ -332,11 +253,6 @@ public class MainPreferences extends PreferenceFragmentCompat
|
||||
|
||||
@Override
|
||||
public boolean isPreferenceClickDisabledByPolicy(Preference preference) {
|
||||
@@ -238,8 +266,119 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
|
||||
- && !settings.isDataReductionProxyEnabled();
|
||||
- }
|
||||
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
|
||||
return TemplateUrlService.getInstance().isDefaultSearchManaged();
|
||||
return TemplateUrlServiceFactory.get().isDefaultSearchManaged();
|
||||
}
|
||||
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
|
||||
@@ -24,7 +24,6 @@ import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
||||
import org.chromium.chrome.browser.preferences.PreferenceUtils;
|
||||
import org.chromium.chrome.browser.preferences.PreferencesLauncher;
|
||||
-import org.chromium.chrome.browser.preferences.sync.SyncAndServicesPreferences;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.usage_stats.UsageStatsConsentDialog;
|
||||
import org.chromium.ui.text.NoUnderlineClickableSpan;
|
||||
@@ -41,9 +40,6 @@ public class PrivacyPreferences
|
||||
private static final String PREF_NETWORK_PREDICTIONS = "network_predictions";
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
- private static final String PREF_SYNC_AND_SERVICES_LINK_DIVIDER =
|
||||
- "sync_and_services_link_divider";
|
||||
- private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
|
||||
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
|
||||
@@ -86,20 +82,9 @@ public class PrivacyPreferences
|
||||
networkPredictionPref.setOrder(canMakePaymentPref.getOrder());
|
||||
preferenceScreen.addPreference(networkPredictionPref);
|
||||
|
||||
- Preference syncAndServicesLink = findPreference(PREF_SYNC_AND_SERVICES_LINK);
|
||||
- NoUnderlineClickableSpan linkSpan = new NoUnderlineClickableSpan(getResources(), view -> {
|
||||
- PreferencesLauncher.launchSettingsPage(getActivity(), SyncAndServicesPreferences.class,
|
||||
- SyncAndServicesPreferences.createArguments(false));
|
||||
- });
|
||||
- syncAndServicesLink.setSummary(
|
||||
- SpanApplier.applySpans(getString(R.string.privacy_sync_and_services_link),
|
||||
- new SpanApplier.SpanInfo("<link>", "</link>", linkSpan)));
|
||||
-
|
||||
updateSummaries();
|
||||
return;
|
||||
}
|
||||
- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER));
|
||||
- preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK));
|
||||
|
||||
ChromeBaseCheckBoxPreference searchSuggestionsPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncAndServicesPreferences.java
|
||||
@@ -163,14 +163,7 @@ public class SyncAndServicesPreferences extends PreferenceFragmentCompat
|
||||
|
||||
mPrivacyPrefManager.migrateNetworkPredictionPreferences();
|
||||
|
||||
- getActivity().setTitle(R.string.prefs_sync_and_services);
|
||||
setHasOptionsMenu(true);
|
||||
- if (mIsFromSigninScreen) {
|
||||
- ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
|
||||
- assert actionBar != null;
|
||||
- actionBar.setHomeActionContentDescription(
|
||||
- R.string.prefs_sync_and_services_content_description);
|
||||
- }
|
||||
|
||||
PreferenceUtils.addPreferencesFromResource(this, R.xml.sync_and_services_preferences);
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/sync/SyncPreferenceUtils.java
|
||||
@@ -119,9 +119,6 @@ public class SyncPreferenceUtils {
|
||||
if (profileSyncService.isPassphraseRequiredForDecryption()) {
|
||||
return res.getString(R.string.sync_need_passphrase);
|
||||
}
|
||||
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.UNIFIED_CONSENT)) {
|
||||
- return context.getString(R.string.sync_and_services_summary_sync_on);
|
||||
- }
|
||||
return context.getString(R.string.account_management_sync_summary, accountName);
|
||||
}
|
||||
return context.getString(R.string.sync_is_disabled);
|
||||
diff --git a/chrome/android/java/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
|
||||
@@ -345,24 +345,12 @@ CHAR-LIMIT guidelines:
|
||||
</message>
|
||||
|
||||
<!-- Sign-in, sync and personalization preferences -->
|
||||
- <message name="IDS_PREFS_SECTION_ACCOUNT" desc="Title for the group of account-related entries in Settings. [CHAR-LIMIT=32]">
|
||||
- Account
|
||||
- </message>
|
||||
<message name="IDS_SIGN_IN_TO_CHROME" desc="Title for the button to sign in to Chrome using one's Google account. [CHAR-LIMIT=27]">
|
||||
Sign in to Chrome
|
||||
</message>
|
||||
- <message name="IDS_PREFS_SYNC_AND_SERVICES" desc="Title for Settings section to manage data collection for Sync and Google services. [CHAR-LIMIT=40]">
|
||||
- Sync and Google services
|
||||
- </message>
|
||||
- <message name="IDS_PREFS_SYNC_AND_SERVICES_CONTENT_DESCRIPTION" desc="The accessibility text to read when the 'Sync and Google services' Settings page is opened from the sign-in page. This text is attached to the 'Navigate Up' button shown at the top of the screen. The first two sentences describe the screen that is currently shown to the user, while 'Navigate up' is a description for the button this text is attached to. 'Navigate up' should match TC ID 6794660482873516081.">
|
||||
- You are currently customizing your Sync and Google service settings. To finish turning on sync, tap the Confirm button near the bottom of the screen. Navigate up
|
||||
- </message>
|
||||
<message name="IDS_SIGNIN_PREF_SUMMARY" desc="Summary for the entry in Settings to sign in to Chrome, explaining benefits of signing in.">
|
||||
Sync and personalize across devices
|
||||
</message>
|
||||
- <message name="IDS_SYNC_AND_SERVICES_SUMMARY_SYNC_ON" desc="Summary for 'Sync and Google services' preference row when sync is enabled.">
|
||||
- Sync is on
|
||||
- </message>
|
||||
<message name="IDS_SIGN_IN_TO_CHROME_DISABLED_SUMMARY" desc="A descriptive line of text that appears under the 'Sign in to Chrome' option, in Chrome Settings on Android. The text explains why 'Sign in to Chrome' is disabled. 'Administrator' refers to the IT administrator of the company/organization that owns the user’s device.">
|
||||
Disabled by the administrator of this device
|
||||
</message>
|
||||
@@ -412,9 +400,6 @@ CHAR-LIMIT guidelines:
|
||||
<message name="IDS_URL_KEYED_ANONYMIZED_DATA_SUMMARY" desc="Summary for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
|
||||
Sends URLs of pages you visit to Google
|
||||
</message>
|
||||
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK" desc="The text for Privacy preferences that is shown after all preference rows.">
|
||||
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK"><link></ph>Sync and Google services<ph name="END_LINK"></link></ph>
|
||||
- </message>
|
||||
<message name="IDS_CANCEL_SYNC_DIALOG_TITLE" desc="The title of a dialog that is shown when users tries closing 'Sync and Google services' preferences without confirming the changes.">
|
||||
Cancel sync?
|
||||
</message>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@ Date: Tue, 12 Jun 2018 15:09:26 +0200
|
||||
Subject: Disable signin/data reduction promos
|
||||
|
||||
---
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 28 ++--------------------
|
||||
1 file changed, 2 insertions(+), 26 deletions(-)
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 30 +---------------------
|
||||
1 file changed, 1 insertion(+), 29 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -695,34 +695,10 @@ public class ChromeTabbedActivity
|
||||
}
|
||||
|
||||
@@ -799,35 +799,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements ScreenshotMo
|
||||
try (TraceEvent e = TraceEvent.scoped(
|
||||
"ChromeTabbedActivity.createToolbarButtonInProductHelpController")) {
|
||||
ChromePreferenceManager preferenceManager = ChromePreferenceManager.getInstance();
|
||||
- // Promos can only be shown when we start with ACTION_MAIN intent and
|
||||
- // after FRE is complete. Native initialization can finish before the FRE flow is
|
||||
@@ -23,29 +23,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
- // might not have completed at this point and we could show multiple
|
||||
- // promos.
|
||||
- boolean isShowingPromo = mLocaleManager.hasShownSearchEnginePromoThisSession();
|
||||
- // Promo dialogs in multiwindow mode are broken on some devices: http://crbug.com/354696
|
||||
- // Promo dialogs in multiwindow mode are broken on some devices:
|
||||
- // http://crbug.com/354696
|
||||
- boolean isLegacyMultiWindow = MultiWindowUtils.getInstance().isLegacyMultiWindow(this);
|
||||
- if (!isShowingPromo && !mIntentWithEffect && FirstRunStatus.getFirstRunFlowComplete()
|
||||
- && preferenceManager.readBoolean(
|
||||
- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, false)
|
||||
- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, false)
|
||||
- && !VrModuleProvider.getDelegate().isInVr()
|
||||
- // VrModuleProvider.getDelegate().isInVr may not return true at this point even
|
||||
- // though Chrome is about to enter VR, so we need to also check whether we're
|
||||
- // launching into VR.
|
||||
- // VrModuleProvider.getDelegate().isInVr may not return true at this point
|
||||
- // even though Chrome is about to enter VR, so we need to also check whether
|
||||
- // we're launching into VR.
|
||||
- && !VrModuleProvider.getIntentDelegate().isLaunchingIntoVr(this, getIntent())
|
||||
- && !isLegacyMultiWindow) {
|
||||
- isShowingPromo = maybeShowPromo();
|
||||
- } else {
|
||||
- preferenceManager.writeBoolean(
|
||||
+ preferenceManager.writeBoolean(
|
||||
ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
- ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
- }
|
||||
|
||||
-
|
||||
- ToolbarButtonInProductHelpController.create(this, isShowingPromo);
|
||||
+ ToolbarButtonInProductHelpController.create(this, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS)) {
|
||||
// We call getFeedAppLifecycle() here to ensure the app lifecycle is created so that
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -10,15 +10,15 @@ 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
|
||||
@@ -50,7 +50,7 @@ void CookieSettings::GetCookieSettings(
|
||||
@@ -57,7 +57,7 @@ void CookieSettings::GetCookieSettings(
|
||||
void CookieSettings::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kBlockThirdPartyCookies, false,
|
||||
+ prefs::kBlockThirdPartyCookies, true,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
}
|
||||
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kCookieControlsMode,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
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
|
||||
|
||||
@@ -0,0 +1,507 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 14 Apr 2019 12:08:27 +0200
|
||||
Subject: Disable unused permissions
|
||||
|
||||
Disable sync adaptive and invalidation services from manifest
|
||||
|
||||
Prevents authorization prompt for Play services on reboot
|
||||
|
||||
Fixes building with debug symbols:
|
||||
|
||||
ld.lld: error: undefined symbol: notifier::NotifierOptions::NotifierOptions()
|
||||
>>> referenced by invalidation_service_util.cc:17 (../../components/invalidation/impl/invalidation_service_util.cc:17)
|
||||
>>> impl/invalidation_service_util.o:(invalidation::ParseNotifierOptions(base::CommandLine const&)) in archive obj/components/invalidation/impl/libimpl.a
|
||||
|
||||
Fixup more permission removal
|
||||
---
|
||||
chrome/android/BUILD.gn | 4 +-
|
||||
chrome/android/java/AndroidManifest.xml | 27 -----
|
||||
.../chromium/chrome/browser/ChromeActivity.java | 34 ------
|
||||
.../invalidation/impl/invalidation_service_util.cc | 21 ----
|
||||
.../invalidation/impl/invalidation_service_util.h | 6 +-
|
||||
.../signin/SystemAccountManagerDelegate.java | 38 +------
|
||||
.../components/sync/AndroidSyncSettings.java | 24 +---
|
||||
.../chromium/net/HttpNegotiateAuthenticator.java | 122 +--------------------
|
||||
.../chromoting/base/OAuthTokenFetcher.java | 2 -
|
||||
9 files changed, 13 insertions(+), 265 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -1158,8 +1158,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
|
||||
resources = [
|
||||
"java/res_template/xml/file_paths.xml",
|
||||
"java/res_template/xml/launchershortcuts.xml",
|
||||
- "java/res_template/xml/searchable.xml",
|
||||
- "java/res_template/xml/syncadapter.xml",
|
||||
+ "java/res_template/xml/searchable.xml"
|
||||
]
|
||||
res_dir = "java/res_template"
|
||||
variables = [ "manifest_package=$chrome_public_manifest_package" ]
|
||||
@@ -1170,7 +1169,6 @@ jinja_template_resources("chrome_test_apk_template_resources") {
|
||||
"java/res_template/xml/file_paths.xml",
|
||||
"java/res_template/xml/launchershortcuts.xml",
|
||||
"java/res_template/xml/searchable.xml",
|
||||
- "java/res_template/xml/syncadapter.xml",
|
||||
]
|
||||
res_dir = "java/res_template"
|
||||
|
||||
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
|
||||
@@ -47,22 +47,16 @@ by a child template that "extends" this file.
|
||||
{% if target_sdk_version|int > 27 or target_sdk_version == "Q" %}
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
{% endif %}
|
||||
- <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
- <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
||||
<uses-permission android:name="android.permission.NFC"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
- <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
|
||||
- <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||
- <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
- <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
|
||||
{% set enable_vr = enable_vr|default(0) %}
|
||||
{% if enable_vr == "true" %}
|
||||
<!-- Indicates use of Android's VR-mode, available only on Android N+. -->
|
||||
@@ -103,8 +97,6 @@ by a child template that "extends" this file.
|
||||
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
||||
|
||||
- <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
|
||||
-
|
||||
{% block extra_uses_permissions %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -1009,16 +1001,6 @@ by a child template that "extends" this file.
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
- <!-- Sync adapter for browser invalidation. -->
|
||||
- <service android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService"
|
||||
- android:exported="false">
|
||||
- <intent-filter>
|
||||
- <action android:name="android.content.SyncAdapter" />
|
||||
- </intent-filter>
|
||||
- <meta-data android:name="android.content.SyncAdapter"
|
||||
- android:resource="@xml/syncadapter" />
|
||||
- </service>
|
||||
-
|
||||
<!-- Broadcast receiver that will be notified of account changes -->
|
||||
<receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
|
||||
<intent-filter>
|
||||
@@ -1126,15 +1108,6 @@ by a child template that "extends" this file.
|
||||
<service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
|
||||
android:exported="false"/>
|
||||
|
||||
- <!-- Notification service for sync. -->
|
||||
- <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
|
||||
- android:value="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"/>
|
||||
- <service android:name="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"
|
||||
- android:exported="false">
|
||||
- <intent-filter>
|
||||
- <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
|
||||
- </intent-filter>
|
||||
- </service>
|
||||
<service android:name="com.google.ipc.invalidation.ticl.android2.TiclService"
|
||||
android:exported="false"/>
|
||||
<service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"
|
||||
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
|
||||
@@ -126,8 +126,6 @@ import org.chromium.chrome.browser.share.ShareMenuActionHandler;
|
||||
import org.chromium.chrome.browser.snackbar.BottomContainer;
|
||||
import org.chromium.chrome.browser.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
|
||||
-import org.chromium.chrome.browser.sync.ProfileSyncService;
|
||||
-import org.chromium.chrome.browser.sync.SyncController;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabBrowserControlsState;
|
||||
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
|
||||
@@ -265,9 +263,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@SuppressLint("NewApi")
|
||||
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
|
||||
|
||||
- // Observes when sync becomes ready to create the mContextReporter.
|
||||
- private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
|
||||
-
|
||||
@Nullable
|
||||
private ChromeFullscreenManager mFullscreenManager;
|
||||
|
||||
@@ -906,28 +901,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
private void createContextReporterIfNeeded() {
|
||||
if (!mStarted) return; // Sync state reporting should work only in started state.
|
||||
if (mContextReporter != null || getActivityTab() == null) return;
|
||||
-
|
||||
- final SyncController syncController = SyncController.get(this);
|
||||
- final ProfileSyncService syncService = ProfileSyncService.get();
|
||||
-
|
||||
- if (syncController != null && syncController.isSyncingUrlsWithKeystorePassphrase()) {
|
||||
- assert syncService != null;
|
||||
- mContextReporter = AppHooks.get().createGsaHelper().getContextReporter(this);
|
||||
-
|
||||
- if (mSyncStateChangedListener != null) {
|
||||
- syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
||||
- mSyncStateChangedListener = null;
|
||||
- }
|
||||
-
|
||||
- return;
|
||||
- } else {
|
||||
- ContextReporter.reportSyncStatus(syncService);
|
||||
- }
|
||||
-
|
||||
- if (mSyncStateChangedListener == null && syncService != null) {
|
||||
- mSyncStateChangedListener = () -> createContextReporterIfNeeded();
|
||||
- syncService.addSyncStateChangedListener(mSyncStateChangedListener);
|
||||
- }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -995,13 +968,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
|
||||
GSAAccountChangeListener.getInstance().disconnect();
|
||||
}
|
||||
- if (mSyncStateChangedListener != null) {
|
||||
- ProfileSyncService syncService = ProfileSyncService.get();
|
||||
- if (syncService != null) {
|
||||
- syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
||||
- }
|
||||
- mSyncStateChangedListener = null;
|
||||
- }
|
||||
if (mContextReporter != null) mContextReporter.disable();
|
||||
|
||||
super.onStopWithNative();
|
||||
diff --git a/components/invalidation/impl/invalidation_service_util.cc b/components/invalidation/impl/invalidation_service_util.cc
|
||||
--- a/components/invalidation/impl/invalidation_service_util.cc
|
||||
+++ b/components/invalidation/impl/invalidation_service_util.cc
|
||||
@@ -12,27 +12,6 @@
|
||||
|
||||
namespace invalidation {
|
||||
|
||||
-notifier::NotifierOptions ParseNotifierOptions(
|
||||
- const base::CommandLine& command_line) {
|
||||
- notifier::NotifierOptions notifier_options;
|
||||
-
|
||||
- if (command_line.HasSwitch(switches::kSyncNotificationHostPort)) {
|
||||
- notifier_options.xmpp_host_port =
|
||||
- net::HostPortPair::FromString(
|
||||
- command_line.GetSwitchValueASCII(
|
||||
- switches::kSyncNotificationHostPort));
|
||||
- DVLOG(1) << "Using " << notifier_options.xmpp_host_port.ToString()
|
||||
- << " for test sync notification server.";
|
||||
- }
|
||||
-
|
||||
- notifier_options.allow_insecure_connection =
|
||||
- command_line.HasSwitch(switches::kSyncAllowInsecureXmppConnection);
|
||||
- DVLOG_IF(1, notifier_options.allow_insecure_connection)
|
||||
- << "Allowing insecure XMPP connections.";
|
||||
-
|
||||
- return notifier_options;
|
||||
-}
|
||||
-
|
||||
std::string GenerateInvalidatorClientId() {
|
||||
// Generate a GUID with 128 bits worth of base64-encoded randomness.
|
||||
// This format is similar to that of sync's cache_guid.
|
||||
diff --git a/components/invalidation/impl/invalidation_service_util.h b/components/invalidation/impl/invalidation_service_util.h
|
||||
--- a/components/invalidation/impl/invalidation_service_util.h
|
||||
+++ b/components/invalidation/impl/invalidation_service_util.h
|
||||
@@ -5,7 +5,7 @@
|
||||
#ifndef COMPONENTS_INVALIDATION_IMPL_INVALIDATION_SERVICE_UTIL_H_
|
||||
#define COMPONENTS_INVALIDATION_IMPL_INVALIDATION_SERVICE_UTIL_H_
|
||||
|
||||
-#include "jingle/notifier/base/notifier_options.h"
|
||||
+#include <string>
|
||||
|
||||
namespace base {
|
||||
class CommandLine;
|
||||
@@ -13,10 +13,6 @@ class CommandLine;
|
||||
|
||||
namespace invalidation {
|
||||
|
||||
-// Parses the given command line for notifier options.
|
||||
-notifier::NotifierOptions ParseNotifierOptions(
|
||||
- const base::CommandLine& command_line);
|
||||
-
|
||||
// Generates a unique client ID for the invalidator.
|
||||
std::string GenerateInvalidatorClientId();
|
||||
|
||||
diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
+++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
@@ -167,16 +167,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
|
||||
@Override
|
||||
public boolean hasFeatures(Account account, String[] features) {
|
||||
- if (!hasGetAccountsPermission()) {
|
||||
- return false;
|
||||
- }
|
||||
- try {
|
||||
- return mAccountManager.hasFeatures(account, features, null, null).getResult();
|
||||
- } catch (AuthenticatorException | IOException e) {
|
||||
- Log.e(TAG, "Error while checking features: ", e);
|
||||
- } catch (OperationCanceledException e) {
|
||||
- Log.e(TAG, "Checking features was cancelled. This should not happen.");
|
||||
- }
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -216,32 +206,10 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
||||
public void updateCredentials(
|
||||
Account account, Activity activity, final Callback<Boolean> callback) {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
- if (!hasManageAccountsPermission()) {
|
||||
- if (callback != null) {
|
||||
- ThreadUtils.postOnUiThread(() -> callback.onResult(false));
|
||||
- }
|
||||
- return;
|
||||
+ if (callback != null) {
|
||||
+ ThreadUtils.postOnUiThread(() -> callback.onResult(false));
|
||||
}
|
||||
-
|
||||
- AccountManagerCallback<Bundle> realCallback = future -> {
|
||||
- Bundle bundle = null;
|
||||
- try {
|
||||
- bundle = future.getResult();
|
||||
- } catch (AuthenticatorException | IOException e) {
|
||||
- Log.e(TAG, "Error while update credentials: ", e);
|
||||
- } catch (OperationCanceledException e) {
|
||||
- Log.w(TAG, "Updating credentials was cancelled.");
|
||||
- }
|
||||
- boolean success =
|
||||
- bundle != null && bundle.getString(AccountManager.KEY_ACCOUNT_TYPE) != null;
|
||||
- if (callback != null) {
|
||||
- callback.onResult(success);
|
||||
- }
|
||||
- };
|
||||
- // Android 4.4 throws NullPointerException if null is passed
|
||||
- Bundle emptyOptions = new Bundle();
|
||||
- mAccountManager.updateCredentials(
|
||||
- account, "android", emptyOptions, activity, realCallback, null);
|
||||
+ return;
|
||||
}
|
||||
|
||||
protected boolean hasGetAccountsPermission() {
|
||||
diff --git a/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java b/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java
|
||||
--- a/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java
|
||||
+++ b/components/sync/android/java/src/org/chromium/components/sync/AndroidSyncSettings.java
|
||||
@@ -212,13 +212,7 @@ public class AndroidSyncSettings {
|
||||
|
||||
private void setChromeSyncEnabled(boolean value) {
|
||||
synchronized (mLock) {
|
||||
- updateSyncability(null);
|
||||
- if (value == mChromeSyncEnabled || mAccount == null) return;
|
||||
- mChromeSyncEnabled = value;
|
||||
-
|
||||
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
|
||||
- mSyncContentResolverDelegate.setSyncAutomatically(mAccount, mContractAuthority, value);
|
||||
- StrictMode.setThreadPolicy(oldPolicy);
|
||||
+ mChromeSyncEnabled = false;
|
||||
}
|
||||
notifyObservers();
|
||||
}
|
||||
@@ -299,19 +293,9 @@ public class AndroidSyncSettings {
|
||||
boolean oldChromeSyncEnabled = mChromeSyncEnabled;
|
||||
boolean oldMasterSyncEnabled = mMasterSyncEnabled;
|
||||
|
||||
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
|
||||
- if (mAccount != null) {
|
||||
- mIsSyncable =
|
||||
- mSyncContentResolverDelegate.getIsSyncable(mAccount, mContractAuthority)
|
||||
- == 1;
|
||||
- mChromeSyncEnabled = mSyncContentResolverDelegate.getSyncAutomatically(
|
||||
- mAccount, mContractAuthority);
|
||||
- } else {
|
||||
- mIsSyncable = false;
|
||||
- mChromeSyncEnabled = false;
|
||||
- }
|
||||
- mMasterSyncEnabled = mSyncContentResolverDelegate.getMasterSyncAutomatically();
|
||||
- StrictMode.setThreadPolicy(oldPolicy);
|
||||
+ mIsSyncable = false;
|
||||
+ mChromeSyncEnabled = false;
|
||||
+ mMasterSyncEnabled = false;
|
||||
|
||||
return oldChromeSyncEnabled != mChromeSyncEnabled
|
||||
|| oldMasterSyncEnabled != mMasterSyncEnabled;
|
||||
diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
--- a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
+++ b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
@@ -96,50 +96,7 @@ public class HttpNegotiateAuthenticator {
|
||||
|
||||
@Override
|
||||
public void run(AccountManagerFuture<Account[]> future) {
|
||||
- Account[] accounts;
|
||||
- try {
|
||||
- accounts = future.getResult();
|
||||
- } catch (OperationCanceledException | AuthenticatorException | IOException e) {
|
||||
- Log.w(TAG, "ERR_UNEXPECTED: Error while attempting to retrieve accounts.", e);
|
||||
- nativeSetResult(mRequestData.nativeResultObject, NetError.ERR_UNEXPECTED, null);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (accounts.length == 0) {
|
||||
- Log.w(TAG, "ERR_MISSING_AUTH_CREDENTIALS: No account provided for the kerberos "
|
||||
- + "authentication. Please verify the configuration policies and "
|
||||
- + "that the CONTACTS runtime permission is granted. ");
|
||||
- nativeSetResult(mRequestData.nativeResultObject,
|
||||
- NetError.ERR_MISSING_AUTH_CREDENTIALS, null);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (accounts.length > 1) {
|
||||
- Log.w(TAG, "ERR_MISSING_AUTH_CREDENTIALS: Found %d accounts eligible for the "
|
||||
- + "kerberos authentication. Please fix the configuration by "
|
||||
- + "providing a single account.",
|
||||
- accounts.length);
|
||||
- nativeSetResult(mRequestData.nativeResultObject,
|
||||
- NetError.ERR_MISSING_AUTH_CREDENTIALS, null);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (lacksPermission(ContextUtils.getApplicationContext(),
|
||||
- "android.permission.USE_CREDENTIALS", true)) {
|
||||
- // Protecting the AccountManager#getAuthToken call.
|
||||
- // API < 23 Requires the USE_CREDENTIALS permission or throws an exception.
|
||||
- // API >= 23 USE_CREDENTIALS permission is removed
|
||||
- Log.e(TAG, "ERR_MISCONFIGURED_AUTH_ENVIRONMENT: USE_CREDENTIALS permission not "
|
||||
- + "granted. Aborting authentication.");
|
||||
- nativeSetResult(mRequestData.nativeResultObject,
|
||||
- NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT, null);
|
||||
- return;
|
||||
- }
|
||||
- mRequestData.account = accounts[0];
|
||||
- mRequestData.accountManager.getAuthToken(mRequestData.account,
|
||||
- mRequestData.authTokenType, mRequestData.options, true /* notifyAuthFailure */,
|
||||
- new GetTokenCallback(mRequestData),
|
||||
- new Handler(ThreadUtils.getUiThreadLooper()));
|
||||
+ // account-based authentication removed for privacy-violations concerns
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,41 +109,7 @@ public class HttpNegotiateAuthenticator {
|
||||
|
||||
@Override
|
||||
public void run(AccountManagerFuture<Bundle> future) {
|
||||
- Bundle result;
|
||||
- try {
|
||||
- result = future.getResult();
|
||||
- } catch (OperationCanceledException | AuthenticatorException | IOException e) {
|
||||
- Log.w(TAG, "ERR_UNEXPECTED: Error while attempting to obtain a token.", e);
|
||||
- nativeSetResult(mRequestData.nativeResultObject, NetError.ERR_UNEXPECTED, null);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (result.containsKey(AccountManager.KEY_INTENT)) {
|
||||
- final Context appContext = ContextUtils.getApplicationContext();
|
||||
-
|
||||
- // We wait for a broadcast that should be sent once the user is done interacting
|
||||
- // with the notification
|
||||
- // TODO(dgn) We currently hang around if the notification is swiped away, until
|
||||
- // a LOGIN_ACCOUNTS_CHANGED_ACTION filter is received. It might be for something
|
||||
- // unrelated then we would wait again here. Maybe we should limit the number of
|
||||
- // retries in some way?
|
||||
- BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
|
||||
-
|
||||
- @Override
|
||||
- public void onReceive(Context context, Intent intent) {
|
||||
- appContext.unregisterReceiver(this);
|
||||
- mRequestData.accountManager.getAuthToken(mRequestData.account,
|
||||
- mRequestData.authTokenType, mRequestData.options,
|
||||
- true /* notifyAuthFailure */, new GetTokenCallback(mRequestData),
|
||||
- null);
|
||||
- }
|
||||
-
|
||||
- };
|
||||
- appContext.registerReceiver(broadcastReceiver,
|
||||
- new IntentFilter(AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION));
|
||||
- } else {
|
||||
- processResult(result, mRequestData);
|
||||
- }
|
||||
+ // ditto
|
||||
}
|
||||
}
|
||||
|
||||
@@ -300,22 +223,7 @@ public class HttpNegotiateAuthenticator {
|
||||
*/
|
||||
private void requestTokenWithoutActivity(
|
||||
Context ctx, RequestData requestData, String[] features) {
|
||||
- if (lacksPermission(ctx, Manifest.permission.GET_ACCOUNTS, true /* onlyPreM */)) {
|
||||
- // Protecting the AccountManager#getAccountsByTypeAndFeatures call.
|
||||
- // API < 23 Requires the GET_ACCOUNTS permission or throws an exception.
|
||||
- // API >= 23 Requires the GET_ACCOUNTS permission (CONTACTS permission group) or
|
||||
- // returns only the accounts whose authenticator has a signature that
|
||||
- // matches our app. Working with this restriction and not requesting
|
||||
- // the permission is a valid use case in the context of WebView, so we
|
||||
- // don't require it on M+
|
||||
- Log.e(TAG, "ERR_MISCONFIGURED_AUTH_ENVIRONMENT: GET_ACCOUNTS permission not "
|
||||
- + "granted. Aborting authentication.");
|
||||
- nativeSetResult(requestData.nativeResultObject,
|
||||
- NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT, null);
|
||||
- return;
|
||||
- }
|
||||
- requestData.accountManager.getAccountsByTypeAndFeatures(mAccountType, features,
|
||||
- new GetAccountsCallback(requestData), new Handler(ThreadUtils.getUiThreadLooper()));
|
||||
+ // ditto
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -334,29 +242,7 @@ public class HttpNegotiateAuthenticator {
|
||||
*/
|
||||
private void requestTokenWithActivity(
|
||||
Context ctx, Activity activity, RequestData requestData, String[] features) {
|
||||
- boolean isPreM = Build.VERSION.SDK_INT < Build.VERSION_CODES.M;
|
||||
- String permission = isPreM
|
||||
- ? "android.permission.MANAGE_ACCOUNTS"
|
||||
- : Manifest.permission.GET_ACCOUNTS;
|
||||
-
|
||||
- // Check if the AccountManager#getAuthTokenByFeatures call can be made.
|
||||
- // API < 23 Requires the MANAGE_ACCOUNTS permission.
|
||||
- // API >= 23 Requires the GET_ACCOUNTS permission to behave properly. When it's not granted,
|
||||
- // accounts not managed by the current application can't be retrieved. Depending
|
||||
- // on the authenticator implementation, it might prompt to create an account, but
|
||||
- // that won't be saved. This would be a bad user experience, so we also consider
|
||||
- // it a failure case.
|
||||
- if (lacksPermission(ctx, permission, isPreM)) {
|
||||
- Log.e(TAG, "ERR_MISCONFIGURED_AUTH_ENVIRONMENT: %s permission not granted. "
|
||||
- + "Aborting authentication", permission);
|
||||
- nativeSetResult(requestData.nativeResultObject,
|
||||
- NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT, null);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- requestData.accountManager.getAuthTokenByFeatures(mAccountType, requestData.authTokenType,
|
||||
- features, activity, null, requestData.options, new GetTokenCallback(requestData),
|
||||
- new Handler(ThreadUtils.getUiThreadLooper()));
|
||||
+ // ditto
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
|
||||
--- a/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
|
||||
+++ b/remoting/android/java/src/org/chromium/chromoting/base/OAuthTokenFetcher.java
|
||||
@@ -92,7 +92,6 @@ public class OAuthTokenFetcher {
|
||||
|
||||
/** Begins fetching a token. Should be called on the main thread. */
|
||||
public void fetch() {
|
||||
- fetchImpl(null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +100,6 @@ public class OAuthTokenFetcher {
|
||||
* @param expiredToken A previously-fetched token which has expired.
|
||||
*/
|
||||
public void clearAndFetch(String expiredToken) {
|
||||
- fetchImpl(expiredToken);
|
||||
}
|
||||
|
||||
private void fetchImpl(final String expiredToken) {
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Disable update scheduler
|
||||
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
|
||||
--- 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
|
||||
@@ -35,10 +35,7 @@ public class UpdateScheduler {
|
||||
@@ -36,10 +36,7 @@ public class UpdateScheduler {
|
||||
|
||||
@CalledByNative
|
||||
/* package */ static boolean isAvailable() {
|
||||
@@ -21,10 +21,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updat
|
||||
}
|
||||
|
||||
/* package */ void onStartTaskBeforeNativeLoaded(TaskFinishedCallback callback) {
|
||||
@@ -108,4 +105,4 @@ public class UpdateScheduler {
|
||||
|
||||
private native void nativeOnStartTask(long nativeBackgroundTaskUpdateScheduler);
|
||||
private native void nativeOnStopTask(long nativeBackgroundTaskUpdateScheduler);
|
||||
@@ -112,4 +109,4 @@ public class UpdateScheduler {
|
||||
void onStartTask(long nativeBackgroundTaskUpdateScheduler, UpdateScheduler caller);
|
||||
void onStopTask(long nativeBackgroundTaskUpdateScheduler, UpdateScheduler caller);
|
||||
}
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
|
||||
@@ -4,14 +4,23 @@ 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 | 18 +++++-------------
|
||||
chrome/common/chrome_features.cc | 2 +-
|
||||
2 files changed, 6 insertions(+), 14 deletions(-)
|
||||
.../search_permissions/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
|
||||
--- a/chrome/browser/android/search_permissions/search_permissions_service.cc
|
||||
+++ b/chrome/browser/android/search_permissions/search_permissions_service.cc
|
||||
@@ -344,11 +344,7 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
@@ -190,7 +190,7 @@ void SearchPermissionsService::ResetDSEPermission(ContentSettingsType type) {
|
||||
DCHECK(dse_url.is_empty() || IsPermissionControlledByDSE(type, dse_origin));
|
||||
|
||||
if (!dse_url.is_empty())
|
||||
- SetContentSetting(dse_url, type, CONTENT_SETTING_ALLOW);
|
||||
+ SetContentSetting(dse_url, type, CONTENT_SETTING_BLOCK);
|
||||
}
|
||||
|
||||
void SearchPermissionsService::ResetDSEPermissions() {
|
||||
@@ -333,11 +333,7 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -20,11 +29,11 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
|
||||
- // we don't know what the user's setting was previously.
|
||||
- bool was_enterprise_controlled =
|
||||
- pref_service_->GetBoolean(prefs::kDSEWasDisabledByPolicy);
|
||||
+ // If we get to here, the DSE is not disabled by enterprise policy.
|
||||
+ // If this line is reached then DSE is not disabled by enterprise policy.
|
||||
pref_service_->ClearPref(prefs::kDSEWasDisabledByPolicy);
|
||||
|
||||
// Initialize the pref for geolocation if it hasn't been initialized yet.
|
||||
@@ -381,10 +377,8 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
@@ -370,10 +366,8 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
pref_service_->ClearPref(prefs::kDSEGeolocationSettingDeprecated);
|
||||
} else if (dse_geolocation_setting == CONTENT_SETTING_ASK) {
|
||||
// If the user hasn't explicitly allowed or blocked geolocation for the
|
||||
@@ -32,17 +41,17 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
|
||||
- dse_geolocation_setting = was_enterprise_controlled
|
||||
- ? CONTENT_SETTING_BLOCK
|
||||
- : CONTENT_SETTING_ALLOW;
|
||||
+ // DSE, initialize it to disallowed.
|
||||
+ // DSE, initialize it to blocked.
|
||||
+ dse_geolocation_setting = CONTENT_SETTING_BLOCK;
|
||||
}
|
||||
|
||||
// Update the content setting with the auto-grants for the DSE.
|
||||
@@ -410,11 +404,9 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
@@ -398,11 +392,9 @@ void SearchPermissionsService::InitializeSettingsIfNeeded() {
|
||||
GetContentSetting(dse_origin, CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
|
||||
ContentSetting dse_notifications_setting = notifications_setting_to_restore;
|
||||
// If the user hasn't explicitly allowed or blocked notifications for the
|
||||
- // DSE, initialize it to allowed.
|
||||
+ // DSE, initialize it to disallowed.
|
||||
+ // DSE, initialize it to blocked.
|
||||
if (dse_notifications_setting == CONTENT_SETTING_ASK) {
|
||||
- dse_notifications_setting = was_enterprise_controlled
|
||||
- ? CONTENT_SETTING_BLOCK
|
||||
@@ -54,15 +63,15 @@ diff --git a/chrome/browser/android/search_permissions/search_permissions_servic
|
||||
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
--- a/chrome/common/chrome_features.cc
|
||||
+++ b/chrome/common/chrome_features.cc
|
||||
@@ -322,7 +322,7 @@ const base::Feature kGoogleBrandedContextMenu{
|
||||
|
||||
@@ -288,7 +288,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
|
||||
#if defined(OS_ANDROID)
|
||||
const base::Feature kGrantNotificationsToDSE{"GrantNotificationsToDSE",
|
||||
// Enable changing default downloads storage location on Android.
|
||||
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
#endif // defined(OS_ANDROID)
|
||||
#endif
|
||||
|
||||
#if defined(OS_CHROMEOS)
|
||||
// If enabled, Drive will use FCM for its invalidations.
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@ 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 | 71 +++++++---------------
|
||||
1 file changed, 21 insertions(+), 50 deletions(-)
|
||||
.../download/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
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
|
||||
@@ -31,9 +31,6 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
@@ -32,9 +32,6 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
private PropertyModel mDialogModel;
|
||||
private DownloadLocationCustomView mCustomView;
|
||||
private ModalDialogManager mModalDialogManager;
|
||||
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
private Context mContext;
|
||||
|
||||
private DownloadLocationDialogBridge(long nativeDownloadLocationDialogBridge) {
|
||||
@@ -66,12 +63,28 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
@@ -67,12 +64,28 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
|
||||
mModalDialogManager = activity.getModalDialogManager();
|
||||
mContext = activity;
|
||||
@@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,48 +117,6 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
@@ -105,50 +118,6 @@ public class DownloadLocationDialogBridge implements ModalDialogProperties.Contr
|
||||
mCustomView = null;
|
||||
}
|
||||
|
||||
@@ -74,7 +74,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
|
||||
- assert(!TextUtils.isEmpty(dir.location));
|
||||
- PrefServiceBridge.getInstance().setDownloadAndSaveFileDefaultDirectory(
|
||||
- dir.location);
|
||||
- nativeOnComplete(mNativeDownloadLocationDialogBridge, mSuggestedPath);
|
||||
- DownloadLocationDialogBridgeJni.get().onComplete(
|
||||
- mNativeDownloadLocationDialogBridge, DownloadLocationDialogBridge.this,
|
||||
- mSuggestedPath);
|
||||
- }
|
||||
- return;
|
||||
- }
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 27 Jul 2019 11:19:53 +0200
|
||||
Subject: Do not record UMA for network errors
|
||||
|
||||
---
|
||||
services/network/network_context.cc | 17 -----------------
|
||||
1 file changed, 17 deletions(-)
|
||||
|
||||
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
|
||||
--- a/services/network/network_context.cc
|
||||
+++ b/services/network/network_context.cc
|
||||
@@ -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,9 +9,9 @@ Subject: Do not store passwords by default
|
||||
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
||||
--- a/components/password_manager/core/browser/password_manager.cc
|
||||
+++ b/components/password_manager/core/browser/password_manager.cc
|
||||
@@ -333,10 +333,10 @@ void RecordParsingOnSavingDifference(
|
||||
void PasswordManager::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -202,10 +202,10 @@ void PasswordManager::RegisterProfilePrefs(
|
||||
registry->RegisterBooleanPref(prefs::kBlacklistedCredentialsNormalized,
|
||||
false);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kCredentialsEnableService, true,
|
||||
+ prefs::kCredentialsEnableService, false,
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 30 May 2019 03:42:06 +0200
|
||||
Subject: Enable changing default downloads storage location by default
|
||||
|
||||
---
|
||||
chrome/common/chrome_features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -288,7 +288,7 @@ const base::FeatureParam<std::string> kDnsOverHttpsTemplatesParam{
|
||||
#if defined(OS_ANDROID)
|
||||
// Enable changing default downloads storage location on Android.
|
||||
const base::Feature kDownloadsLocationChange{"DownloadsLocationChange",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
#endif
|
||||
|
||||
// If enabled, Drive will use FCM for its invalidations.
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 30 May 2019 03:44:07 +0200
|
||||
Subject: Enable download rename option by default
|
||||
|
||||
---
|
||||
chrome/browser/android/chrome_feature_list.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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{
|
||||
"DownloadNotificationBadge", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDownloadRename{"DownloadRename",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kDownloadTabManagementModule{
|
||||
"DownloadTabManagementModule", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -42,7 +42,7 @@ Excerpt from https://github.com/bromite/bromite/issues/226
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -272,6 +272,10 @@ config("compiler") {
|
||||
@@ -282,6 +282,10 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
+
|
||||
# Linker warnings.
|
||||
if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
|
||||
!(is_android && use_order_profiling) && !is_mac && !is_ios &&
|
||||
!is_mac && !is_ios && current_os != "aix") {
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 2 Nov 2018 14:06:17 +0100
|
||||
Subject: Enable history requirement of user gesture
|
||||
|
||||
Set #enable-history-entry-requires-user-gesture to enabled by default
|
||||
---
|
||||
chrome/browser/about_flags.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -1199,7 +1199,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-history-entry-requires-user-gesture",
|
||||
flag_descriptions::kHistoryRequiresUserGestureName,
|
||||
flag_descriptions::kHistoryRequiresUserGestureDescription, kOsAll,
|
||||
- SINGLE_VALUE_TYPE(switches::kHistoryEntryRequiresUserGesture)},
|
||||
+ SINGLE_DISABLE_VALUE_TYPE(switches::kHistoryEntryRequiresUserGesture)},
|
||||
{"enable-history-manipulation-intervention",
|
||||
flag_descriptions::kHistoryManipulationIntervention,
|
||||
flag_descriptions::kHistoryManipulationInterventionDescription, kOsAll,
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 14 Apr 2019 12:02:57 +0200
|
||||
Subject: Enable night mode menu entry by default
|
||||
|
||||
---
|
||||
chrome/browser/android/chrome_feature_list.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -246,7 +246,7 @@ const base::Feature kAdjustWebApkInstallationSpace = {
|
||||
"AdjustWebApkInstallationSpace", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kAndroidNightMode{"AndroidNightMode",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kAndroidNightModeCCT{"AndroidNightModeCCT",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Fri, 15 Mar 2019 10:05:14 +0100
|
||||
Subject: Enable secure DNS mode by default in DnsTransaction.
|
||||
|
||||
---
|
||||
net/dns/host_resolver_impl.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
|
||||
--- a/net/dns/host_resolver_impl.cc
|
||||
+++ b/net/dns/host_resolver_impl.cc
|
||||
@@ -984,7 +984,7 @@ class HostResolverImpl::DnsTask : public base::SupportsWeakPtr<DnsTask> {
|
||||
base::BindOnce(&DnsTask::OnTransactionComplete,
|
||||
base::Unretained(this), tick_clock_->NowTicks(),
|
||||
dns_query_type),
|
||||
- net_log_, SecureDnsMode::AUTOMATIC);
|
||||
+ net_log_, SecureDnsMode::SECURE);
|
||||
trans->SetRequestContext(delegate_->url_request_context());
|
||||
trans->SetRequestPriority(delegate_->priority());
|
||||
return trans;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
+2
-2
@@ -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
|
||||
@@ -552,11 +552,7 @@ const base::Feature kShowTrustedPublisherURL{"ShowTrustedPublisherURL",
|
||||
@@ -617,11 +617,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
|
||||
@@ -578,7 +574,7 @@ const base::Feature kSiteIsolationForPasswordSites{
|
||||
@@ -643,7 +639,7 @@ const base::Feature kSiteIsolationForPasswordSites{
|
||||
// base::SysInfo::AmountOfPhysicalMemoryMB().
|
||||
const base::Feature kSitePerProcessOnlyForHighMemoryClients{
|
||||
"site-per-process-only-for-high-memory-clients",
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Fix crash when accessing page info / site settings
|
||||
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
|
||||
--- a/chrome/browser/permissions/permission_manager.cc
|
||||
+++ b/chrome/browser/permissions/permission_manager.cc
|
||||
@@ -695,6 +695,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
|
||||
@@ -761,6 +761,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
|
||||
if (status != CONTENT_SETTING_DEFAULT)
|
||||
return PermissionResult(status, PermissionStatusSource::UNSPECIFIED);
|
||||
PermissionContextBase* context = GetPermissionContext(permission);
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Hide passwords manager link
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/password/SavePasswordsPreferences.java
|
||||
@@ -249,7 +249,7 @@ public class SavePasswordsPreferences
|
||||
@@ -251,7 +251,7 @@ public class SavePasswordsPreferences
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pas
|
||||
|
||||
PreferenceGroup passwordParent;
|
||||
if (mSearchQuery == null) {
|
||||
@@ -324,7 +324,7 @@ public class SavePasswordsPreferences
|
||||
@@ -326,7 +326,7 @@ public class SavePasswordsPreferences
|
||||
return;
|
||||
}
|
||||
|
||||
- displayManageAccountLink();
|
||||
+ //displayManageAccountLink();
|
||||
|
||||
PreferenceCategory profileCategory = new PreferenceCategory(getActivity());
|
||||
PreferenceCategory profileCategory = new PreferenceCategory(getStyledContext());
|
||||
profileCategory.setKey(PREF_KEY_CATEGORY_EXCEPTIONS);
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -8,19 +8,19 @@ allow playing videos in background (original Javascript code by timdream)
|
||||
Send a random key press to circumvent idle status detection
|
||||
---
|
||||
third_party/blink/renderer/core/dom/BUILD.gn | 2 ++
|
||||
third_party/blink/renderer/core/dom/document.cc | 32 +++++++++++++++++++++-
|
||||
.../renderer/core/dom/extensions/anti_amp_cure.h | 6 ++++
|
||||
.../renderer/core/dom/extensions/video_bg_play.h | 6 ++++
|
||||
third_party/blink/renderer/core/dom/document.cc | 31 +++++++++++++++++++++-
|
||||
.../renderer/core/dom/extensions/anti_amp_cure.h | 6 +++++
|
||||
.../renderer/core/dom/extensions/video_bg_play.h | 6 +++++
|
||||
.../renderer/core/html/html_script_element.cc | 5 ++++
|
||||
.../blink/renderer/core/html/html_script_element.h | 1 +
|
||||
6 files changed, 51 insertions(+), 1 deletion(-)
|
||||
6 files changed, 50 insertions(+), 1 deletion(-)
|
||||
create mode 100644 third_party/blink/renderer/core/dom/extensions/anti_amp_cure.h
|
||||
create mode 100644 third_party/blink/renderer/core/dom/extensions/video_bg_play.h
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
--- a/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/core/dom/BUILD.gn
|
||||
@@ -144,6 +144,8 @@ blink_core_sources("dom") {
|
||||
@@ -146,6 +146,8 @@ blink_core_sources("dom") {
|
||||
"global_event_handlers.h",
|
||||
"icon_url.cc",
|
||||
"icon_url.h",
|
||||
@@ -32,24 +32,24 @@ diff --git a/third_party/blink/renderer/core/dom/BUILD.gn b/third_party/blink/re
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
|
||||
--- a/third_party/blink/renderer/core/dom/document.cc
|
||||
+++ b/third_party/blink/renderer/core/dom/document.cc
|
||||
@@ -241,6 +241,7 @@
|
||||
@@ -254,6 +254,7 @@
|
||||
#include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
|
||||
+#include "extensions/video_bg_play.h"
|
||||
#include "third_party/blink/renderer/core/paint/compositing/paint_layer_compositor.h"
|
||||
#include "third_party/blink/renderer/core/paint/first_meaningful_paint_detector.h"
|
||||
#include "third_party/blink/renderer/core/paint/paint_layer.h"
|
||||
@@ -300,6 +301,8 @@
|
||||
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
|
||||
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
|
||||
@@ -319,6 +320,8 @@
|
||||
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/time.h"
|
||||
|
||||
+#include "extensions/anti_amp_cure.h"
|
||||
+
|
||||
#ifndef NDEBUG
|
||||
using WeakDocumentSet = blink::HeapHashSet<blink::WeakMember<blink::Document>>;
|
||||
static WeakDocumentSet& liveDocumentSet();
|
||||
@@ -6224,8 +6227,35 @@ void Document::FinishedParsing() {
|
||||
@@ -6688,8 +6691,34 @@ void Document::FinishedParsing() {
|
||||
// Parser should have picked up all preloads by now
|
||||
fetcher_->ClearPreloads(ResourceFetcher::kClearSpeculativeMarkupPreloads);
|
||||
|
||||
@@ -64,13 +64,12 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
+ if ((host == nullptr) || host.IsEmpty())
|
||||
+ return;
|
||||
+
|
||||
+ LOG(INFO) << "checking URL host for possible injections: " << host;
|
||||
+ auto* bodyElement = body();
|
||||
+ if (bodyElement) {
|
||||
+ size_t pos1 = host.Find("www.google."), pos2 = host.Find("news.google.");
|
||||
+ if ((pos1 == 0) || (pos2 == 0)) {
|
||||
+ size_t pos1 = host.Find("www.google."), pos2 = host.Find("news.google."), pos3 = url_.GetPath().Find("/search");
|
||||
+ if (((pos1 == 0) && (pos3 == 0)) || (pos2 == 0)) {
|
||||
+ LOG(INFO) << "injecting anti-AMP-cure Javascript payload, URL: " << url_.GetString();
|
||||
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
|
||||
+ HTMLScriptElement* e = MakeGarbageCollected<HTMLScriptElement>(*this, CreateElementFlags());
|
||||
+ e->setTextDirect(ANTI_AMP_CURE_JS);
|
||||
+ bodyElement->AppendChild(e);
|
||||
+ }
|
||||
@@ -78,7 +77,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
+ // check for eligibility of the video bg fix
|
||||
+ if ((WTF::kNotFound != host.Find("youtube.com")) || (WTF::kNotFound != host.Find("vimeo.com"))) {
|
||||
+ LOG(INFO) << "injecting video-bg-play Javascript payload, URL: " << url_.GetString();
|
||||
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
|
||||
+ HTMLScriptElement* e = MakeGarbageCollected<HTMLScriptElement>(*this, CreateElementFlags());
|
||||
+ e->setTextDirect(VIDEO_BG_PLAY_JS);
|
||||
+ bodyElement->AppendChild(e);
|
||||
+ }
|
||||
@@ -111,7 +110,7 @@ new file mode 100644
|
||||
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
--- a/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
|
||||
@@ -154,6 +154,11 @@ void HTMLScriptElement::setTextContent(
|
||||
@@ -149,6 +149,11 @@ void HTMLScriptElement::setTextContent(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,14 +125,14 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third
|
||||
diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_party/blink/renderer/core/html/html_script_element.h
|
||||
--- a/third_party/blink/renderer/core/html/html_script_element.h
|
||||
+++ b/third_party/blink/renderer/core/html/html_script_element.h
|
||||
@@ -53,6 +53,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
|
||||
@@ -51,6 +51,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
|
||||
void setText(const StringOrTrustedScript&, ExceptionState&);
|
||||
void setInnerText(const StringOrTrustedScript&, ExceptionState&) override;
|
||||
void setTextContent(const StringOrTrustedScript&, ExceptionState&) override;
|
||||
+ void setTextDirect(const char*);
|
||||
|
||||
KURL Src() const;
|
||||
|
||||
void setAsync(bool);
|
||||
bool async() const;
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 12 Oct 2017 08:09:24 +0200
|
||||
Subject: Modify default preferences
|
||||
|
||||
Do not hide component extensions
|
||||
---
|
||||
chrome/browser/background/background_mode_manager.cc | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
||||
@@ -9,22 +10,21 @@ Subject: Modify default preferences
|
||||
chrome/browser/net/prediction_options.h | 2 +-
|
||||
chrome/browser/profiles/profile.cc | 2 +-
|
||||
.../settings/reset_page/reset_profile_dialog.html | 2 +-
|
||||
chrome/browser/signin/signin_promo.cc | 2 +-
|
||||
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
|
||||
chrome/browser/ui/navigation_correction_tab_observer.cc | 2 +-
|
||||
.../browser/ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
|
||||
chrome/service/cloud_print/connector_settings.cc | 2 +-
|
||||
components/autofill/core/browser/autofill_manager.cc | 14 ++++----------
|
||||
components/autofill/core/common/autofill_prefs.cc | 6 +++---
|
||||
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 --------
|
||||
16 files changed, 22 insertions(+), 40 deletions(-)
|
||||
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
|
||||
@@ -352,7 +352,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
@@ -301,7 +301,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
|
||||
@@ -1121,7 +1121,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
@@ -1149,7 +1149,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
|
||||
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
|
||||
--- a/chrome/browser/net/prediction_options.cc
|
||||
+++ b/chrome/browser/net/prediction_options.cc
|
||||
@@ -32,7 +32,7 @@ NetworkPredictionStatus CanPrefetchAndPrerender(
|
||||
@@ -31,7 +31,7 @@ NetworkPredictionStatus CanPrefetchAndPrerender(
|
||||
}
|
||||
return NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK;
|
||||
default:
|
||||
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/predi
|
||||
diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/prediction_options.h
|
||||
--- a/chrome/browser/net/prediction_options.h
|
||||
+++ b/chrome/browser/net/prediction_options.h
|
||||
@@ -23,7 +23,7 @@ enum NetworkPredictionOptions {
|
||||
@@ -22,7 +22,7 @@ enum NetworkPredictionOptions {
|
||||
NETWORK_PREDICTION_ALWAYS,
|
||||
NETWORK_PREDICTION_WIFI_ONLY,
|
||||
NETWORK_PREDICTION_NEVER,
|
||||
@@ -72,7 +72,7 @@ diff --git a/chrome/browser/net/prediction_options.h b/chrome/browser/net/predic
|
||||
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
|
||||
--- a/chrome/browser/profiles/profile.cc
|
||||
+++ b/chrome/browser/profiles/profile.cc
|
||||
@@ -139,7 +139,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
|
||||
@@ -140,7 +140,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
|
||||
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kSearchSuggestEnabled,
|
||||
@@ -84,8 +84,8 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
|
||||
diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
|
||||
--- a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
|
||||
+++ b/chrome/browser/resources/settings/reset_page/reset_profile_dialog.html
|
||||
@@ -52,7 +52,7 @@
|
||||
</paper-button>
|
||||
@@ -50,7 +50,7 @@
|
||||
</cr-button>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
- <cr-checkbox id="sendSettings" checked>
|
||||
@@ -93,22 +93,10 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
|
||||
$i18nRaw{resetPageFeedback}</cr-checkbox>
|
||||
</div>
|
||||
</cr-dialog>
|
||||
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
|
||||
--- a/chrome/browser/signin/signin_promo.cc
|
||||
+++ b/chrome/browser/signin/signin_promo.cc
|
||||
@@ -172,7 +172,7 @@ bool IsAutoCloseEnabledInEmbeddedURL(const GURL& url) {
|
||||
|
||||
void RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
- registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, false);
|
||||
registry->RegisterBooleanPref(prefs::kSignInPromoShowNTPBubble, false);
|
||||
registry->RegisterIntegerPref(prefs::kDiceSigninUserMenuPromoCount, 0);
|
||||
}
|
||||
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
--- a/chrome/browser/ui/browser_ui_prefs.cc
|
||||
+++ b/chrome/browser/ui/browser_ui_prefs.cc
|
||||
@@ -68,11 +68,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -66,11 +66,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
|
||||
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
|
||||
registry->RegisterBooleanPref(
|
||||
@@ -125,19 +113,19 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
|
||||
diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
--- a/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
+++ b/chrome/browser/ui/navigation_correction_tab_observer.cc
|
||||
@@ -57,7 +57,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {
|
||||
@@ -42,7 +42,7 @@ NavigationCorrectionTabObserver::~NavigationCorrectionTabObserver() {}
|
||||
// static
|
||||
void NavigationCorrectionTabObserver::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* prefs) {
|
||||
prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled,
|
||||
- true,
|
||||
+ false,
|
||||
- prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled, true,
|
||||
+ prefs->RegisterBooleanPref(prefs::kAlternateErrorPagesEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
|
||||
--- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
|
||||
@@ -127,10 +127,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
|
||||
@@ -107,10 +107,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kLocalDiscoveryNotificationsEnabled,
|
||||
@@ -163,7 +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
|
||||
@@ -359,10 +359,7 @@ bool AutofillManager::ShouldParseForms(const std::vector<FormData>& forms,
|
||||
@@ -516,10 +516,7 @@ bool AutofillManager::ShouldParseForms(const std::vector<FormData>& forms,
|
||||
bool enabled = IsAutofillEnabled();
|
||||
sync_state_ = personal_data_ ? personal_data_->GetSyncSigninState()
|
||||
: AutofillSyncSigninState::kNumSyncStates;
|
||||
@@ -175,7 +163,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
|
||||
|
||||
return enabled;
|
||||
}
|
||||
@@ -625,10 +622,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
|
||||
@@ -803,10 +800,7 @@ void AutofillManager::OnQueryFormFieldAutofillImpl(
|
||||
// suggestions available.
|
||||
// TODO(mathp): Differentiate between number of suggestions available
|
||||
// (current metric) and number shown to the user.
|
||||
@@ -187,7 +175,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1234,8 +1228,8 @@ void AutofillManager::Reset() {
|
||||
@@ -1427,8 +1421,8 @@ void AutofillManager::Reset() {
|
||||
#if defined(OS_ANDROID) || defined(OS_IOS)
|
||||
autofill_assistant_.Reset();
|
||||
#endif
|
||||
@@ -201,20 +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
|
||||
@@ -137,10 +137,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
prefs::kAutofillBillingCustomerNumber, 0.0,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kAutofillEnabledDeprecated, true,
|
||||
+ prefs::kAutofillEnabledDeprecated, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kAutofillProfileEnabled, true,
|
||||
+ prefs::kAutofillProfileEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kAutofillLastVersionDeduped, 0,
|
||||
@@ -153,7 +153,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -150,7 +150,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(
|
||||
@@ -226,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
|
||||
@@ -440,12 +440,12 @@ void GetBookmarksMatchingProperties(BookmarkModel* model,
|
||||
@@ -443,12 +443,12 @@ bool DoesBookmarkContainWords(const base::string16& title,
|
||||
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kShowBookmarkBar,
|
||||
@@ -244,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
|
||||
@@ -149,9 +149,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
@@ -167,9 +167,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
|
||||
registry->RegisterBooleanPref(
|
||||
@@ -259,7 +234,7 @@ diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components
|
||||
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
|
||||
--- a/extensions/common/extension.cc
|
||||
+++ b/extensions/common/extension.cc
|
||||
@@ -367,14 +367,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
@@ -365,14 +365,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
|
||||
if (is_theme())
|
||||
return false;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Never fetch popular sites
|
||||
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
|
||||
--- a/components/ntp_tiles/popular_sites_impl.cc
|
||||
+++ b/components/ntp_tiles/popular_sites_impl.cc
|
||||
@@ -287,6 +287,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
|
||||
@@ -283,6 +283,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
|
||||
DCHECK(!callback_);
|
||||
callback_ = callback;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Never send any crash upload data
|
||||
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
|
||||
--- a/chrome/browser/tracing/crash_service_uploader.cc
|
||||
+++ b/chrome/browser/tracing/crash_service_uploader.cc
|
||||
@@ -127,6 +127,9 @@ void TraceCrashServiceUploader::DoUpload(
|
||||
@@ -125,6 +125,9 @@ void TraceCrashServiceUploader::DoUpload(
|
||||
std::unique_ptr<const base::DictionaryValue> metadata,
|
||||
const UploadProgressCallback& progress_callback,
|
||||
UploadDoneCallback done_callback) {
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags
|
||||
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
|
||||
@@ -234,6 +234,8 @@ std::vector<base::string16>
|
||||
@@ -255,6 +255,8 @@ std::vector<base::string16>
|
||||
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
std::vector<base::string16> builtins_to_provide;
|
||||
builtins_to_provide.push_back(
|
||||
|
||||
@@ -9,10 +9,10 @@ Subject: Open YouTube links in Bromite
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
|
||||
@@ -400,6 +400,13 @@ public class ExternalNavigationHandler {
|
||||
return OverrideUrlLoadingResult.NO_OVERRIDE;
|
||||
@@ -402,6 +402,13 @@ public class ExternalNavigationHandler {
|
||||
}
|
||||
|
||||
// TODO(changwan): check if we need to handle URL even when external intent is off.
|
||||
+ // Force to open YouTube urls in Bromite
|
||||
+ String intentPackageName = intent.getPackage();
|
||||
+ if (intentPackageName != null && intentPackageName.equals("com.google.android.youtube")) {
|
||||
@@ -20,9 +20,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
|
||||
+ return OverrideUrlLoadingResult.NO_OVERRIDE;
|
||||
+ }
|
||||
+
|
||||
// Sanitize the Intent, ensuring web pages can not bypass browser
|
||||
// security (only access to BROWSABLE activities).
|
||||
intent.addCategory(Intent.CATEGORY_BROWSABLE);
|
||||
if (CommandLine.getInstance().hasSwitch(
|
||||
ChromeSwitches.DISABLE_EXTERNAL_INTENT_REQUESTS)) {
|
||||
Log.w(TAG, "External intent handling is disabled by a command-line flag.");
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Originally from http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromi
|
||||
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
|
||||
--- a/chrome/common/chrome_content_client.cc
|
||||
+++ b/chrome/common/chrome_content_client.cc
|
||||
@@ -521,7 +521,7 @@ void ChromeContentClient::AddContentDecryptionModules(
|
||||
@@ -517,7 +517,7 @@ void ChromeContentClient::AddContentDecryptionModules(
|
||||
base::FilePath cdm_path;
|
||||
content::CdmCapability capability;
|
||||
if (IsWidevineAvailable(&cdm_path, &capability)) {
|
||||
|
||||
@@ -1,226 +0,0 @@
|
||||
From: Serg <serg.zhukovsky@gmail.com>
|
||||
Date: Wed, 22 Mar 2017 19:10:30 -0400
|
||||
Subject: Remove Sync and Translate menu
|
||||
|
||||
---
|
||||
.../java/res/drawable-hdpi/settings_translate.png | Bin 399 -> 0 bytes
|
||||
.../java/res/drawable-mdpi/settings_translate.png | Bin 284 -> 0 bytes
|
||||
.../java/res/drawable-xhdpi/settings_translate.png | Bin 547 -> 0 bytes
|
||||
.../res/drawable-xxhdpi/settings_translate.png | Bin 793 -> 0 bytes
|
||||
.../res/drawable-xxxhdpi/settings_translate.png | Bin 1038 -> 0 bytes
|
||||
.../java/res/xml/site_settings_preferences.xml | 8 ++++----
|
||||
.../website/SiteSettingsPreferences.java | 22 ++-------------------
|
||||
7 files changed, 6 insertions(+), 24 deletions(-)
|
||||
delete mode 100644 chrome/android/java/res/drawable-hdpi/settings_translate.png
|
||||
delete mode 100644 chrome/android/java/res/drawable-mdpi/settings_translate.png
|
||||
delete mode 100644 chrome/android/java/res/drawable-xhdpi/settings_translate.png
|
||||
delete mode 100644 chrome/android/java/res/drawable-xxhdpi/settings_translate.png
|
||||
delete mode 100644 chrome/android/java/res/drawable-xxxhdpi/settings_translate.png
|
||||
|
||||
diff --git a/chrome/android/java/res/drawable-hdpi/settings_translate.png b/chrome/android/java/res/drawable-hdpi/settings_translate.png
|
||||
deleted file mode 100644
|
||||
index 8067680e81c6ffa1a003c579411173827a3a9f96..0000000000000000000000000000000000000000
|
||||
GIT binary patch
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
literal 399
|
||||
zcmV;A0dW3_P)<h;3K|Lk000e1NJLTq001Na001Ni1ONa4O9@aD00042Nkl<ZcwWuc
|
||||
zJxjwt0LJme7er{c_yr2Oml}2V3s~G9aP6!}z(tU5et?4AT-<~%x+sFhO}e^tsU(Y=
|
||||
z0hgddd^pNsLc+Z{l>hP^9KR_C@$!FaVIla45F@WCMg$)o)DW3mQKSdON+{NY%D^rw
|
||||
zQ6|u}ti|NX7$R7iF@)z*9c+qa0?AUm<7d7%a4MD+^aKw>u^zc5))3o43mLu<Vh_0s
|
||||
z^onI1i*NbG31VmP*$I~u^o9@~3%Mjy{|2j}Ph4OPO<b`i*Ms^ERzc?^JnUm8&>5G;
|
||||
z8!SRo0o`C5w_HXQp+hq2?!?{u8c0%8C3Jue>()aulqxVESiz93aydblXyA)AxSXIZ
|
||||
z^u+3MIY49igeSZ=wug@XJ`tWQp%m)~(480Xl-fZ9?!ILEyg9Ig+E_v&p@gTlA*4tf
|
||||
tij`2N2SrL~qywpbE;5V|EcpMCd%u4DGPZTzo=E@z002ovPDHLkV1m$asKNjM
|
||||
|
||||
diff --git a/chrome/android/java/res/drawable-mdpi/settings_translate.png b/chrome/android/java/res/drawable-mdpi/settings_translate.png
|
||||
deleted file mode 100644
|
||||
index 3b9b4cd482d36a60d4ff0a110b0bcefabe4c1060..0000000000000000000000000000000000000000
|
||||
GIT binary patch
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
literal 284
|
||||
zcmV+%0ptFOP)<h;3K|Lk000e1NJLTq000;O000;W1ONa4N`Cco0002vNkl<ZcwV*C
|
||||
zy$-=p90hPI21^H{kVr7~0h$;*gq(zkcms==tbG8pC$M2)sTe$f#Kz1feE^(W(wipt
|
||||
z>YqeTIHw=KscAEhFY_CKhZ7#j@Qh~#`t~HT1AWt&iOFYBic(;rl@5Y9UG&&#fH`9r
|
||||
zbqhPT0Nhc-8hg~aB!JnVj0zT9La;<0Ijq#SJr@m*036I22Uj!E;6TtuAD4*o-y97Z
|
||||
ziWuYbs-FagXn-mvsLH_>O?Hzl1RVtIfGq+yWZ%bGZULC0h?xp|DgiD=uf=xl!2Uvo
|
||||
icHkLEh=B&e`~;qlBW{m=6s{@&0000<MNUMnLSTX)y>C|l
|
||||
|
||||
diff --git a/chrome/android/java/res/drawable-xhdpi/settings_translate.png b/chrome/android/java/res/drawable-xhdpi/settings_translate.png
|
||||
deleted file mode 100644
|
||||
index 131a57394ca30dcff4bebcb2471bbbf0e1ac134e..0000000000000000000000000000000000000000
|
||||
GIT binary patch
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
literal 547
|
||||
zcmV+;0^I$HP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0005%Nkl<ZcwX(-
|
||||
zziU%b9ER~X&>vK2=pT?4!CJ8B5V|`lSO?MdsRak2|3E2<Ew~ov3nC6K4yBGdHyIT=
|
||||
z*iKQTa&gEaRP2_R<9E1(_FiJ{F<-%<Je=X3K5*}FI12x`^1wNOsFIKphLn;}MY&1<
|
||||
zRa%6SwW!7e2_d2+9!QG-C&)S}0;KUkhyudj0~b#<hpahU{YD2gq>+I}uBO%C0%8~2
|
||||
zqX2{ZjJTXFC*U;?c-ddi5s!R<4~S{LXX_djTCRX~3-JV7yh7Y2cms!wTkrY83}bwB
|
||||
z2dpi`B^D8n3HSqaSVYzpI`{+pWDRAl*>VMX>`+5Y@YI?>wsz=YK)L(kPe6xV>d0E+
|
||||
zF#Fw0h$>%W?u)^|9b`@O%&0zU>qXpsF&Oy9RW@l8a&@DCv<Q46cvb|~;{k3U>t;Ei
|
||||
z!kb9ohzhbQ9F+l#U_I(XZ6fPFVyg@=tm03vA!hhtr^YXT;4QKq66}a~{=i*iH3)XZ
|
||||
zJ#V1R7-E(l!Okq>w0(hXWNl<?1F`K3EFkM3TL*{*PoRnN1<~{aRuPk2Kh<Oqt6sn{
|
||||
zQ;3x_<Vp}z9QyzXvi8mZd)X7f1*jwDbN5@1`5@{JK-uDfGz#d(14$IH9}C1i5_>Gi
|
||||
l0_C5%UG`c2pI-Xsz;EN&!BMZ3jZy#r002ovPDHLkV1l>+@2da+
|
||||
|
||||
diff --git a/chrome/android/java/res/drawable-xxhdpi/settings_translate.png b/chrome/android/java/res/drawable-xxhdpi/settings_translate.png
|
||||
deleted file mode 100644
|
||||
index 55878e697b1afed1b4f039a561dc6212e24fc024..0000000000000000000000000000000000000000
|
||||
GIT binary patch
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
literal 793
|
||||
zcmV+!1LpjRP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0008uNkl<ZcwX(=
|
||||
z%}Z2a6vy!qU&7QD6$CjgbzuaFrMYX-gy1F-TYN#>*(&T0P^f5;ixxw==!FDzQOmLj
|
||||
zW)TU|$~Iz9Aez>~5MeSGNzOdU;V@i=JI&0U$NLB~{9rb}%fp9z&%hk!M$92gIe;pl
|
||||
z3Wyj9l9(csBteWw5h(;j9dXi_fJqal&Mqj9DKT-2AY!CT2BnGF10^sPlCTEKJIX71
|
||||
z)JmT5wgxg*K&DJUmwnQupf11mfI$K*D&+>^c2@3W<t}H1aS^@Zph5Z5CZJigaScjR
|
||||
zMTBa$!Uuig{eHe=HE-q67$$tsm>kf|A8$jyfS$PkZE!?L6P{+3Y9btC#|6l6Q$SJA
|
||||
zJsJ|?2*wTQCyfHQr_G#j>iOXcWOyKi8a`n7&M5)i$G8LSaX}DgSmV5K&hghJ$naGk
|
||||
zn|yMVCHFr+W;};YV_bu_81R4w*m4VcMRV41&CGcb!S=Xdpk;b9jBZ}iok8`oEP#^s
|
||||
zxZ*(HxIwJ~nwTJkA;knuN_trO9#=T%BSV6b(8Ic?TcZbSdt70l>n4JR)6DpO>*nq3
|
||||
zafN}FIj#?Cl$~5NU<H)S4chdQct;y?eqjzexj|EYm%9W-*|Z3FLPYa42uQ+JQr19S
|
||||
z8PKI*ASGG4OG`vN`5X|W4{pi=YD6F%bO`8HV30TDOK#3CCj|0{M*=#@u3OM^=^OdI
|
||||
zpGG0Qa0|L3{jfB{0*bi=tx_fZf;0;Ps$$h0XjBJU8y)O1SD-zjI?&qaU`I*00lm%)
|
||||
zv^JT+e&Yso%`?y%9qc|Apbcs~1Fg})u4N;9(71N~84n-S`d?6M*r0iB`k2m2pEmR1
|
||||
zf(Er&%x+lJW-v@pl6q-6F+S;(uAXFgph;~W`+^>8I~g9RU77~AeL>qaNZ%d;C_u^s
|
||||
zlss&pgcZ=5Jy6WbGCgY#WaDr39a`*x^u>dcIQ=590n!A0HN&vZEG?C{V=ABuDD3<L
|
||||
X<=DewY$H`b00000NkvXXu0mjfrJ!K8
|
||||
|
||||
diff --git a/chrome/android/java/res/drawable-xxxhdpi/settings_translate.png b/chrome/android/java/res/drawable-xxxhdpi/settings_translate.png
|
||||
deleted file mode 100644
|
||||
index 058b50b84dd216d983e9dea2ea264b39773ac318..0000000000000000000000000000000000000000
|
||||
GIT binary patch
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
literal 1038
|
||||
zcmV+p1o8WcP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@000BkNkl<ZcwX(>
|
||||
zK}Zx)90u@NR77ZDqzI8+I%LtIBq1>CB9(`rB#V~#N{sTXQQ#UFR4mj+L_yL)FVdw5
|
||||
zWziyt2t7o(5K@$fpoFMU*4D8)xU9Pq43Ec~9k(6b`LAza_%8CfJov%x+j;ZfQFNEb
|
||||
z12`KG-~l{<2LKCHgb{}Zy~t>YBMcRaBe4w#ApzaNBoHbkpa(iZdP)TdK_^P66aW<o
|
||||
zGC%?<Js=F7FkyN?+%{m2FFR)&5T^%dqyUW`ppydhRRcUgbKdOZfPML2wf+F5xOe~$
|
||||
za5X2_a&lcrfC1Ws*OwkpL^d<PXBoFq``hX^=<WnOVSo$r0_HGoWCB?$0G$l*T3*0U
|
||||
zRIr6&7Qk=#4L}fCncqTZ7+{YDaF5Y0%Y7~MjxY7x)Mrs=v_5>56u{HU0Q*gCKWkg%
|
||||
zzZ!iHpXGBfgAJ^klo-HsmH{^5htXtkfHkMxaUPh*CPp}jjBvX|#jNB2o*};A4dL$x
|
||||
zZaR^jWPl1(GQd%H9Vr*E#k6n`zua~vj+y|s+;yl=;Uat{fDf0DatmMzyH{Mi0aNk=
|
||||
z7SV+=VZjqPArQ*Yg+(*KsriBvfHVeB1BIss!$v=x(+(m{a9cQ39AFtk*a}5R2a=qY
|
||||
zM2G2rH)-YzYX!{XHtL`Vsl}LuIEGp%Af7L*1<;Mkoc-n;k}EEs#5wq==L@R`yh6DE
|
||||
zXe@BOIf?tU^9B0=>sf0D9wH09K(eHO_}X@%^EiwcGSJsOT46u}y38pI7<D_Kr9^-i
|
||||
zP=vg64xr$P1wcPDKIJ5!8q?%}`J8W;O8jyTpdd(2xC138cbx<%s3v|R?c{)Z)Ej_Z
|
||||
zjsbXDFiNzkzJbCM<!8IM&H##xEx>u<B=-&9*y*m*Er37RzyZxh(`*3z`0Eb9fWRFv
|
||||
zHG}Q|Gzy#Ng3&CnO?9su03QYHao!$h%_sQ*-2z~Qw<D~%AUhz1jU1q2iT6uT*&Xkc
|
||||
z+<->{wR6Q0;bXZ0hXla52{6vu7MTGve7a+uW@Zs&Q??m-0eu3rC-3h{ugD5mMnC|3
|
||||
zumC<VKmZvz0Z(nO@k~y@G24JP83D5>w+*PktbBkdCkD`$Cjm}~$_Loa0g=4O2nTGJ
|
||||
z4KN`LLB8h&d>4i%6LJCCIpB!UT62U0+GPT0sN#Uwe*rNLsDdUBpr7+<3XGr9!nmqm
|
||||
z9zX*J^g=I?UJhtjCjd!2fc<E02gFGMDSAMd6fjK>P)UbW5mEs8p!*B_)Bwsy8PjNj
|
||||
zLJc5zn3UxUnxN1F9DJOYCxvN5;D?e6@Sf=Q03N^tcmNOZ5BbKcjE%x^TL1t607*qo
|
||||
IM6N<$g2Gw1A^-pY
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
@@ -50,9 +50,9 @@
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
android:key="ads" />
|
||||
<!-- Background sync -->
|
||||
- <org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
+ <!-- org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
- android:key="background_sync" />
|
||||
+ android:key="background_sync" /-->
|
||||
<!-- Automatic Downloads -->
|
||||
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
@@ -77,11 +77,11 @@
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
android:key="sound" />
|
||||
<!-- Google Translate -->
|
||||
- <Preference
|
||||
+ <!-- Preference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.TranslatePreferences"
|
||||
android:key="translate"
|
||||
android:title="@string/google_translate"
|
||||
- android:icon="@drawable/settings_translate" />
|
||||
+ android:icon="@drawable/settings_translate" /-->
|
||||
<!-- Storage -->
|
||||
<!-- TODO(finnur): Move this over to the new Usage screen, once it exists. -->
|
||||
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
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
|
||||
@@ -38,7 +38,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
// are defined in the SiteSettingsCategory, additional keys
|
||||
// are listed here.
|
||||
static final String MEDIA_KEY = "media";
|
||||
- static final String TRANSLATE_KEY = "translate";
|
||||
|
||||
// Whether the Protected Content menu is available for display.
|
||||
boolean mProtectedContentMenuAvailable;
|
||||
@@ -82,11 +81,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
// The Media sub-menu only contains Protected Content and Autoplay, so remove all other
|
||||
// menus.
|
||||
for (@Type int i = 0; i < Type.NUM_ENTRIES; i++) {
|
||||
- if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA) continue;
|
||||
+ if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA || i == Type.BACKGROUND_SYNC) continue;
|
||||
getPreferenceScreen().removePreference(findPreference(i));
|
||||
}
|
||||
getPreferenceScreen().removePreference(findPreference(MEDIA_KEY));
|
||||
- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
|
||||
} else {
|
||||
// If both Autoplay and Protected Content menus are available, they'll be tucked under
|
||||
// the Media key. Otherwise, we can remove the Media menu entry.
|
||||
@@ -105,11 +103,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
|
||||
getPreferenceScreen().removePreference(findPreference(Type.CLIPBOARD));
|
||||
}
|
||||
- // The new Languages Preference *feature* is an advanced version of this translate
|
||||
- // preference. Once Languages Preference is enabled, remove this setting.
|
||||
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.LANGUAGES_PREFERENCE)) {
|
||||
- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
|
||||
- }
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.GENERIC_SENSOR_EXTRA_CLASSES)) {
|
||||
getPreferenceScreen().removePreference(findPreference(Type.SENSORS));
|
||||
}
|
||||
@@ -119,10 +112,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
private void updatePreferenceStates() {
|
||||
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
|
||||
|
||||
- // Translate preference.
|
||||
- Preference translatePref = findPreference(TRANSLATE_KEY);
|
||||
- if (translatePref != null) setTranslateStateSummary(translatePref);
|
||||
-
|
||||
// Preferences that navigate to Website Settings.
|
||||
List<Integer> websitePrefs = new ArrayList<Integer>();
|
||||
if (mMediaSubMenu) {
|
||||
@@ -139,7 +128,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
if (!mProtectedContentMenuAvailable) {
|
||||
websitePrefs.add(Type.AUTOPLAY);
|
||||
}
|
||||
- websitePrefs.add(Type.BACKGROUND_SYNC);
|
||||
+// websitePrefs.add(Type.BACKGROUND_SYNC);
|
||||
websitePrefs.add(Type.CAMERA);
|
||||
if (ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
|
||||
websitePrefs.add(Type.CLIPBOARD);
|
||||
@@ -236,11 +225,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
|
||||
preference.getTitle().toString());
|
||||
return false;
|
||||
}
|
||||
-
|
||||
- private void setTranslateStateSummary(Preference translatePref) {
|
||||
- boolean translateEnabled = PrefServiceBridge.getInstance().isTranslateEnabled();
|
||||
- translatePref.setSummary(translateEnabled
|
||||
- ? R.string.website_settings_category_ask
|
||||
- : R.string.website_settings_category_blocked);
|
||||
- }
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
From: Serg <serg.zhukovsky@gmail.com>
|
||||
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 +--
|
||||
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
|
||||
--- a/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/site_settings_preferences.xml
|
||||
@@ -49,10 +49,6 @@
|
||||
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
android:key="ads" />
|
||||
- <!-- Background sync -->
|
||||
- <org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
- android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
- android:key="background_sync" />
|
||||
<!-- Automatic Downloads -->
|
||||
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
|
||||
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
|
||||
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
|
||||
// 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++) {
|
||||
- if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA) continue;
|
||||
+ if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA || i == Type.BACKGROUND_SYNC) continue;
|
||||
getPreferenceScreen().removePreference(findPreference(i));
|
||||
}
|
||||
getPreferenceScreen().removePreference(findPreference(MEDIA_KEY));
|
||||
@@ -111,7 +111,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)) {
|
||||
websitePrefs.add(Type.BLUETOOTH_SCANNING);
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -7,7 +7,8 @@ Subject: Remove help menu item
|
||||
.../java/src/org/chromium/chrome/browser/ChromeActivity.java | 9 ---------
|
||||
.../java/src/org/chromium/chrome/browser/KeyboardShortcuts.java | 3 ---
|
||||
.../chromium/chrome/browser/customtabs/CustomTabActivity.java | 2 +-
|
||||
4 files changed, 1 insertion(+), 15 deletions(-)
|
||||
.../chrome/browser/directactions/MenuDirectActionHandler.java | 2 --
|
||||
5 files changed, 1 insertion(+), 17 deletions(-)
|
||||
|
||||
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
|
||||
@@ -24,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
|
||||
@@ -2177,15 +2177,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2076,15 +2076,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
|
||||
final Tab currentTab = getActivityTab();
|
||||
|
||||
@@ -43,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
|
||||
@@ -341,9 +341,6 @@ public class KeyboardShortcuts {
|
||||
@@ -338,9 +338,6 @@ public class KeyboardShortcuts {
|
||||
tab = activity.getActivityTab();
|
||||
if (tab != null && tab.canGoForward()) tab.goForward();
|
||||
return true;
|
||||
@@ -56,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
|
||||
@@ -878,7 +878,7 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
@@ -624,7 +624,7 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
|
||||
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
|
||||
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.
|
||||
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
|
||||
@@ -65,6 +66,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
|| id == R.id.new_incognito_tab_menu_id || id == R.id.new_tab_menu_id
|
||||
|| id == R.id.open_history_menu_id) {
|
||||
return true;
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/directactions/MenuDirectActionHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/directactions/MenuDirectActionHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/directactions/MenuDirectActionHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/directactions/MenuDirectActionHandler.java
|
||||
@@ -35,7 +35,6 @@ class MenuDirectActionHandler implements DirectActionHandler {
|
||||
map.put(ChromeDirectActionIds.RELOAD, R.id.reload_menu_id);
|
||||
map.put(ChromeDirectActionIds.BOOKMARK_THIS_PAGE, R.id.bookmark_this_page_id);
|
||||
map.put(ChromeDirectActionIds.DOWNLOADS, R.id.downloads_menu_id);
|
||||
- map.put(ChromeDirectActionIds.HELP, R.id.help_id);
|
||||
map.put(ChromeDirectActionIds.NEW_TAB, R.id.new_tab_menu_id);
|
||||
map.put(ChromeDirectActionIds.OPEN_HISTORY, R.id.open_history_menu_id);
|
||||
map.put(ChromeDirectActionIds.PREFERENCES, R.id.preferences_id);
|
||||
@@ -91,7 +90,6 @@ class MenuDirectActionHandler implements DirectActionHandler {
|
||||
}
|
||||
|
||||
availableItemIds.add(R.id.downloads_menu_id);
|
||||
- availableItemIds.add(R.id.help_id);
|
||||
availableItemIds.add(R.id.new_tab_menu_id);
|
||||
availableItemIds.add(R.id.preferences_id);
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -0,0 +1,196 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 15 May 2019 17:08:35 +0200
|
||||
Subject: Remove recent tabs signin
|
||||
|
||||
---
|
||||
.../chrome/browser/signin/SigninManager.java | 73 ++--------------------
|
||||
.../android/signin/signin_manager_android.cc | 3 +-
|
||||
2 files changed, 7 insertions(+), 69 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
||||
@@ -27,10 +27,7 @@ import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.task.PostTask;
|
||||
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
|
||||
import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler;
|
||||
-import org.chromium.components.signin.AccountIdProvider;
|
||||
import org.chromium.components.signin.AccountManagerFacade;
|
||||
-import org.chromium.components.signin.AccountTrackerService;
|
||||
-import org.chromium.components.signin.ChromeSigninController;
|
||||
import org.chromium.components.sync.AndroidSyncSettings;
|
||||
import org.chromium.content_public.browser.UiThreadTaskTraits;
|
||||
|
||||
@@ -47,7 +44,7 @@ import java.util.List;
|
||||
* <p/>
|
||||
* See chrome/browser/signin/signin_manager_android.h for more details.
|
||||
*/
|
||||
-public class SigninManager implements AccountTrackerService.OnSystemAccountsSeededListener {
|
||||
+public class SigninManager {
|
||||
private static final String TAG = "SigninManager";
|
||||
|
||||
/**
|
||||
@@ -183,7 +180,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
*/
|
||||
private long mNativeSigninManagerAndroid;
|
||||
private final Context mContext;
|
||||
- private final AccountTrackerService mAccountTrackerService;
|
||||
private final AndroidSyncSettings mAndroidSyncSettings;
|
||||
private final ObserverList<SignInStateObserver> mSignInStateObservers = new ObserverList<>();
|
||||
private final ObserverList<SignInAllowedObserver> mSignInAllowedObservers =
|
||||
@@ -219,28 +215,24 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
*/
|
||||
@CalledByNative
|
||||
private static SigninManager create(
|
||||
- long nativeSigninManagerAndroid, AccountTrackerService accountTrackerService) {
|
||||
+ long nativeSigninManagerAndroid) {
|
||||
assert nativeSigninManagerAndroid != 0;
|
||||
- assert accountTrackerService != null;
|
||||
return new SigninManager(ContextUtils.getApplicationContext(), nativeSigninManagerAndroid,
|
||||
- accountTrackerService, AndroidSyncSettings.get());
|
||||
+ AndroidSyncSettings.get());
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
SigninManager(Context context, long nativeSigninManagerAndroid,
|
||||
- AccountTrackerService accountTrackerService, AndroidSyncSettings androidSyncSettings) {
|
||||
+ AndroidSyncSettings androidSyncSettings) {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
assert context != null;
|
||||
assert androidSyncSettings != null;
|
||||
mContext = context;
|
||||
mNativeSigninManagerAndroid = nativeSigninManagerAndroid;
|
||||
- mAccountTrackerService = accountTrackerService;
|
||||
mAndroidSyncSettings = androidSyncSettings;
|
||||
|
||||
mSigninAllowedByPolicy =
|
||||
SigninManagerJni.get().isSigninAllowedByPolicy(mNativeSigninManagerAndroid);
|
||||
-
|
||||
- mAccountTrackerService.addSystemAccountsSeededListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -249,7 +241,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
*/
|
||||
@CalledByNative
|
||||
public void destroy() {
|
||||
- mAccountTrackerService.removeSystemAccountsSeededListener(this);
|
||||
mNativeSigninManagerAndroid = 0;
|
||||
}
|
||||
|
||||
@@ -286,8 +277,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
* Returns true if signin can be started now.
|
||||
*/
|
||||
public boolean isSignInAllowed() {
|
||||
- return !mFirstRunCheckIsPending && mSignInState == null && mSigninAllowedByPolicy
|
||||
- && ChromeSigninController.get().getSignedInUser() == null && isSigninSupported();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -344,27 +334,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
}
|
||||
|
||||
/**
|
||||
- * Continue pending sign in after system accounts have been seeded into AccountTrackerService.
|
||||
- */
|
||||
- @Override
|
||||
- public void onSystemAccountsSeedingComplete() {
|
||||
- if (mSignInState != null && mSignInState.mBlockedOnAccountSeeding) {
|
||||
- mSignInState.mBlockedOnAccountSeeding = false;
|
||||
- progressSignInFlowCheckPolicy();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
- * Clear pending sign in when system accounts in AccountTrackerService were refreshed.
|
||||
- */
|
||||
- @Override
|
||||
- public void onSystemAccountsChanged() {
|
||||
- if (mSignInState != null) {
|
||||
- abortSignIn();
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /**
|
||||
* Starts the sign-in flow, and executes the callback when finished.
|
||||
*
|
||||
* If an activity is provided, it is considered an "interactive" sign-in and the user can be
|
||||
@@ -419,16 +388,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
}
|
||||
|
||||
private void progressSignInFlowSeedSystemAccounts() {
|
||||
- if (mAccountTrackerService.checkAndSeedSystemAccounts()) {
|
||||
- progressSignInFlowCheckPolicy();
|
||||
- } else if (AccountIdProvider.getInstance().canBeUsed()) {
|
||||
- mSignInState.mBlockedOnAccountSeeding = true;
|
||||
- } else {
|
||||
- Activity activity = mSignInState.mActivity;
|
||||
- handleGooglePlayServicesUnavailability(activity, !isForceSigninEnabled());
|
||||
- Log.w(TAG, "Cancelling the sign-in process as Google Play services is unavailable");
|
||||
- abortSignIn();
|
||||
- }
|
||||
+ mSignInState.mBlockedOnAccountSeeding = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -462,18 +422,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
// This method should be called at most once per sign-in flow.
|
||||
assert mSignInState != null;
|
||||
|
||||
- if (!SigninManagerJni.get().setPrimaryAccount(
|
||||
- mNativeSigninManagerAndroid, mSignInState.mAccount.name)) {
|
||||
- Log.w(TAG, "Failed to set the PrimaryAccount in IdentityManager, aborting signin");
|
||||
- abortSignIn();
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- // Cache the signed-in account name. This must be done after the native call, otherwise
|
||||
- // sync tries to start without being signed in natively and crashes.
|
||||
- ChromeSigninController.get().setSignedInAccountName(mSignInState.mAccount.name);
|
||||
- enableSync(mSignInState.mAccount);
|
||||
-
|
||||
if (mSignInState.mCallback != null) {
|
||||
mSignInState.mCallback.onSignInComplete();
|
||||
}
|
||||
@@ -640,10 +588,8 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
|
||||
// Native sign-out must happen before resetting the account so data is deleted correctly.
|
||||
// http://crbug.com/589028
|
||||
- ChromeSigninController.get().setSignedInAccountName(null);
|
||||
if (mSignOutState.mWipeDataHooks != null) mSignOutState.mWipeDataHooks.preWipeData();
|
||||
disableSyncAndWipeData(mSignOutState.mShouldWipeUserData, this::onProfileDataWiped);
|
||||
- mAccountTrackerService.invalidateAccountSeedStatus(true);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -719,13 +665,6 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
||||
SigninManagerJni.get().stopApplyingCloudPolicy(mNativeSigninManagerAndroid);
|
||||
}
|
||||
|
||||
- private void enableSync(Account account) {
|
||||
- // Cache the signed-in account name. This must be done after the native call, otherwise
|
||||
- // sync tries to start without being signed in the native code and crashes.
|
||||
- mAndroidSyncSettings.updateAccount(account);
|
||||
- mAndroidSyncSettings.enableChromeSync();
|
||||
- }
|
||||
-
|
||||
private void disableSyncAndWipeData(
|
||||
boolean shouldWipeUserData, final Runnable wipeDataCallback) {
|
||||
mAndroidSyncSettings.updateAccount(null);
|
||||
diff --git a/chrome/browser/android/signin/signin_manager_android.cc b/chrome/browser/android/signin/signin_manager_android.cc
|
||||
--- a/chrome/browser/android/signin/signin_manager_android.cc
|
||||
+++ b/chrome/browser/android/signin/signin_manager_android.cc
|
||||
@@ -145,8 +145,7 @@ SigninManagerAndroid::SigninManagerAndroid(
|
||||
g_browser_process->local_state());
|
||||
|
||||
java_signin_manager_ = Java_SigninManager_create(
|
||||
- base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this),
|
||||
- identity_manager_->LegacyGetAccountTrackerServiceJavaObject());
|
||||
+ base::android::AttachCurrentThread(), reinterpret_cast<intptr_t>(this));
|
||||
}
|
||||
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
From: SergeyZhukovsky <serg.zhukovsky@gmail.com>
|
||||
Date: Tue, 15 Aug 2017 15:33:16 -0400
|
||||
Subject: Remove request for account access permission on reboot
|
||||
|
||||
---
|
||||
chrome/android/BUILD.gn | 4 +---
|
||||
chrome/android/java/AndroidManifest.xml | 4 ++--
|
||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -1023,8 +1023,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
|
||||
resources = [
|
||||
"java/res_template/xml/file_paths.xml",
|
||||
"java/res_template/xml/launchershortcuts.xml",
|
||||
- "java/res_template/xml/searchable.xml",
|
||||
- "java/res_template/xml/syncadapter.xml",
|
||||
+ "java/res_template/xml/searchable.xml"
|
||||
]
|
||||
res_dir = "java/res_template"
|
||||
variables = [ "manifest_package=$manifest_package" ]
|
||||
@@ -1035,7 +1034,6 @@ jinja_template_resources("chrome_test_apk_template_resources") {
|
||||
"java/res_template/xml/file_paths.xml",
|
||||
"java/res_template/xml/launchershortcuts.xml",
|
||||
"java/res_template/xml/searchable.xml",
|
||||
- "java/res_template/xml/syncadapter.xml",
|
||||
]
|
||||
res_dir = "java/res_template"
|
||||
|
||||
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
|
||||
@@ -925,14 +925,14 @@ by a child template that "extends" this file.
|
||||
</provider>
|
||||
|
||||
<!-- Sync adapter for browser invalidation. -->
|
||||
- <service android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService"
|
||||
+ <!--<service android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.content.SyncAdapter" />
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.content.SyncAdapter"
|
||||
android:resource="@xml/syncadapter" />
|
||||
- </service>
|
||||
+ </service>-->
|
||||
|
||||
<!-- Broadcast receiver that will be notified of account changes -->
|
||||
<receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -3,30 +3,27 @@ Date: Sun, 26 Nov 2017 11:40:05 +0100
|
||||
Subject: Restore classic new tab page
|
||||
|
||||
---
|
||||
chrome/browser/search/search.cc | 13 +------------
|
||||
1 file changed, 1 insertion(+), 12 deletions(-)
|
||||
chrome/browser/search/search.cc | 10 +---------
|
||||
1 file changed, 1 insertion(+), 9 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
|
||||
--- a/chrome/browser/search/search.cc
|
||||
+++ b/chrome/browser/search/search.cc
|
||||
@@ -154,16 +154,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
|
||||
@@ -156,13 +156,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
|
||||
return true;
|
||||
}
|
||||
|
||||
-bool ShouldShowLocalNewTab(Profile* profile) {
|
||||
-#if !defined(OS_ANDROID)
|
||||
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
- return command_line->HasSwitch(switches::kForceLocalNtp) ||
|
||||
- (base::FeatureList::IsEnabled(features::kUseGoogleLocalNtp) &&
|
||||
- profile && DefaultSearchProviderIsGoogle(profile));
|
||||
- return DefaultSearchProviderIsGoogle(profile);
|
||||
-#endif
|
||||
- return false;
|
||||
-}
|
||||
-
|
||||
bool ShouldDelayRemoteNTP(const GURL& search_provider_url, Profile* profile) {
|
||||
#if defined(OS_CHROMEOS)
|
||||
// On Chrome OS, if the session hasn't merged yet, we need to avoid loading
|
||||
@@ -190,8 +180,7 @@ struct NewTabURLDetails {
|
||||
// Used to look up the URL to use for the New Tab page. Also tracks how we
|
||||
// arrived at that URL so it can be logged with UMA.
|
||||
struct NewTabURLDetails {
|
||||
@@ -176,8 +169,7 @@ struct NewTabURLDetails {
|
||||
|
||||
const GURL local_url(chrome::kChromeSearchLocalNtpUrl);
|
||||
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 10 Oct 2019 23:30:16 +0200
|
||||
Subject: Revert "Cleanup Search Ready Omnibox flag since it has launched"
|
||||
|
||||
This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
|
||||
---
|
||||
.../java/src/org/chromium/chrome/browser/ChromeFeatureList.java | 1 +
|
||||
.../chrome/browser/omnibox/suggestions/AutocompleteMediator.java | 7 +++++++
|
||||
chrome/browser/about_flags.cc | 3 +++
|
||||
chrome/browser/android/chrome_feature_list.cc | 4 ++++
|
||||
chrome/browser/android/chrome_feature_list.h | 1 +
|
||||
chrome/browser/flag-metadata.json | 5 +++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
8 files changed, 29 insertions(+)
|
||||
|
||||
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
|
||||
@@ -303,6 +303,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String REMOVE_NAVIGATION_HISTORY = "RemoveNavigationHistory";
|
||||
public static final String REORDER_BOOKMARKS = "ReorderBookmarks";
|
||||
public static final String REVAMPED_CONTEXT_MENU = "RevampedContextMenu";
|
||||
+ public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
|
||||
public static final String SEND_TAB_TO_SELF = "SyncSendTabToSelf";
|
||||
public static final String SERVICE_MANAGER_FOR_DOWNLOAD = "ServiceManagerForDownload";
|
||||
public static final String SERVICE_WORKER_PAYMENT_APPS = "ServiceWorkerPaymentApps";
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
||||
@@ -321,6 +321,13 @@ class AutocompleteMediator
|
||||
void onNativeInitialized() {
|
||||
mNativeInitialized = true;
|
||||
|
||||
+ // The feature is instantiated in the constructor to simplify plumbing. If the feature is
|
||||
+ // actually disabled, null out the coordinator.
|
||||
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SEARCH_READY_OMNIBOX)) {
|
||||
+ mEditUrlProcessor.destroy();
|
||||
+ mEditUrlProcessor = null;
|
||||
+ }
|
||||
+
|
||||
mShowSuggestionFavicons =
|
||||
ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_SHOW_SUGGESTION_FAVICONS);
|
||||
|
||||
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
|
||||
@@ -1961,6 +1961,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-homepage-tile", flag_descriptions::kHomepageTileName,
|
||||
flag_descriptions::kHomepageTileDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kHomepageTile)},
|
||||
+ {"enable-search-ready-omnibox", flag_descriptions::kSearchReadyOmniboxName,
|
||||
+ flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
|
||||
+ FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
|
||||
{"enable-bookmark-reorder", flag_descriptions::kReorderBookmarksName,
|
||||
flag_descriptions::kReorderBookmarksDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReorderBookmarks)},
|
||||
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
|
||||
@@ -164,6 +164,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
|
||||
&kReaderModeInCCT,
|
||||
&kReorderBookmarks,
|
||||
&kRevampedContextMenu,
|
||||
+ &kSearchReadyOmniboxFeature,
|
||||
&kSearchEnginePromoExistingDevice,
|
||||
&kSearchEnginePromoNewDevice,
|
||||
&kServiceManagerForBackgroundPrefetch,
|
||||
@@ -516,6 +517,9 @@ const base::Feature kReorderBookmarks{"ReorderBookmarks",
|
||||
const base::Feature kRevampedContextMenu{"RevampedContextMenu",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
+const base::Feature kSearchReadyOmniboxFeature{
|
||||
+ "SearchReadyOmnibox", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
const base::Feature kServiceManagerForBackgroundPrefetch{
|
||||
"ServiceManagerForBackgroundPrefetch", base::FEATURE_DISABLED_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
|
||||
@@ -101,6 +101,7 @@ extern const base::Feature kReaderModeInCCT;
|
||||
extern const base::Feature kRevampedContextMenu;
|
||||
extern const base::Feature kSearchEnginePromoExistingDevice;
|
||||
extern const base::Feature kSearchEnginePromoNewDevice;
|
||||
+extern const base::Feature kSearchReadyOmniboxFeature;
|
||||
extern const base::Feature kServiceManagerForBackgroundPrefetch;
|
||||
extern const base::Feature kServiceManagerForDownload;
|
||||
extern const base::Feature kSettingsModernStatusBar;
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -1626,6 +1626,11 @@
|
||||
"expiry_milestone": 78
|
||||
},
|
||||
{
|
||||
+ "name": "enable-search-ready-omnibox",
|
||||
+ "owners": [ "mdjones" ],
|
||||
+ "expiry_milestone": 75
|
||||
+ },
|
||||
+ {
|
||||
"name": "enable-send-tab-to-self",
|
||||
"owners": [ "//components/send_tab_to_self/OWNERS" ],
|
||||
"expiry_milestone": 77
|
||||
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
|
||||
@@ -2695,6 +2695,11 @@ const char kSafeBrowsingUseLocalBlacklistsV2Description[] =
|
||||
"process to check the Safe Browsing reputation of URLs without calling "
|
||||
"into GmsCore for every URL.";
|
||||
|
||||
+const char kSearchReadyOmniboxName[] = "Search Ready Omnibox";
|
||||
+const char kSearchReadyOmniboxDescription[] =
|
||||
+ "Clears the omnibox and adds a suggestion item to share, copy, or edit the "
|
||||
+ "URL.";
|
||||
+
|
||||
const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
|
||||
const char kSetMarketUrlForTestingDescription[] =
|
||||
"When enabled, sets the market URL for use in testing the update menu "
|
||||
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
|
||||
@@ -1594,6 +1594,9 @@ extern const char kReaderModeInCCTDescription[];
|
||||
extern const char kSafeBrowsingUseLocalBlacklistsV2Name[];
|
||||
extern const char kSafeBrowsingUseLocalBlacklistsV2Description[];
|
||||
|
||||
+extern const char kSearchReadyOmniboxName[];
|
||||
+extern const char kSearchReadyOmniboxDescription[];
|
||||
+
|
||||
extern const char kSetMarketUrlForTestingName[];
|
||||
extern const char kSetMarketUrlForTestingDescription[];
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Mon, 14 Oct 2019 20:27:33 +0200
|
||||
Subject: Revert "[Merge to M78] Enable AImageReader by default."
|
||||
|
||||
This reverts commit 60c3d4531b180b911767fb3ea7c3553d7f408c25.
|
||||
---
|
||||
gpu/config/gpu_finch_features.cc | 2 +-
|
||||
media/base/media_switches.cc | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
--- a/gpu/config/gpu_finch_features.cc
|
||||
+++ b/gpu/config/gpu_finch_features.cc
|
||||
@@ -31,7 +31,7 @@ bool FieldIsInBlacklist(const char* current_value, std::string blacklist_str) {
|
||||
#if defined(OS_ANDROID)
|
||||
// Use android AImageReader when playing videos with MediaPlayer.
|
||||
const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Use android SurfaceControl API for managing display compositor's buffer queue
|
||||
// and using overlays on Android.
|
||||
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
|
||||
@@ -417,7 +417,7 @@ const base::Feature kMediaDrmPreprovisioningAtStartup{
|
||||
|
||||
// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
|
||||
const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Prevents using SurfaceLayer for videos. This is meant to be used by embedders
|
||||
// that cannot support SurfaceLayer at the moment.
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 26 Sep 2019 00:00:43 +0200
|
||||
Subject: Revert "Remove UnifiedConsent from ChromeFeatureList"
|
||||
|
||||
This reverts commit c513d4c926a42ba6cc5eccfd5e85ba64c38bf0c1.
|
||||
---
|
||||
.../android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
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
|
||||
@@ -339,6 +339,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String TRUSTED_WEB_ACTIVITY_NOTIFICATION_DELEGATION_ENROLMENT =
|
||||
"TrustedWebActivityNotificationDelegationAutoEnrolment";
|
||||
public static final String VIDEO_PERSISTENCE = "VideoPersistence";
|
||||
+ public static final String UNIFIED_CONSENT = "UnifiedConsent";
|
||||
public static final String USAGE_STATS = "UsageStats";
|
||||
public static final String VR_BROWSING_FEEDBACK = "VrBrowsingFeedback";
|
||||
public static final String USER_ACTIVATION_V2 = "UserActivationV2";
|
||||
--
|
||||
2.11.0
|
||||
|
||||
+1976
File diff suppressed because it is too large
Load Diff
@@ -1,386 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Tue, 29 Jan 2019 01:02:07 +0100
|
||||
Subject: Rollback android:minSdkVersion from 19 (KitKat) to 16 (JellyBean)
|
||||
|
||||
This reverts commit 9a48587dbd1988cf5066b454e7d09ae35d124366.
|
||||
---
|
||||
.../test/embedded_test_server/java/AndroidManifest.xml | 2 +-
|
||||
android_webview/tools/automated_ui_tests/java/AndroidManifest.xml | 2 +-
|
||||
base/android/jni_generator/AndroidManifest.xml | 2 +-
|
||||
build/android/AndroidManifest.xml | 2 +-
|
||||
build/android/gradle/android.jinja | 2 +-
|
||||
chrome/android/BUILD.gn | 8 ++++----
|
||||
.../test/android/chrome_public_test_support/AndroidManifest.xml | 2 +-
|
||||
components/cronet/android/sample/AndroidManifest.xml | 3 +--
|
||||
components/cronet/android/sample/javatests/AndroidManifest.xml | 3 +--
|
||||
components/cronet/android/test/javaperftests/AndroidManifest.xml | 3 +--
|
||||
components/cronet/android/test/javatests/AndroidManifest.xml | 3 +--
|
||||
.../test/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
|
||||
content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2 | 2 +-
|
||||
content/shell/android/javatests/AndroidManifest.xml | 2 +-
|
||||
content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2 | 2 +-
|
||||
content/shell/android/shell_apk/AndroidManifest.xml.jinja2 | 2 +-
|
||||
docs/android_build_instructions.md | 2 +-
|
||||
mojo/public/java/system/javatests/AndroidManifest.xml | 2 +-
|
||||
net/android/unittest_support/AndroidManifest.xml | 2 +-
|
||||
net/test/android/javatests/AndroidManifest.xml | 2 +-
|
||||
remoting/android/java/AndroidManifest.xml.jinja2 | 2 +-
|
||||
remoting/android/javatests/AndroidManifest.xml.jinja2 | 2 +-
|
||||
testing/android/driver/java/AndroidManifest.xml | 2 +-
|
||||
testing/android/native_test/java/AndroidManifest.xml.jinja2 | 2 +-
|
||||
tools/android/audio_focus_grabber/java/AndroidManifest.xml | 2 +-
|
||||
tools/android/push_apps_to_background/AndroidManifest.xml | 4 ++--
|
||||
26 files changed, 30 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/android_webview/test/embedded_test_server/java/AndroidManifest.xml b/android_webview/test/embedded_test_server/java/AndroidManifest.xml
|
||||
--- a/android_webview/test/embedded_test_server/java/AndroidManifest.xml
|
||||
+++ b/android_webview/test/embedded_test_server/java/AndroidManifest.xml
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.chromium.android_webview.test.support">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
|
||||
diff --git a/android_webview/tools/automated_ui_tests/java/AndroidManifest.xml b/android_webview/tools/automated_ui_tests/java/AndroidManifest.xml
|
||||
--- a/android_webview/tools/automated_ui_tests/java/AndroidManifest.xml
|
||||
+++ b/android_webview/tools/automated_ui_tests/java/AndroidManifest.xml
|
||||
@@ -10,7 +10,7 @@
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
diff --git a/base/android/jni_generator/AndroidManifest.xml b/base/android/jni_generator/AndroidManifest.xml
|
||||
--- a/base/android/jni_generator/AndroidManifest.xml
|
||||
+++ b/base/android/jni_generator/AndroidManifest.xml
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.jni.generator">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="24" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="24" />
|
||||
<application></application>
|
||||
|
||||
</manifest>
|
||||
diff --git a/build/android/AndroidManifest.xml b/build/android/AndroidManifest.xml
|
||||
--- a/build/android/AndroidManifest.xml
|
||||
+++ b/build/android/AndroidManifest.xml
|
||||
@@ -15,6 +15,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.dummy">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="24" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="24" />
|
||||
|
||||
</manifest>
|
||||
diff --git a/build/android/gradle/android.jinja b/build/android/gradle/android.jinja
|
||||
--- a/build/android/gradle/android.jinja
|
||||
+++ b/build/android/gradle/android.jinja
|
||||
@@ -51,7 +51,7 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
- minSdkVersion 19
|
||||
+ minSdkVersion 17
|
||||
targetSdkVersion {{ target_sdk_version }}
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -65,7 +65,7 @@ jinja_template("chrome_public_android_manifest") {
|
||||
output = chrome_public_android_manifest
|
||||
variables = chrome_public_jinja_variables
|
||||
variables += [
|
||||
- "min_sdk_version=19",
|
||||
+ "min_sdk_version=17",
|
||||
"target_sdk_version=$android_sdk_version",
|
||||
]
|
||||
|
||||
@@ -1554,7 +1554,7 @@ template("chrome_public_apk_or_module_tmpl") {
|
||||
android_manifest = chrome_modern_public_android_manifest
|
||||
android_manifest_dep = ":chrome_modern_public_android_manifest"
|
||||
} else {
|
||||
- min_sdk_version = 19
|
||||
+ min_sdk_version = 17
|
||||
android_manifest = chrome_public_android_manifest
|
||||
android_manifest_dep = ":chrome_public_android_manifest"
|
||||
}
|
||||
@@ -1777,7 +1777,7 @@ jinja_template("chrome_public_test_apk_manifest") {
|
||||
variables = default_chrome_public_jinja_variables
|
||||
variables += [
|
||||
"manifest_package=$test_manifest_package",
|
||||
- "min_sdk_version=19",
|
||||
+ "min_sdk_version=17",
|
||||
"target_sdk_version=$android_sdk_version",
|
||||
]
|
||||
}
|
||||
@@ -1788,7 +1788,7 @@ jinja_template("chrome_public_test_vr_apk_manifest") {
|
||||
output = chrome_public_test_vr_apk_manifest
|
||||
variables = chrome_public_jinja_variables
|
||||
variables += [
|
||||
- "min_sdk_version=19",
|
||||
+ "min_sdk_version=17",
|
||||
"target_sdk_version=$android_sdk_version",
|
||||
]
|
||||
}
|
||||
diff --git a/chrome/test/android/chrome_public_test_support/AndroidManifest.xml b/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
|
||||
--- a/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
|
||||
+++ b/chrome/test/android/chrome_public_test_support/AndroidManifest.xml
|
||||
@@ -5,7 +5,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.chromium.chrome.tests.support">
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="22" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="22" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<application>
|
||||
<service android:name="org.chromium.chrome.browser.media.TestMediaRouteProviderService"
|
||||
diff --git a/components/cronet/android/sample/AndroidManifest.xml b/components/cronet/android/sample/AndroidManifest.xml
|
||||
--- a/components/cronet/android/sample/AndroidManifest.xml
|
||||
+++ b/components/cronet/android/sample/AndroidManifest.xml
|
||||
@@ -9,8 +9,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.cronet_sample_apk">
|
||||
|
||||
- <!-- //components/cronet still needs to support Jelly Bean. See crbug.com/922656 -->
|
||||
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<application android:name="CronetSampleApplication"
|
||||
diff --git a/components/cronet/android/sample/javatests/AndroidManifest.xml b/components/cronet/android/sample/javatests/AndroidManifest.xml
|
||||
--- a/components/cronet/android/sample/javatests/AndroidManifest.xml
|
||||
+++ b/components/cronet/android/sample/javatests/AndroidManifest.xml
|
||||
@@ -8,8 +8,7 @@
|
||||
doesn't ignore this. -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.cronet_sample_apk.tests">
|
||||
- <!-- //components/cronet still needs to support Jelly Bean. See crbug.com/922656 -->
|
||||
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
|
||||
<!-- We add an application tag here just so that we can indicate that this
|
||||
package needs to link against the android.test library, which is
|
||||
diff --git a/components/cronet/android/test/javaperftests/AndroidManifest.xml b/components/cronet/android/test/javaperftests/AndroidManifest.xml
|
||||
--- a/components/cronet/android/test/javaperftests/AndroidManifest.xml
|
||||
+++ b/components/cronet/android/test/javaperftests/AndroidManifest.xml
|
||||
@@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.net">
|
||||
- <!-- //components/cronet still needs to support Jelly Bean. See crbug.com/922656 -->
|
||||
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
diff --git a/components/cronet/android/test/javatests/AndroidManifest.xml b/components/cronet/android/test/javatests/AndroidManifest.xml
|
||||
--- a/components/cronet/android/test/javatests/AndroidManifest.xml
|
||||
+++ b/components/cronet/android/test/javatests/AndroidManifest.xml
|
||||
@@ -6,8 +6,7 @@
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.net.tests">
|
||||
- <!-- //components/cronet still needs to support Jelly Bean. See crbug.com/922656 -->
|
||||
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="24" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
diff --git a/components/test/android/browsertests_apk/AndroidManifest.xml.jinja2 b/components/test/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
--- a/components/test/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
+++ b/components/test/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
@@ -9,7 +9,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.components_browsertests_apk">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
diff --git a/content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2 b/content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
--- a/content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
+++ b/content/shell/android/browsertests_apk/AndroidManifest.xml.jinja2
|
||||
@@ -9,7 +9,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.content_browsertests_apk">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
diff --git a/content/shell/android/javatests/AndroidManifest.xml b/content/shell/android/javatests/AndroidManifest.xml
|
||||
--- a/content/shell/android/javatests/AndroidManifest.xml
|
||||
+++ b/content/shell/android/javatests/AndroidManifest.xml
|
||||
@@ -6,7 +6,7 @@
|
||||
doesn't ignore this. -->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.content_shell_apk.tests">
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
|
||||
<!-- We add an application tag here just so that we can indicate that this
|
||||
package needs to link against the android.test library, which is
|
||||
diff --git a/content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2 b/content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2
|
||||
--- a/content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2
|
||||
+++ b/content/shell/android/linker_test_apk/AndroidManifest.xml.jinja2
|
||||
@@ -9,7 +9,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.chromium_linker_test_apk">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
diff --git a/content/shell/android/shell_apk/AndroidManifest.xml.jinja2 b/content/shell/android/shell_apk/AndroidManifest.xml.jinja2
|
||||
--- a/content/shell/android/shell_apk/AndroidManifest.xml.jinja2
|
||||
+++ b/content/shell/android/shell_apk/AndroidManifest.xml.jinja2
|
||||
@@ -9,7 +9,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.content_shell_apk">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA"/>
|
||||
diff --git a/docs/android_build_instructions.md b/docs/android_build_instructions.md
|
||||
--- a/docs/android_build_instructions.md
|
||||
+++ b/docs/android_build_instructions.md
|
||||
@@ -184,7 +184,7 @@ the version of Android running on a device. Chrome uses this feature to target
|
||||
3 different versions using 3 different ninja targets:
|
||||
|
||||
1. `chrome_public_apk` (ChromePublic.apk)
|
||||
- * `minSdkVersion=19` (KitKat).
|
||||
+ * `minSdkVersion=17` (Jelly Bean).
|
||||
* Stores libchrome.so compressed within the APK.
|
||||
* Uses [Crazy Linker](https://cs.chromium.org/chromium/src/base/android/linker/BUILD.gn?rcl=6bb29391a86f2be58c626170156cbfaa2cbc5c91&l=9).
|
||||
* Shipped only for Android < 21, but still works fine on Android >= 21.
|
||||
diff --git a/mojo/public/java/system/javatests/AndroidManifest.xml b/mojo/public/java/system/javatests/AndroidManifest.xml
|
||||
--- a/mojo/public/java/system/javatests/AndroidManifest.xml
|
||||
+++ b/mojo/public/java/system/javatests/AndroidManifest.xml
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.chromium.mojo.tests">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="21" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
|
||||
|
||||
<uses-permission android:name="android.permission.INJECT_EVENTS"
|
||||
tools:ignore="ProtectedPermissions"/>
|
||||
diff --git a/net/android/unittest_support/AndroidManifest.xml b/net/android/unittest_support/AndroidManifest.xml
|
||||
--- a/net/android/unittest_support/AndroidManifest.xml
|
||||
+++ b/net/android/unittest_support/AndroidManifest.xml
|
||||
@@ -10,7 +10,7 @@ found in the LICENSE file.
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
|
||||
diff --git a/net/test/android/javatests/AndroidManifest.xml b/net/test/android/javatests/AndroidManifest.xml
|
||||
--- a/net/test/android/javatests/AndroidManifest.xml
|
||||
+++ b/net/test/android/javatests/AndroidManifest.xml
|
||||
@@ -8,7 +8,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="org.chromium.net.test.support">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
|
||||
diff --git a/remoting/android/java/AndroidManifest.xml.jinja2 b/remoting/android/java/AndroidManifest.xml.jinja2
|
||||
--- a/remoting/android/java/AndroidManifest.xml.jinja2
|
||||
+++ b/remoting/android/java/AndroidManifest.xml.jinja2
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="{{ APK_PACKAGE_NAME }}">
|
||||
- <uses-sdk android:minSdkVersion="19"
|
||||
+ <uses-sdk android:minSdkVersion="14"
|
||||
android:targetSdkVersion="28"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
|
||||
diff --git a/remoting/android/javatests/AndroidManifest.xml.jinja2 b/remoting/android/javatests/AndroidManifest.xml.jinja2
|
||||
--- a/remoting/android/javatests/AndroidManifest.xml.jinja2
|
||||
+++ b/remoting/android/javatests/AndroidManifest.xml.jinja2
|
||||
@@ -11,7 +11,7 @@
|
||||
<!-- We add an application tag here just so that we can indicate that this
|
||||
package needs to link against the android.test library, which is
|
||||
needed when building test cases. -->
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
diff --git a/testing/android/driver/java/AndroidManifest.xml b/testing/android/driver/java/AndroidManifest.xml
|
||||
--- a/testing/android/driver/java/AndroidManifest.xml
|
||||
+++ b/testing/android/driver/java/AndroidManifest.xml
|
||||
@@ -10,7 +10,7 @@ found in the LICENSE file.
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
|
||||
<application android:label="OnDeviceInstrumentationDriver" />
|
||||
diff --git a/testing/android/native_test/java/AndroidManifest.xml.jinja2 b/testing/android/native_test/java/AndroidManifest.xml.jinja2
|
||||
--- a/testing/android/native_test/java/AndroidManifest.xml.jinja2
|
||||
+++ b/testing/android/native_test/java/AndroidManifest.xml.jinja2
|
||||
@@ -10,7 +10,7 @@ found in the LICENSE file.
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH"/>
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||
diff --git a/tools/android/audio_focus_grabber/java/AndroidManifest.xml b/tools/android/audio_focus_grabber/java/AndroidManifest.xml
|
||||
--- a/tools/android/audio_focus_grabber/java/AndroidManifest.xml
|
||||
+++ b/tools/android/audio_focus_grabber/java/AndroidManifest.xml
|
||||
@@ -8,7 +8,7 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.chromium.tools.audio_focus_grabber" >
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
|
||||
<application
|
||||
android:label="@string/app_name" >
|
||||
diff --git a/tools/android/push_apps_to_background/AndroidManifest.xml b/tools/android/push_apps_to_background/AndroidManifest.xml
|
||||
--- a/tools/android/push_apps_to_background/AndroidManifest.xml
|
||||
+++ b/tools/android/push_apps_to_background/AndroidManifest.xml
|
||||
@@ -10,7 +10,7 @@
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0" >
|
||||
|
||||
- <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="23" />
|
||||
+ <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
|
||||
|
||||
<application
|
||||
android:icon="@drawable/ic_launcher"
|
||||
@@ -26,4 +26,4 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
-</manifest>
|
||||
\ No newline at end of file
|
||||
+</manifest>
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunUtils.java
|
||||
@@ -30,16 +30,12 @@ public class FirstRunUtils {
|
||||
@@ -28,16 +28,12 @@ public class FirstRunUtils {
|
||||
// - checkAnyUserHasSeenToS() may be true which needs to sync its state to the prefs.
|
||||
boolean javaPrefValue = javaPrefs.getBoolean(CACHED_TOS_ACCEPTED_PREF, false);
|
||||
boolean nativePrefValue = prefsBridge.isFirstRunEulaAccepted();
|
||||
|
||||
@@ -16,7 +16,7 @@ higher memory/cache usage but not by the full 2-3%.
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -263,16 +263,12 @@ config("compiler") {
|
||||
@@ -273,16 +273,12 @@ config("compiler") {
|
||||
cflags += [ "-fstack-protector" ]
|
||||
}
|
||||
} else if ((is_posix && !is_chromeos && !is_nacl) || is_fuchsia) {
|
||||
|
||||
@@ -4,16 +4,16 @@ Subject: Use 4 tile rows, never show logo
|
||||
|
||||
---
|
||||
.../java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java | 6 +++---
|
||||
.../chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java | 2 +-
|
||||
.../src/org/chromium/chrome/browser/suggestions/SiteSection.java | 2 +-
|
||||
.../browser/suggestions/mostvisited/MostVisitedSitesBridge.java | 2 +-
|
||||
.../org/chromium/chrome/browser/suggestions/tile/SiteSection.java | 2 +-
|
||||
chrome/browser/engagement/important_sites_util.cc | 2 +-
|
||||
components/history/core/browser/top_sites_impl.h | 2 +-
|
||||
components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc | 2 +-
|
||||
5 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
|
||||
@@ -117,7 +117,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
@@ -110,7 +110,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
/** Observer for overview mode. */
|
||||
private EmptyOverviewModeObserver mOverviewObserver;
|
||||
|
||||
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
private boolean mSearchProviderIsGoogle;
|
||||
|
||||
private boolean mInitialized;
|
||||
@@ -542,7 +542,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
@@ -538,7 +538,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
&& mInitialized) {
|
||||
return;
|
||||
}
|
||||
@@ -31,7 +31,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
mSearchProviderIsGoogle = isGoogle;
|
||||
|
||||
updateTileGridPadding();
|
||||
@@ -834,7 +834,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
@@ -822,7 +822,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
|
||||
}
|
||||
|
||||
private static int getMaxTileRows() {
|
||||
@@ -40,10 +40,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java
|
||||
@@ -27,7 +27,7 @@ public class MostVisitedSitesBridge
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesBridge.java
|
||||
@@ -29,7 +29,7 @@ public class MostVisitedSitesBridge
|
||||
* Maximum number of tiles that is explicitly supported. UMA relies on this value, so even if
|
||||
* the UI supports it, getting more can raise unexpected issues.
|
||||
*/
|
||||
@@ -52,11 +52,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Mos
|
||||
|
||||
private long mNativeMostVisitedSitesBridge;
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SiteSection.java
|
||||
@@ -110,7 +110,7 @@ public class SiteSection extends OptionalLeaf implements TileGroup.Observer {
|
||||
if (ChromeFeatureList.isEnabled(ChromeFeatureList.EXPLORE_SITES)) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/SiteSection.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/SiteSection.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/SiteSection.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/SiteSection.java
|
||||
@@ -115,7 +115,7 @@ public class SiteSection extends OptionalLeaf implements TileGroup.Observer {
|
||||
ExploreSitesBridge.getVariation())) {
|
||||
return 1;
|
||||
}
|
||||
- return 2;
|
||||
@@ -64,10 +64,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sit
|
||||
}
|
||||
|
||||
@LayoutRes
|
||||
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
|
||||
--- a/chrome/browser/engagement/important_sites_util.cc
|
||||
+++ b/chrome/browser/engagement/important_sites_util.cc
|
||||
@@ -58,7 +58,7 @@ static const int kTimesIgnoredForBlacklist = 3;
|
||||
// These are the maximum # of bookmarks we can use as signals. If the user has
|
||||
// <= kMaxBookmarks, then we just use those bookmarks. Otherwise we filter all
|
||||
// bookmarks on site engagement > 0, sort, and trim to kMaxBookmarks.
|
||||
-static const int kMaxBookmarks = 5;
|
||||
+static const int kMaxBookmarks = 4 * 4 + 2;
|
||||
|
||||
// We need this to be a macro, as the histogram macros cache their pointers
|
||||
// after the first call, so when we change the uma name we check fail if we're
|
||||
diff --git a/components/history/core/browser/top_sites_impl.h b/components/history/core/browser/top_sites_impl.h
|
||||
--- a/components/history/core/browser/top_sites_impl.h
|
||||
+++ b/components/history/core/browser/top_sites_impl.h
|
||||
@@ -55,7 +55,7 @@ class TopSitesImpl : public TopSites, public HistoryServiceObserver {
|
||||
@@ -48,7 +48,7 @@ class TopSitesImpl : public TopSites, public HistoryServiceObserver {
|
||||
using CanAddURLToHistoryFn = base::Callback<bool(const GURL&)>;
|
||||
|
||||
// How many top sites to store in the cache.
|
||||
@@ -76,18 +88,6 @@ diff --git a/components/history/core/browser/top_sites_impl.h b/components/histo
|
||||
|
||||
TopSitesImpl(PrefService* pref_service,
|
||||
HistoryService* history_service,
|
||||
diff --git a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
|
||||
--- a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
|
||||
+++ b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc
|
||||
@@ -30,7 +30,7 @@ namespace ntp_snippets {
|
||||
|
||||
namespace {
|
||||
|
||||
-const int kMaxBookmarks = 10;
|
||||
+const int kMaxBookmarks = 4 * 4 + 2;
|
||||
const int kMaxBookmarkAgeInDays = 7;
|
||||
|
||||
const char* kMaxBookmarksParamName = "bookmarks_max_count";
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ sandboxing.
|
||||
diff --git a/android_webview/apk/java/AndroidManifest.xml b/android_webview/apk/java/AndroidManifest.xml
|
||||
--- a/android_webview/apk/java/AndroidManifest.xml
|
||||
+++ b/android_webview/apk/java/AndroidManifest.xml
|
||||
@@ -25,7 +25,6 @@
|
||||
@@ -22,7 +22,6 @@
|
||||
android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview"
|
||||
android:name="{{ application_name|default('com.android.webview.chromium.WebViewApplication') }}"
|
||||
android:name="{{ application_name|default('com.android.webview.chromium.WebViewApkApplication') }}"
|
||||
android:multiArch="true"
|
||||
- android:use32bitAbi="true"
|
||||
android:extractNativeLibs="{{ trichrome_library is not defined }}">
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user