Pull request #31: AP9-5174 Update Chromium code to latest
Merge in AP/chromiumpatches from upstream-101.0.4951.69 to master * commit 'e27c948d5ef6b3ff8f36a70b313a7d74d043adb0': (88 commits) AP9-5174 Update Chromium code to latest Release 101.0.4951.69 Update build/patches/Add-webrtc-site-setting.patch Add webRTC site settings Do not specify 'latest' fix odd behaviour with search or site suggestions Add Android 12L to version list Add a flag to site engagement feature Add webgl site setting Add missing CHANGELOG entries Release 101.0.4951.53 Fix merge typo in privacy patch Updated patches for v101 multiple fixes reverse the order of appmenu Fix Move-navigation-bar-to-bottom.patch (#2029) Release 101.0.4951.39 Patches for v101 (#2010) Quote grep expression Document home page as NTP ...
This commit is contained in:
commit
a9f59e6f0d
216 changed files with 25978 additions and 12882 deletions
9
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
9
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -21,6 +21,8 @@ body:
|
|||
required: true
|
||||
- label: "I have searched the existing issues for my problem. This is a new ticket, NOT a duplicate or related to another open issue."
|
||||
required: true
|
||||
- label: "I have read the [FAQs](https://github.com/bromite/bromite/blob/master/FAQ.md)."
|
||||
required: true
|
||||
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
|
||||
required: true
|
||||
|
||||
|
@ -45,7 +47,7 @@ body:
|
|||
id: bromite_version
|
||||
attributes:
|
||||
label: Bromite version
|
||||
description: What version of Bromite are you using? Please specify a single version e.g. `96.0.4664.1`. If this is not the latest version then please update and retry before submitting this bug report.
|
||||
description: What version of Bromite are you using? Please specify a single version e.g. `96.0.4664.1` not `latest`. If this is not the latest version then please update and retry before submitting this bug report.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
@ -71,7 +73,8 @@ body:
|
|||
multiple: false
|
||||
description: What version of Android are you running?
|
||||
options:
|
||||
- 12
|
||||
- 12.1
|
||||
- 12.0
|
||||
- 11
|
||||
- 10
|
||||
- 9
|
||||
|
@ -156,7 +159,7 @@ body:
|
|||
2. Yes, I have attached the crash report dump that I downloaded from `chrome://crashes`
|
||||
3. Yes, I have copy/pasted the crash dump
|
||||
placeholder: |
|
||||
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep chromium`.
|
||||
Drag the crash report dump here to attach it or paste the logcat dump individuated with `adb logcat | grep -E '( cr_|bromite|chromium)'`.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
|
|
97
CHANGELOG.md
97
CHANGELOG.md
|
@ -1,3 +1,97 @@
|
|||
# 101.0.4951.69
|
||||
* flag to toggle site engagement (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2022)
|
||||
* site settings to enable webGL (thanks to @uazo)
|
||||
* removed flag to disable webGL
|
||||
* fix bottom navigation bar search/site suggestions behaviour (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2049)
|
||||
* enable process isolation for all iframes
|
||||
* add webRTC site settings (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1965)
|
||||
|
||||
# 101.0.4951.53
|
||||
* move incognito settings to separate page (thanks to @uazo)
|
||||
* disable automatic offline pages saving by default (thanks to @uazo)
|
||||
* make history support and site settings in always incognito mode disabled by default (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1991)
|
||||
* move pop-up toolbar to the bottom when using bottom navigation bar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2030)
|
||||
* menu does not show all entries (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2011)
|
||||
* stray shadow when using bottom toolbar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1995)
|
||||
|
||||
# 101.0.4951.39
|
||||
* save only ContentSettings in always-incognito mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1942)
|
||||
* fix a couple issues related to signin and metrics leftover code affecting debug builds (thanks to @uazo)
|
||||
* remove some more parameters from the English-version search engine (thanks to @uazo)
|
||||
* add welcome screen with mention of privacy statements (fixes https://github.com/bromite/bromite/issues/691)
|
||||
|
||||
# 100.0.4896.135
|
||||
* remove mremap from seccomp baseline policy
|
||||
* add flag to move top toolbar to bottom (thanks to @uazo)
|
||||
|
||||
# 100.0.4896.92
|
||||
* improve user script errors and visualized name (thanks to @uazo)
|
||||
* fix autofill password not working anymore (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1956)
|
||||
* mark sites as visited when they have an already-parsed OpenSearch descriptor
|
||||
* disable TLS resumption by default (thanks to @uazo)
|
||||
* partition DoH requests by top-frame NIK (thanks to @uazo)
|
||||
|
||||
# 100.0.4896.83
|
||||
* update zh_CN translations (thanks to @zhmars)
|
||||
* fix custom UA reported via Javascript (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1936)
|
||||
* introduce session granularity for permissions (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1549)
|
||||
* disable crash reporting
|
||||
* avoid script injection on some sites
|
||||
* fix upstream OpenSearch bug with search engines prematurely discarded
|
||||
* fix upstream DNS bug with inconsistent Android system DNS configuration (fixes https://github.com/bromite/bromite/issues/1960)
|
||||
* use less invasive approach to protect local IP address when using webRTC (fixes https://github.com/bromite/bromite/issues/589)
|
||||
* add menu entry to select all bookmarks (fixes https://github.com/bromite/bromite/issues/1959)
|
||||
* fix Note 9 crash on startup (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1871)
|
||||
* remove passwords menu entry for leak check
|
||||
* remove privacy menu entry to use phone as a security key
|
||||
|
||||
# 100.0.4896.57
|
||||
* allow OpenSearch search engine URLs with path
|
||||
* disable AsyncDNS by default
|
||||
* remove translate menu entries
|
||||
* fix patch to remove contextual search (thanks to @nikolowry)
|
||||
* add option to never expire history
|
||||
* improve description for JIT site settings (fixes https://github.com/bromite/bromite/issues/1931)
|
||||
* remove more signin integration (fixes https://github.com/bromite/bromite/issues/1902)
|
||||
* miscellaneous fixes for AMP and background video playback (fixes https://github.com/bromite/bromite/issues/1921)
|
||||
* update zh_CN translations (thanks to @zhmars)
|
||||
|
||||
# 99.0.4844.77
|
||||
* fix missing adaptive icon for updates
|
||||
* do not close adblock filters editor when tapping reset button
|
||||
* change text for 'Never' in history days to keep setting
|
||||
* bring back dictionary hints in address bar
|
||||
|
||||
# 99.0.4844.58
|
||||
* remove contextual search (fixes https://github.com/bromite/bromite/issues/1750)
|
||||
* remove global JIT settings
|
||||
* add privacy setting for how many number of days of history to keep (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1870)
|
||||
* disable UA full version (thanks to @uazo)
|
||||
* reintroduce patch for Save-Data header
|
||||
* updated zh_CN translations (thanks to @zhmars)
|
||||
* reintroduce Save-Data header flag
|
||||
|
||||
# 99.0.4844.55
|
||||
* flag to enable Certificate Transparency (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1554)
|
||||
* allow adding search engines from incognito mode
|
||||
* disable all predictors code (thanks to @uazo)
|
||||
* revert allow block of view-source URLs
|
||||
* enable StrictOriginIsolation and SitePerProcess for all devices (thanks to @uazo)
|
||||
* JIT toggle site setting (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1720 and https://github.com/bromite/bromite/issues/1819)
|
||||
* move always incognito preference to native (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1496 and https://github.com/bromite/bromite/issues/1568)
|
||||
* remove Save-Data header flag
|
||||
* close a potential security issue with user scripts on native pages (thanks to @uazo)
|
||||
* disable safety checks and possible Omaha interactions
|
||||
* disable SegmentationPlatformFeature and Optimization Hints (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1632)
|
||||
* add notification for a major upstream version being released (fixes https://github.com/bromite/bromite/issues/1796)
|
||||
* fix screenshots in incognito allowed by default (fixes https://github.com/bromite/bromite/issues/1816)
|
||||
|
||||
# 98.0.4758.116
|
||||
* disable minidumps upload
|
||||
* complete disabling of client hint headers (thanks to @uazo)
|
||||
* disable another way to activate origin trials (thanks to @uazo)
|
||||
* fix for gateway attacks via websockets blocking (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1693)
|
||||
|
||||
# 98.0.4758.108
|
||||
* re-introduce flag for text fragments
|
||||
* re-introduce content feature flag to disable field trials
|
||||
|
@ -51,6 +145,7 @@
|
|||
* fix incognito tab closing new tab under normal tab (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1030)
|
||||
* allow custom tab intents and opening external links in incognito (thanks to @uazo)
|
||||
* never use HTTP probes for connectivity check on Android < M
|
||||
* re-introduce option to use home page as NTP (thanks to @uazo, https://github.com/bromite/bromite/pull/1586)
|
||||
|
||||
# 94.0.4606.109
|
||||
* experimental user scripts support (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/792)
|
||||
|
@ -175,7 +270,7 @@
|
|||
* use 64-bit ABI for webview processes (fixes https://github.com/bromite/bromite/issues/997)
|
||||
* use dedicated folder for bookmark all tabs
|
||||
* fix Javascript and cookies permissions missing (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/990)
|
||||
* fix missing enable save data header flag (fixes https://github.com/bromite/bromite/issues/989)
|
||||
* fix missing enable Save-Data header flag (fixes https://github.com/bromite/bromite/issues/989)
|
||||
* fix menu items not properly displayed with tab overflow menu regroup (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/963)
|
||||
|
||||
# 89.0.4389.78
|
||||
|
|
10
FAQ.md
10
FAQ.md
|
@ -48,9 +48,7 @@ It is not on the official F-Droid repository and there are no (more) plans to su
|
|||
You can use F-Droid client to install and receive updates via [the official Bromite F-Droid repository](https://www.bromite.org/fdroid).
|
||||
|
||||
## Does Bromite support WebRTC?
|
||||
Yes, since version 69. While the desktop version of Chromium has an option to disable it (video/audio site settings), the Android version cannot.
|
||||
|
||||
The WebRTC functionality has always been using safe defaults to prevent leaks (disabled multiple routes and non-proxied UDP).
|
||||
Partially, see https://github.com/bromite/bromite/wiki/WebRTC
|
||||
|
||||
## Using Bromite will favour the monopoly of the Chromium/Blink engine, why do you develop and maintain Bromite?
|
||||
In short, to show what a Chromium-based engine could do **for the user** if the user experience and needs were the main focus of modern browser design.
|
||||
|
@ -85,3 +83,9 @@ No.
|
|||
Bromite does not make any choice related to default search engines, the Chromium default is used.
|
||||
Various Android browsers get some fee to ship their apps with a specific default search engine, Bromite does not get any fee from anyone.
|
||||
Changing the default search engine would lead to an endless series of requests to change it based on personal preferences, thus no change is made to the default.
|
||||
See also: https://github.com/bromite/bromite/wiki/SearchEngines
|
||||
|
||||
## Some sites show ads, how can I fix this?
|
||||
You can compare the blocked URLs with a desktop browser and Bromite (using [remote debugging](https://developer.chrome.com/docs/devtools/remote-debugging/)) and figure out some new filter rules to be added.
|
||||
If the ads are blocked via cosmetic filtering then blocking them is not possible with Bromite's engine and you might need something like an [user script](https://github.com/bromite/bromite/wiki/UserScripts) instead.
|
||||
See also: https://github.com/bromite/bromite/wiki/AdBlocking
|
||||
|
|
65
README.md
65
README.md
|
@ -7,11 +7,11 @@ security and privacy and fix various annoyances.
|
|||
|
||||
One patch has been removed from the original Bromite distribution:
|
||||
|
||||
- Automated domain substitution
|
||||
- Automated domain substitution
|
||||
|
||||
One patch has been modified:
|
||||
|
||||
- The Bromite adblock engine is disabled by default
|
||||
- The Bromite adblock engine is disabled by default
|
||||
|
||||
# Build instructions
|
||||
|
||||
|
@ -52,13 +52,13 @@ cd /tank/chromium4allen/src
|
|||
|
||||
## Prepare Chromium
|
||||
|
||||
The patches are intended to be applied to the `98.0.4758.108` tag of
|
||||
The patches are intended to be applied to the `101.0.4951.69` tag of
|
||||
the Chromium repo. Before continuing, make sure you are on that tag in
|
||||
the Chromium source repo:
|
||||
|
||||
```
|
||||
git fetch origin
|
||||
git checkout -B promethean-98.0.4758.108 98.0.4758.108
|
||||
git checkout -B promethean-101.0.4951.69 101.0.4951.69
|
||||
gclient sync --with_branch_heads --with_tags
|
||||
gclient runhooks
|
||||
```
|
||||
|
@ -88,7 +88,7 @@ done
|
|||
```
|
||||
|
||||
All patches should apply cleanly. If they did not, make sure you have
|
||||
checked out the proper Chromium tag (98.0.4758.108).
|
||||
checked out the proper Chromium tag (101.0.4951.69).
|
||||
|
||||
## Getting the third dependencies
|
||||
|
||||
|
@ -154,21 +154,21 @@ If you do not have an upstream remote, add it with:
|
|||
|
||||
2. Retrieve the upstream changes
|
||||
|
||||
git fetch upstream
|
||||
git fetch upstream
|
||||
|
||||
3. Find the latest Bromite release tag
|
||||
|
||||
git describe --tags --abbrev=0 upstream/master
|
||||
git describe --tags --abbrev=0 upstream/master
|
||||
|
||||
This will give you output like `98.0.4758.108` which we'll use as an example going forward.
|
||||
This will give you output like `101.0.4951.69` which we'll use as an example going forward.
|
||||
|
||||
4. Create a new branch based on this tag
|
||||
|
||||
git checkout -b upstream-98.0.4758.108 98.0.4758.108
|
||||
git checkout -b upstream-101.0.4951.69 101.0.4951.69
|
||||
|
||||
5. Rebase this branch on the current master
|
||||
|
||||
git rebase origin/master
|
||||
git rebase origin/master
|
||||
|
||||
If the rebase complete cleanly, you're done! Push the branch and open
|
||||
a PR to master.
|
||||
|
@ -224,9 +224,10 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
|||
* always-incognito mode
|
||||
* disable all field trials permanently
|
||||
* disable smart search by default, allow web search from incognito mode
|
||||
* always-visible cookies, javascript and ads site settings
|
||||
* always-visible cookies, javascript and ads site settings from address bar popup
|
||||
* remove Play integration binary blobs
|
||||
* use [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) on all architectures except x86
|
||||
* enable trivial auto var init
|
||||
* disable media router and remoting by default
|
||||
* disable dynamic module loading
|
||||
* show warnings for TLSv1.0/TLSv1.1 pages
|
||||
|
@ -240,7 +241,7 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
|||
* security enhancement patches from [GrapheneOS](https://github.com/GrapheneOS) project
|
||||
* disable scroll-to-text-fragment
|
||||
* reduced referer granularity
|
||||
* block gateway attacks via websockets
|
||||
* block gateway attacks via websockets (partial fix, see [this upstream issue](https://bugs.chromium.org/p/chromium/issues/detail?id=590714))
|
||||
* use 64-bit ABI for webview processes
|
||||
* make all favicon requests on-demand ([supercookie](https://supercookie.me/) mitigation)
|
||||
* enable all network isolation features (`PartitionConnectionsByNetworkIsolationKey`, `PartitionHttpServerPropertiesByNetworkIsolationKey`, `SplitHostCacheByNetworkIsolationKey`, `AppendFrameOriginToNetworkIsolationKey`, `SplitCacheByNetworkIsolationKey`, `UseRegistrableDomainInNetworkIsolationKey`, `PartitionSSLSessionsByNetworkIsolationKey`, `PartitionExpectCTStateByNetworkIsolationKey`, `PartitionDomainReliabilityByNetworkIsolationKey`)
|
||||
|
@ -248,21 +249,32 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
|||
* ask permission to play protected media
|
||||
* disable the DIAL repeating discovery
|
||||
* disable RTCGetCurrentBrowsingContextMedia by default
|
||||
* disable FLoC by default
|
||||
* disable FLoC and privacy sandbox by default
|
||||
* disable feeds
|
||||
* disable reporting of certificate errors
|
||||
* use pre-defined phone model for client hints and Javascript
|
||||
* site settings to disable images
|
||||
* allow forcing external links to open in incognito
|
||||
* disable AGSA by default
|
||||
* allow disabling JIT
|
||||
* flag to enable Certificate Transparency
|
||||
* allow adding search engines from incognito mode
|
||||
* disable predictors
|
||||
* disable supervised users
|
||||
* disable safety check
|
||||
* disable capability to block `view-source:` URLs
|
||||
* disable `SegmentationPlatformFeature`, `OptimizationHints`, client hint headers
|
||||
* disable `AsyncDNS` by default
|
||||
* customize history expiration threshold
|
||||
* disable idle detection
|
||||
* HTTPS-only mode enabled by default
|
||||
* disable TLS resumption by default
|
||||
* partition DoH requests by top-frame NIK
|
||||
* add option to use home page as NTP
|
||||
|
||||
## Features not related to privacy
|
||||
* browser automatic updates, enabled by default
|
||||
* native Android autofill support
|
||||
* import/export bookmarks
|
||||
* bookmark all tabs from tabs regroup menu
|
||||
* flag to allow screenshots of incognito tabs
|
||||
* allow playing videos in background tabs and disable pause on switching tabs
|
||||
* all codecs included (proprietary, open H.264 etc.)
|
||||
* [AV1 codec support](https://github.com/bromite/bromite/wiki/AV1-support)
|
||||
|
@ -275,14 +287,17 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
|
|||
* adding an URL as bookmark will clear its blocked status for the NTP tiles
|
||||
* history support in incognito mode
|
||||
* view source of pages
|
||||
* timezone customization
|
||||
* sticky desktop mode setting
|
||||
* disable video autoplay by default, reintroduce site settings
|
||||
* mobile/desktop user agent customization
|
||||
* accessibility preference to force tablet UI
|
||||
* use Alt+D to focus address bar
|
||||
* allow sharing to Bromite
|
||||
* UI for crash information collection
|
||||
* allow OpenSearch search engine detection in incognito
|
||||
* allow OpenSearch search engine detection with paths
|
||||
* keyboard dictionary hints in address bar
|
||||
* always allow `view-source:` URLs
|
||||
* allow moving navigation bar to bottom
|
||||
|
||||
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
|
||||
|
||||
|
@ -307,7 +322,6 @@ New flags:
|
|||
* `#max-connections-per-host`
|
||||
* `#resume-background-video`
|
||||
* `#ipv6-probing`
|
||||
* `#disable-webgl`
|
||||
* `#enable-device-motion` and `#enable-device-orientation`
|
||||
* `#show-legacy-tls-warnings`
|
||||
* `#save-data-header`, disabled by default
|
||||
|
@ -316,6 +330,19 @@ New flags:
|
|||
* `#cleartext-permitted`, enabled by default, can be used to disable all cleartext-HTTP traffic
|
||||
* `#omnibox-autocomplete-filtering`, can be used to restrict omnibox autocomplete results
|
||||
* `#disable-external-intent-requests`
|
||||
* `#enable-userscripts-log`, see https://github.com/bromite/bromite/wiki/UserScripts#flags
|
||||
* `#certificate-transparency-enabled`, enabled by default; see https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md
|
||||
* `#move-top-toolbar-to-bottom`, disabled by default
|
||||
* `#site-engagement`, enabled by default
|
||||
|
||||
### Site settings
|
||||
|
||||
* webGL, disabled by default
|
||||
* images, enabled by default
|
||||
* Javascript JIT, disabled by default
|
||||
* timezone customization override
|
||||
* autoplay, disabled by default
|
||||
* webRTC, disabled by default
|
||||
|
||||
# Privacy limitations
|
||||
|
||||
|
|
1
build/LASTCHANGE
Normal file
1
build/LASTCHANGE
Normal file
|
@ -0,0 +1 @@
|
|||
f441c1f02214920ad09ab14ca8be3eaa4b5a942a-
|
|
@ -1 +1 @@
|
|||
98.0.4758.108
|
||||
101.0.4951.69
|
1
build/RELEASE_COMMIT
Normal file
1
build/RELEASE_COMMIT
Normal file
|
@ -0,0 +1 @@
|
|||
3b19d1cba55608c5382ebd24ffdfa28d937c9e37
|
|
@ -1,5 +1,7 @@
|
|||
android_channel="stable"
|
||||
blink_symbol_level=1
|
||||
build_contextual_search=false
|
||||
build_with_tflite_lib=false
|
||||
chrome_pgo_phase=0
|
||||
dcheck_always_on=false
|
||||
debuggable_apks=false
|
||||
|
@ -20,7 +22,7 @@ enable_platform_dolby_vision=true
|
|||
enable_platform_hevc=true
|
||||
enable_remoting=false
|
||||
enable_reporting=false
|
||||
enable_supervised_users = false
|
||||
enable_supervised_users=false
|
||||
enable_vr=false
|
||||
exclude_unwind_tables=false
|
||||
ffmpeg_branding="Chrome"
|
||||
|
@ -37,7 +39,7 @@ system_webview_package_name="org.bromite.webview"
|
|||
target_os="android"
|
||||
target_cpu="arm"
|
||||
treat_warnings_as_errors=false
|
||||
use_cfi_cast = true
|
||||
use_cfi_cast=true
|
||||
use_debug_fission=true
|
||||
use_errorprone_java_compiler=false
|
||||
use_gnome_keyring=false
|
||||
|
|
|
@ -9,7 +9,6 @@ Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
|||
Bromite-package-name.patch
|
||||
Restore-classic-new-tab-page.patch
|
||||
Always-use-new-tab-page-for-default-home-page.patch
|
||||
Always-allow-partner-customisation.patch
|
||||
battery_status_service-disable-more-privacy-nightmares.patch
|
||||
Battery-API-return-nothing.patch
|
||||
updater-disable-updater-pings.patch
|
||||
|
@ -21,22 +20,19 @@ Do-not-hide-component-extensions.patch
|
|||
Do-not-store-passwords-by-default.patch
|
||||
Disable-NTP-remote-suggestions-by-default.patch
|
||||
Disable-references-to-fonts.googleapis.com.patch
|
||||
Change-default-webRTC-policy-to-not-use-any-address.patch
|
||||
Hide-send-reports-checkbox.patch
|
||||
webRTC-do-not-expose-local-IP-addresses.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.patch
|
||||
ungoogled-chromium-Disable-intranet-redirect-detector.patch
|
||||
ungoogled-chromium-Disable-Google-host-detection.patch
|
||||
ungoogled-chromium-no-special-hosts-domains.patch
|
||||
ungoogled-chromium-Disable-Gaia.patch
|
||||
ungoogled-chromium-Disable-domain-reliability.patch
|
||||
ungoogled-chromium-Disable-Network-Time-Tracker.patch
|
||||
Disable-safe-browsing.patch
|
||||
Skip-the-first-run-and-remove-report-sending.patch
|
||||
Disable-all-promo-dialogs.patch
|
||||
Remove-signin-and-data-saver-integrations.patch
|
||||
Remove-signin-integrations.patch
|
||||
Hide-passwords-manager-link.patch
|
||||
Disable-update-scheduler.patch
|
||||
Add-English-only-search-engine.patch
|
||||
|
@ -53,19 +49,29 @@ AudioBuffer-AnalyserNode-fp-mitigations.patch
|
|||
Multiple-fingerprinting-mitigations.patch
|
||||
Add-flag-to-configure-maximum-connections-per-host.patch
|
||||
Do-not-ignore-download-location-prompt-setting.patch
|
||||
Add-support-for-writing-URIs.patch
|
||||
Add-bookmark-import-export-actions.patch
|
||||
Bookmarks-select-all-menu-entry.patch
|
||||
Add-an-always-incognito-mode.patch
|
||||
Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
|
||||
Add-option-to-not-persist-tabs-across-sessions.patch
|
||||
Add-a-proxy-configuration-page.patch
|
||||
Move-some-account-settings-back-to-privacy-settings.patch
|
||||
Remove-contextual-search-manager.patch
|
||||
Add-custom-tab-intents-privacy-option.patch
|
||||
Disable-FLoC-and-privacy-sandbox.patch
|
||||
History-number-of-days-privacy-setting.patch
|
||||
Disable-fetching-of-all-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
|
||||
Add-flag-to-disable-IPv6-probes.patch
|
||||
profile-resetter-do-not-tick-send-settings-by-default.patch
|
||||
Do-not-build-API-keys-infobar.patch
|
||||
autofill-disable-autofill-download-manager.patch
|
||||
autofill-miscellaneous.patch
|
||||
Enable-native-Android-autofill.patch
|
||||
first_run-deactivate-autoupdate-globally.patch
|
||||
translate-disable-fetching-of-translate-languages-from-server.patch
|
||||
kill-TOS.patch
|
||||
translate-disable-fetching-of-languages-from-server.patch
|
||||
kill-Vision.patch
|
||||
kill-Location-fall-back-to-system.patch
|
||||
kill-Auth.patch
|
||||
|
@ -74,13 +80,10 @@ Remove-SMS-integration.patch
|
|||
Do-not-compile-QR-code-sharing.patch
|
||||
Allow-website-sign-in-without-account-sign-in.patch
|
||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||
Add-flag-to-disable-IPv6-probes.patch
|
||||
Add-a-proxy-configuration-page.patch
|
||||
Use-4-tile-rows-never-show-logo.patch
|
||||
Disable-metrics-on-all-I-O-threads.patch
|
||||
Disable-various-metrics.patch
|
||||
Disable-metrics-collection-for-NTP-tiles.patch
|
||||
Enable-SPPI-for-devices-with-enough-memory.patch
|
||||
Enable-StrictOriginIsolation-and-SitePerProcess.patch
|
||||
Use-64-bit-WebView-processes.patch
|
||||
prefs-disable-signinallowed-by-default.patch
|
||||
prefs-always-prompt-for-download-directory-by-default.patch
|
||||
|
@ -96,26 +99,21 @@ Replace-DoH-probe-domain-with-RIPE-domain.patch
|
|||
Increase-number-of-autocomplete-matches-to-10.patch
|
||||
Disable-requests-for-single-word-Omnibar-searches.patch
|
||||
Disable-some-signed-exchange-features.patch
|
||||
Add-flag-to-disable-WebGL.patch
|
||||
DoH-secure-mode-by-default.patch
|
||||
DoH-improvements.patch
|
||||
Reduce-HTTP-headers-in-DoH-requests-to-bare-minimum.patch
|
||||
Revert-flags-remove-disable-pull-to-refresh-effect.patch
|
||||
Use-dummy-DFM-installer.patch
|
||||
Disable-feeds-support-by-default.patch
|
||||
Disable-autofill-assistant-by-default.patch
|
||||
Show-site-settings-for-cookies-javascript-and-ads.patch
|
||||
Disable-DRM-media-origin-IDs-preprovisioning.patch
|
||||
Disable-smart-selection-by-default.patch
|
||||
Enable-user-agent-freeze-by-default.patch
|
||||
disable-browser-autologin-by-default.patch
|
||||
AImageReader-CFI-crash-mitigations.patch
|
||||
Update-i18n-zh_CN-support.patch
|
||||
Add-a-flag-to-allow-screenshots-in-Incognito-mode.patch
|
||||
Add-menu-item-to-view-source.patch
|
||||
Block-gateway-attacks-via-websockets.patch
|
||||
Enable-prefetch-privacy-changes-by-default.patch
|
||||
Disable-support-for-RAR-files-inspection.patch
|
||||
Add-history-support-in-incognito-mode.patch
|
||||
Enable-darken-websites-checkbox-in-themes.patch
|
||||
Remove-blocklisted-URLs-upon-bookmark-creation.patch
|
||||
Disable-the-DIAL-repeating-discovery.patch
|
||||
|
@ -123,22 +121,18 @@ Block-qjz9zk-or-trk-requests.patch
|
|||
Hardening-against-incognito-mode-detection.patch
|
||||
Remove-weblayer-dependency-on-Play-Services.patch
|
||||
Timezone-customization.patch
|
||||
Move-some-account-settings-back-to-privacy-settings.patch
|
||||
Restore-Simplified-NTP-launch.patch
|
||||
Add-option-to-use-home-page-as-NTP.patch
|
||||
Revert-the-removal-of-an-option-to-block-autoplay.patch
|
||||
Disable-text-fragments-by-default.patch
|
||||
disable-WebView-variations-support.patch
|
||||
disable-autofill-server-communication-by-default.patch
|
||||
ask-permission-to-play-protected-media-by-default.patch
|
||||
Enable-network-isolation-features.patch
|
||||
Disable-unified-autoplay-feature.patch
|
||||
Revert-flags-remove-num-raster-threads.patch
|
||||
webview-Hard-no-to-persistent-histograms.patch
|
||||
Ignore-enterprise-policies-for-secure-DNS.patch
|
||||
Add-menu-item-to-bookmark-all-tabs.patch
|
||||
Ask-user-before-closing-all-tabs.patch
|
||||
Add-flag-for-save-data-header.patch
|
||||
Add-option-to-force-tablet-UI.patch
|
||||
Make-all-favicon-requests-on-demand.patch
|
||||
Add-Alt-D-hotkey-to-focus-address-bar.patch
|
||||
|
@ -152,7 +146,7 @@ Enable-IntentBlockExternalFormRedirectsNoGesture-by-default.patch
|
|||
Add-flag-to-disable-external-intent-requests.patch
|
||||
Logcat-crash-reports-UI.patch
|
||||
Add-support-for-ISupportHelpAndFeedback.patch
|
||||
JIT-less-toggle.patch
|
||||
JIT-site-settings.patch
|
||||
API-level-21-prevent-crash-on-download.patch
|
||||
Add-flag-to-disable-vibration.patch
|
||||
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
|
||||
|
@ -160,18 +154,14 @@ Client-hints-overrides.patch
|
|||
Disable-AGSA-by-default.patch
|
||||
Allow-building-without-enable_reporting.patch
|
||||
Disable-lock-icon-in-address-bar-by-default.patch
|
||||
Add-custom-tab-intents-privacy-option.patch
|
||||
Enable-share-intent.patch
|
||||
Site-setting-for-images.patch
|
||||
Experimental-user-scripts-support.patch
|
||||
Enable-native-Android-autofill.patch
|
||||
Keep-empty-tabs-between-sessions.patch
|
||||
Disable-third-party-origin-trials.patch
|
||||
Never-use-HTTP-probes-for-connection-detection.patch
|
||||
Disable-Accessibility-service-by-default.patch
|
||||
Disable-privacy-sandbox.patch
|
||||
Disable-conversion-measurement-api.patch
|
||||
Disable-FLoC.patch
|
||||
Restore-offline-indicator-v2-flag.patch
|
||||
Reintroduce-override_build_timestamp.patch
|
||||
enable-ftrivial-auto-var-init-zero.patch
|
||||
|
@ -179,8 +169,31 @@ disable-appending-variations-header.patch
|
|||
Make-HTTPS-only-mode-the-default.patch
|
||||
disable-mobile-identity-consistency-by-default.patch
|
||||
Disable-idle-detection.patch
|
||||
Automated-domain-substitution.patch
|
||||
Allow-building-without-supervised-users.patch
|
||||
Disable-minidump-upload-scheduling.patch
|
||||
Revert-Permit-blocking-of-view-source-with-URLBlocklist.patch
|
||||
Disable-safety-check.patch
|
||||
Disable-all-predictors-code.patch
|
||||
OpenSearch-miscellaneous.patch
|
||||
Enable-Certificate-Transparency.patch
|
||||
Update-i18n-zh_CN-support.patch
|
||||
Add-flag-for-save-data-header.patch
|
||||
Disable-UA-full-version.patch
|
||||
Revert-Disable-Dictionary-suggestions-for-the-Omnibox.patch
|
||||
Disable-AsyncDNS-by-default.patch
|
||||
Add-lifetime-options-for-permissions.patch
|
||||
Disable-crash-reporting.patch
|
||||
Samsung-Note-9-SDK27-crazylinker-workaround.patch
|
||||
Disable-TLS-resumption.patch
|
||||
Partition-DNS-requests-by-top-frame-NIK.patch
|
||||
Remove-mremap-from-seccomp-baseline-policy.patch
|
||||
Move-navigation-bar-to-bottom.patch
|
||||
Content-settings-infrastructure.patch
|
||||
Add-webGL-site-setting.patch
|
||||
Add-site-engagement-flag.patch
|
||||
Add-webRTC-site-settings.patch
|
||||
enable-process-isolated-sandboxed-iframes-by-default.patch
|
||||
Automated-domain-substitution.patch
|
||||
Turn-AdBlock-off-by-default.patch
|
||||
Force-tablet-mode.patch
|
||||
Set-default-page-url.patch
|
||||
|
@ -196,3 +209,4 @@ Fix-uncheck-desktop-site-no-effect.patch
|
|||
Fix-not-current-site-when-tab-opened-blank-target.patch
|
||||
Modify-default-url-AP9-5158.patch
|
||||
Hide-bookmark-and-settings.patch
|
||||
Fix-build-error-of-101_0_4951_69.patch
|
|
@ -1,5 +1,7 @@
|
|||
android_channel="stable"
|
||||
blink_symbol_level=1
|
||||
build_contextual_search=false
|
||||
build_with_tflite_lib=false
|
||||
chrome_pgo_phase=0
|
||||
dcheck_always_on=false
|
||||
debuggable_apks=false
|
||||
|
@ -20,6 +22,7 @@ enable_platform_dolby_vision=true
|
|||
enable_platform_hevc=true
|
||||
enable_remoting=false
|
||||
enable_reporting=true
|
||||
enable_supervised_users=false
|
||||
enable_vr=false
|
||||
exclude_unwind_tables=false
|
||||
ffmpeg_branding="Chrome"
|
||||
|
@ -34,7 +37,7 @@ safe_browsing_mode=2
|
|||
symbol_level=1
|
||||
system_webview_package_name="com.android.webview"
|
||||
target_os="android"
|
||||
use_cfi_cast = true
|
||||
use_cfi_cast=true
|
||||
use_debug_fission=true
|
||||
use_errorprone_java_compiler=false
|
||||
use_gnome_keyring=false
|
||||
|
|
|
@ -8,4 +8,5 @@ Switch-to-fstack-protector-strong.patch
|
|||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
||||
enable-ftrivial-auto-var-init-zero.patch
|
||||
Disable-feeds-support-by-default.patch
|
||||
Allow-building-without-supervised-users.patch
|
||||
Chromium-package-name.patch
|
||||
|
|
|
@ -82,8 +82,8 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
|
|||
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
|
||||
@@ -2144,9 +2144,9 @@
|
||||
"expiry_milestone": 100
|
||||
@@ -2287,9 +2287,9 @@
|
||||
"expiry_milestone": 106
|
||||
},
|
||||
{
|
||||
- "name": "enable-image-reader",
|
||||
|
@ -98,7 +98,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
|||
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
|
||||
--- a/gpu/config/gpu_driver_bug_list.json
|
||||
+++ b/gpu/config/gpu_driver_bug_list.json
|
||||
@@ -3191,6 +3191,22 @@
|
||||
@@ -3198,6 +3198,22 @@
|
||||
"dont_delete_source_texture_for_egl_image"
|
||||
]
|
||||
},
|
||||
|
@ -125,24 +125,24 @@ 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
|
||||
@@ -52,6 +52,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
|
||||
|
||||
} // namespace
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
+
|
||||
+// Use android AImageReader when playing videos with MediaPlayer.
|
||||
+const base::Feature kAImageReaderMediaPlayer{"AImageReaderMediaPlayer",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Used to limit GL version to 2.0 for skia raster on Android.
|
||||
const base::Feature kUseGles2ForOopR{"UseGles2ForOopR",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
|
||||
--- a/gpu/config/gpu_finch_features.h
|
||||
+++ b/gpu/config/gpu_finch_features.h
|
||||
@@ -17,6 +17,7 @@ namespace features {
|
||||
// All features in alphabetical order. The features should be documented
|
||||
// alongside the definition of their values in the .cc file.
|
||||
#if defined(OS_ANDROID)
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
|
||||
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
|
||||
GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
|
||||
|
@ -150,8 +150,8 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
|
|||
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
||||
--- a/gpu/config/gpu_util.cc
|
||||
+++ b/gpu/config/gpu_util.cc
|
||||
@@ -114,6 +114,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
|
||||
#if !defined(OS_ANDROID)
|
||||
@@ -117,6 +117,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
return kGpuFeatureStatusDisabled;
|
||||
#else
|
||||
+ if (blocklisted_features.count(GPU_FEATURE_TYPE_ANDROID_SURFACE_CONTROL))
|
||||
|
@ -160,7 +160,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
|||
if (!gpu_preferences.enable_android_surface_control)
|
||||
return kGpuFeatureStatusDisabled;
|
||||
|
||||
@@ -356,6 +359,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
|
||||
@@ -330,6 +333,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
|
||||
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
|
||||
kGpuFeatureStatusBlocklisted;
|
||||
}
|
||||
|
@ -181,14 +181,14 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
|
|||
disable_accelerated_av1_decode
|
||||
+disable_aimagereader
|
||||
disable_accelerated_h264_encode
|
||||
disable_accelerated_hevc_decode
|
||||
disable_accelerated_vp8_decode
|
||||
disable_accelerated_vp8_encode
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -518,6 +518,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
@@ -580,6 +580,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
+ // Disable AImageReader if the workaround is enabled.
|
||||
+ if (gpu_feature_info_.IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
|
||||
|
@ -229,7 +229,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -663,6 +663,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
@@ -687,6 +687,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
|
||||
const base::Feature kMediaDrmPreprovisioningAtStartup{
|
||||
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
@ -243,7 +243,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
|||
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
|
||||
--- a/media/base/media_switches.h
|
||||
+++ b/media/base/media_switches.h
|
||||
@@ -212,6 +212,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
|
||||
@@ -215,6 +215,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
|
||||
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
|
||||
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
|
||||
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
|
||||
|
|
|
@ -7,13 +7,21 @@ This patch ignores boolean settings for them and prevents the crash.
|
|||
|
||||
See also: https://github.com/bromite/bromite/issues/1184
|
||||
---
|
||||
.../internal/BundleToPersistableBundleConverter.java | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
.../BundleToPersistableBundleConverter.java | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
@@ -85,9 +85,17 @@ class BundleToPersistableBundleConverter {
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
package org.chromium.components.background_task_scheduler.internal;
|
||||
|
||||
+import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
|
||||
@@ -82,9 +83,17 @@ class BundleToPersistableBundleConverter {
|
||||
if (obj == null) {
|
||||
persistableBundle.putString(key, null);
|
||||
} else if (obj instanceof Boolean) {
|
||||
|
|
|
@ -24,39 +24,39 @@ Report AV1 as playable on Android
|
|||
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
||||
--- a/third_party/libaom/BUILD.gn
|
||||
+++ b/third_party/libaom/BUILD.gn
|
||||
@@ -82,7 +82,7 @@ if (enable_libaom) {
|
||||
sources += aom_dsp_encoder_asm_sse2_x86_64
|
||||
sources += aom_dsp_encoder_asm_ssse3_x86_64
|
||||
}
|
||||
- defines = [ "CHROMIUM" ]
|
||||
+ defines = [ "CHROMIUM", "PIC" ]
|
||||
include_dirs = libaom_include_dirs
|
||||
@@ -81,7 +81,7 @@ if (current_cpu == "x86" || (current_cpu == "x64" && !is_msan)) {
|
||||
sources += aom_dsp_encoder_asm_sse2_x86_64
|
||||
sources += aom_dsp_encoder_asm_ssse3_x86_64
|
||||
}
|
||||
- defines = [ "CHROMIUM" ]
|
||||
+ defines = [ "CHROMIUM", "PIC" ]
|
||||
include_dirs = libaom_include_dirs
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ if (enable_libaom) {
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
if (current_cpu == "arm") {
|
||||
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
|
||||
- cflags = [ "-mfpu=neon" ]
|
||||
+ cflags = [ "-mfpu=neon", "-fPIC" ]
|
||||
}
|
||||
configs += [ ":libaom_config" ]
|
||||
|
||||
@@ -257,6 +257,8 @@ if (enable_libaom) {
|
||||
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
|
||||
cpu_arch_full == "arm-neon-cpu-detect") {
|
||||
deps += [ ":libaom_intrinsics_neon" ]
|
||||
+ # will detect CPU
|
||||
+ sources += aom_ports_arm_sources
|
||||
@@ -193,7 +193,7 @@ if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
if (current_cpu == "arm") {
|
||||
configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
|
||||
- cflags = [ "-mfpu=neon" ]
|
||||
+ cflags = [ "-mfpu=neon", "-fPIC" ]
|
||||
}
|
||||
if (is_android) {
|
||||
deps += [ "//third_party/android_ndk:cpu_features" ]
|
||||
configs += [ ":libaom_config" ]
|
||||
|
||||
@@ -255,6 +255,8 @@ static_library("libaom") {
|
||||
if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
|
||||
cpu_arch_full == "arm-neon-cpu-detect") {
|
||||
deps += [ ":libaom_intrinsics_neon" ]
|
||||
+ # will detect CPU
|
||||
+ sources += aom_ports_arm_sources
|
||||
}
|
||||
if (is_android) {
|
||||
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
|
||||
@@ -643,6 +643,11 @@ aom_mem_sources = [
|
||||
|
||||
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/float.asm" ]
|
||||
@@ -655,6 +655,11 @@ aom_rc_interface_sources = [
|
||||
"//third_party/libaom/source/libaom/test/yuv_video_source.h",
|
||||
]
|
||||
|
||||
+aom_ports_arm_sources = [
|
||||
+ "//third_party/libaom/source/libaom/aom_ports/arm_cpudetect.c",
|
||||
|
@ -69,7 +69,7 @@ diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs
|
|||
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
|
||||
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
CONFIG_OPTICAL_FLOW_API equ 0
|
||||
CONFIG_OS_SUPPORT equ 1
|
||||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
|
@ -81,7 +81,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
|
|||
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -93,7 +93,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/a
|
|||
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
|
||||
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
CONFIG_OPTICAL_FLOW_API equ 0
|
||||
CONFIG_OS_SUPPORT equ 1
|
||||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
|
@ -105,7 +105,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.a
|
|||
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -117,7 +117,7 @@ diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
|
|||
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
|
||||
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
CONFIG_OPTICAL_FLOW_API equ 0
|
||||
CONFIG_OS_SUPPORT equ 1
|
||||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
|
@ -129,7 +129,7 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/
|
|||
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -141,7 +141,7 @@ diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/th
|
|||
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
||||
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
CONFIG_OPTICAL_FLOW_API equ 0
|
||||
CONFIG_OS_SUPPORT equ 1
|
||||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
|
@ -153,7 +153,7 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
|
|||
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -165,7 +165,7 @@ diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/
|
|||
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
|
||||
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
@@ -49,7 +49,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
|
||||
CONFIG_OPTICAL_FLOW_API equ 0
|
||||
CONFIG_OS_SUPPORT equ 1
|
||||
CONFIG_PARTITION_SEARCH_ORDER equ 0
|
||||
|
@ -177,7 +177,7 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.as
|
|||
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -189,7 +189,7 @@ diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h
|
|||
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
|
||||
@@ -40,7 +40,7 @@
|
||||
@@ -39,7 +39,7 @@
|
||||
%define CONFIG_OPTICAL_FLOW_API 0
|
||||
%define CONFIG_OS_SUPPORT 1
|
||||
%define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
@ -201,7 +201,7 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/
|
|||
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
|
||||
@@ -52,7 +52,7 @@
|
||||
@@ -51,7 +51,7 @@
|
||||
#define CONFIG_OPTICAL_FLOW_API 0
|
||||
#define CONFIG_OS_SUPPORT 1
|
||||
#define CONFIG_PARTITION_SEARCH_ORDER 0
|
||||
|
|
|
@ -3,22 +3,22 @@ Date: Mon, 26 Apr 2021 13:28:24 +0000
|
|||
Subject: Add AllowUserCertificates flag
|
||||
|
||||
---
|
||||
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
||||
.../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
|
||||
chrome/browser/flags/android/chrome_feature_list.h | 1 +
|
||||
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
|
||||
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
|
||||
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
|
||||
10 files changed, 28 insertions(+)
|
||||
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
||||
.../chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
|
||||
chrome/browser/about_flags.cc | 6 +++++-
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
|
||||
chrome/browser/flags/android/chrome_feature_list.h | 1 +
|
||||
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
|
||||
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
|
||||
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
|
||||
10 files changed, 29 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -230,6 +230,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
@@ -232,6 +232,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
|
||||
import org.chromium.content_public.browser.SelectionPopupController;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.content_public.common.ContentSwitches;
|
||||
|
@ -26,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
import org.chromium.printing.PrintManagerDelegateImpl;
|
||||
import org.chromium.printing.PrintingController;
|
||||
import org.chromium.printing.PrintingControllerImpl;
|
||||
@@ -992,6 +993,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -995,6 +996,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
UpdateMenuItemHelper.getInstance().onStart();
|
||||
ChromeActivitySessionTracker.getInstance().onStartWithNative();
|
||||
ChromeCachedFlags.getInstance().cacheNativeFlags();
|
||||
|
@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
||||
@@ -92,6 +92,7 @@ public class ChromeCachedFlags {
|
||||
@@ -95,6 +95,7 @@ public class ChromeCachedFlags {
|
||||
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY);
|
||||
add(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS);
|
||||
add(ChromeFeatureList.IMMERSIVE_UI_MODE);
|
||||
|
@ -49,21 +49,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom
|
|||
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
|
||||
@@ -2787,6 +2787,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3076,7 +3076,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-container-queries", flag_descriptions::kCSSContainerQueriesName,
|
||||
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
|
||||
#if defined(OS_ANDROID)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) // Bromite allow user certificates
|
||||
+ {"allow-user-certificates",
|
||||
+ flag_descriptions::kAllowUserCertificatesName,
|
||||
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
|
||||
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
||||
{"contextual-search-debug", flag_descriptions::kContextualSearchDebugName,
|
||||
flag_descriptions::kContextualSearchDebugDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kContextualSearchDebug)},
|
||||
{"explore-sites", flag_descriptions::kExploreSitesName,
|
||||
flag_descriptions::kExploreSitesDescription, kOsAndroid,
|
||||
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites,
|
||||
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
|
||||
@@ -11,6 +11,11 @@
|
||||
@@ -13,6 +13,11 @@
|
||||
|
||||
namespace flag_descriptions {
|
||||
|
||||
|
@ -78,7 +80,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
|
||||
@@ -46,6 +46,9 @@ namespace flag_descriptions {
|
||||
@@ -38,6 +38,9 @@ namespace flag_descriptions {
|
||||
|
||||
// Cross-platform -------------------------------------------------------------
|
||||
|
||||
|
@ -91,15 +93,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -142,6 +142,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&feed::kFeedSignInPromoDismiss,
|
||||
@@ -147,6 +147,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&feed::kFeedLoadingPlaceholder,
|
||||
&feed::kInterestFeedContentSuggestions,
|
||||
&feed::kInterestFeedSpinnerAlwaysAnimate,
|
||||
+ &kAllowUserCertificates,
|
||||
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
|
||||
&feed::kInterestFeedV2,
|
||||
&feed::kInterestFeedV2Autoplay,
|
||||
@@ -385,6 +386,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
|
||||
@@ -406,6 +407,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
|
||||
"AdaptiveButtonInTopToolbarCustomizationV2",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -123,14 +125,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
@@ -48,6 +48,7 @@ public class CachedFeatureFlags {
|
||||
*/
|
||||
private static Map<String, Boolean> sDefaults =
|
||||
ImmutableMap.<String, Boolean>builder()
|
||||
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
|
||||
@@ -51,6 +51,7 @@ public class CachedFeatureFlags {
|
||||
.put(ChromeFeatureList.ANONYMOUS_UPDATE_CHECKS, true)
|
||||
.put(ChromeFeatureList.BOOKMARK_BOTTOM_SHEET, false)
|
||||
.put(ChromeFeatureList.CONDITIONAL_TAB_STRIP_ANDROID, false)
|
||||
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
|
||||
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
|
||||
.put(ChromeFeatureList.SERVICE_MANAGER_FOR_DOWNLOAD, true)
|
||||
.put(ChromeFeatureList.SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH, true)
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
|
@ -145,7 +147,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|||
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
--- a/net/android/java/src/org/chromium/net/X509Util.java
|
||||
+++ b/net/android/java/src/org/chromium/net/X509Util.java
|
||||
@@ -488,6 +488,8 @@ public class X509Util {
|
||||
@@ -437,6 +437,8 @@ public class X509Util {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -154,7 +156,7 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
|
|||
public static AndroidCertVerifyResult verifyServerCertificates(byte[][] certChain,
|
||||
String authType,
|
||||
String host)
|
||||
@@ -568,6 +570,9 @@ public class X509Util {
|
||||
@@ -517,6 +519,9 @@ public class X509Util {
|
||||
isIssuedByKnownRoot = isKnownRoot(root);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Add Alt+D hotkey to focus address bar
|
|||
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
|
||||
@@ -156,6 +156,8 @@ public class KeyboardShortcuts {
|
||||
@@ -155,6 +155,8 @@ public class KeyboardShortcuts {
|
||||
KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON);
|
||||
addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
|
||||
KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON);
|
||||
|
|
|
@ -42,7 +42,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
|
|||
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||
@@ -42,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
|
||||
@@ -41,7 +41,7 @@ const PrepopulatedEngine* const engines_AE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -51,7 +51,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -51,7 +51,7 @@ const PrepopulatedEngine* const engines_AL[] = {
|
||||
@@ -50,7 +50,7 @@ const PrepopulatedEngine* const engines_AL[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -60,7 +60,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -60,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
@@ -59,7 +59,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_ar,
|
||||
|
@ -69,7 +69,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
@@ -67,7 +67,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
const PrepopulatedEngine* const engines_AT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -78,7 +78,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_at,
|
||||
&ecosia,
|
||||
};
|
||||
@@ -78,7 +78,7 @@ const PrepopulatedEngine* const engines_AU[] = {
|
||||
@@ -77,7 +77,7 @@ const PrepopulatedEngine* const engines_AU[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_au,
|
||||
|
@ -87,7 +87,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -87,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
|
||||
@@ -86,7 +86,7 @@ const PrepopulatedEngine* const engines_BA[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -96,7 +96,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -97,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
|
||||
@@ -96,7 +96,7 @@ const PrepopulatedEngine* const engines_BE[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
|
@ -105,7 +105,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Bulgaria
|
||||
@@ -105,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
|
||||
@@ -104,7 +104,7 @@ const PrepopulatedEngine* const engines_BG[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -114,7 +114,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -114,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
|
||||
@@ -113,7 +113,7 @@ const PrepopulatedEngine* const engines_BH[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -123,7 +123,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -123,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
|
||||
@@ -122,7 +122,7 @@ const PrepopulatedEngine* const engines_BI[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -132,7 +132,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -132,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
|
||||
@@ -131,7 +131,7 @@ const PrepopulatedEngine* const engines_BN[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -141,7 +141,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -141,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
|
||||
@@ -140,7 +140,7 @@ const PrepopulatedEngine* const engines_BO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -150,7 +150,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -150,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
|
||||
@@ -149,7 +149,7 @@ const PrepopulatedEngine* const engines_BR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_br,
|
||||
|
@ -159,7 +159,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -160,7 +160,7 @@ const PrepopulatedEngine* const engines_BY[] = {
|
||||
@@ -159,7 +159,7 @@ const PrepopulatedEngine* const engines_BY[] = {
|
||||
&yandex_by,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
|
@ -168,7 +168,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Belize
|
||||
@@ -168,7 +168,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
|
||||
@@ -167,7 +167,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -177,7 +177,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -177,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
@@ -176,7 +176,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_ca,
|
||||
|
@ -186,7 +186,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
@@ -184,7 +184,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
const PrepopulatedEngine* const engines_CH[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -195,7 +195,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
&yahoo_ch,
|
||||
};
|
||||
@@ -195,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
|
||||
@@ -194,7 +194,7 @@ const PrepopulatedEngine* const engines_CL[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_cl,
|
||||
|
@ -204,7 +204,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
|
||||
@@ -213,7 +213,7 @@ const PrepopulatedEngine* const engines_CO[] = {
|
||||
&bing,
|
||||
&yahoo_co,
|
||||
&ecosia,
|
||||
|
@ -213,7 +213,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Costa Rica
|
||||
@@ -222,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
|
||||
@@ -221,7 +221,7 @@ const PrepopulatedEngine* const engines_CR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -222,7 +222,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -232,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
@@ -231,7 +231,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
&seznam_cz,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -231,7 +231,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Germany
|
||||
@@ -240,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
|
||||
@@ -239,7 +239,7 @@ const PrepopulatedEngine* const engines_DE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&ecosia,
|
||||
|
@ -240,7 +240,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_de,
|
||||
};
|
||||
|
||||
@@ -249,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
|
||||
@@ -248,7 +248,7 @@ const PrepopulatedEngine* const engines_DK[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_dk,
|
||||
|
@ -249,7 +249,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -258,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
|
||||
@@ -257,7 +257,7 @@ const PrepopulatedEngine* const engines_DO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -258,7 +258,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -268,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
|
||||
@@ -267,7 +267,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
|
||||
&bing,
|
||||
&yahoo_fr,
|
||||
&yandex_com,
|
||||
|
@ -267,7 +267,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Ecuador
|
||||
@@ -277,7 +277,7 @@ const PrepopulatedEngine* const engines_EC[] = {
|
||||
@@ -276,7 +276,7 @@ const PrepopulatedEngine* const engines_EC[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
|
@ -276,7 +276,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Estonia
|
||||
@@ -285,7 +285,7 @@ const PrepopulatedEngine* const engines_EE[] = {
|
||||
@@ -284,7 +284,7 @@ const PrepopulatedEngine* const engines_EE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
|
@ -285,7 +285,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
};
|
||||
|
||||
@@ -295,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
|
||||
@@ -294,7 +294,7 @@ const PrepopulatedEngine* const engines_EG[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
|
@ -294,7 +294,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Spain
|
||||
@@ -303,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
|
||||
@@ -302,7 +302,7 @@ const PrepopulatedEngine* const engines_ES[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -303,7 +303,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -312,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
|
||||
@@ -311,7 +311,7 @@ const PrepopulatedEngine* const engines_FI[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_fi,
|
||||
|
@ -312,7 +312,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -321,7 +321,7 @@ const PrepopulatedEngine* const engines_FO[] = {
|
||||
@@ -320,7 +320,7 @@ const PrepopulatedEngine* const engines_FO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_dk,
|
||||
|
@ -321,7 +321,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -339,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
|
||||
@@ -338,7 +338,7 @@ const PrepopulatedEngine* const engines_GB[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_uk,
|
||||
|
@ -330,7 +330,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -348,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
|
||||
@@ -347,7 +347,7 @@ const PrepopulatedEngine* const engines_GR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -339,7 +339,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -357,7 +357,7 @@ const PrepopulatedEngine* const engines_GT[] = {
|
||||
@@ -356,7 +356,7 @@ const PrepopulatedEngine* const engines_GT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -348,7 +348,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -367,7 +367,7 @@ const PrepopulatedEngine* const engines_HK[] = {
|
||||
@@ -366,7 +366,7 @@ const PrepopulatedEngine* const engines_HK[] = {
|
||||
&yahoo_hk,
|
||||
&bing,
|
||||
&baidu,
|
||||
|
@ -357,7 +357,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Honduras
|
||||
@@ -375,7 +375,7 @@ const PrepopulatedEngine* const engines_HN[] = {
|
||||
@@ -374,7 +374,7 @@ const PrepopulatedEngine* const engines_HN[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -366,7 +366,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -384,7 +384,7 @@ const PrepopulatedEngine* const engines_HR[] = {
|
||||
@@ -383,7 +383,7 @@ const PrepopulatedEngine* const engines_HR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -375,7 +375,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -393,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
|
||||
@@ -392,7 +392,7 @@ const PrepopulatedEngine* const engines_HU[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -384,7 +384,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_ID[] = {
|
||||
@@ -402,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = {
|
||||
&yahoo_id,
|
||||
&bing,
|
||||
&yandex_com,
|
||||
|
@ -393,7 +393,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Ireland
|
||||
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
|
||||
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_uk,
|
||||
|
@ -402,7 +402,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -421,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
|
||||
@@ -420,7 +420,7 @@ const PrepopulatedEngine* const engines_IL[] = {
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
|
@ -411,7 +411,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// India
|
||||
@@ -429,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
|
||||
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_IN[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_in,
|
||||
|
@ -420,7 +420,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&info_com,
|
||||
};
|
||||
|
||||
@@ -439,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
@@ -438,7 +438,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_tr,
|
||||
|
@ -429,7 +429,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Iran
|
||||
@@ -448,14 +448,14 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
@@ -447,14 +447,14 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
|
@ -446,7 +446,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
&ecosia,
|
||||
};
|
||||
@@ -465,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -464,7 +464,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -455,7 +455,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -473,7 +473,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -464,7 +464,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -473,7 +473,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
&googleen, &google,
|
||||
&yahoo_jp,
|
||||
&bing,
|
||||
|
@ -482,7 +482,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&baidu,
|
||||
};
|
||||
|
||||
@@ -501,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -491,7 +491,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -519,7 +519,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -518,7 +518,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -500,7 +500,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -529,7 +529,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -528,7 +528,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
&yandex_kz,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
|
@ -509,7 +509,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Lebanon
|
||||
@@ -537,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -536,7 +536,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -518,7 +518,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -544,7 +544,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
const PrepopulatedEngine* const engines_LI[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -527,7 +527,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
&ecosia,
|
||||
};
|
||||
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -536,7 +536,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -562,7 +562,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -545,7 +545,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
&ecosia,
|
||||
};
|
||||
@@ -574,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -573,7 +573,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
|
@ -554,7 +554,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Libya
|
||||
@@ -583,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -582,7 +582,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
|
@ -563,7 +563,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Morocco
|
||||
@@ -592,14 +592,14 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -591,14 +591,14 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
&bing,
|
||||
&yahoo_fr,
|
||||
&yandex_com,
|
||||
|
@ -580,7 +580,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_fr,
|
||||
&ecosia,
|
||||
};
|
||||
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
|
@ -589,7 +589,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Macedonia
|
||||
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -598,7 +598,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_mx,
|
||||
|
@ -607,7 +607,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -645,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_my,
|
||||
|
@ -616,7 +616,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -654,7 +654,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -653,7 +653,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -625,7 +625,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -663,7 +663,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -662,7 +662,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_nl,
|
||||
|
@ -634,7 +634,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -672,7 +672,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -671,7 +671,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -643,7 +643,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -681,7 +681,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -680,7 +680,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_nz,
|
||||
|
@ -652,7 +652,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -689,7 +689,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -661,7 +661,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&petal_search,
|
||||
};
|
||||
|
||||
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -670,7 +670,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -709,7 +709,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -708,7 +708,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
&bing,
|
||||
&yahoo_pe,
|
||||
&ecosia,
|
||||
|
@ -679,7 +679,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Philippines
|
||||
@@ -718,7 +718,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -717,7 +717,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
|
@ -688,7 +688,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Pakistan
|
||||
@@ -726,7 +726,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -725,7 +725,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -697,7 +697,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -735,7 +735,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -734,7 +734,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -706,7 +706,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -744,7 +744,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -743,7 +743,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -715,7 +715,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -753,7 +753,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -752,7 +752,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -724,7 +724,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -761,7 +761,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -733,7 +733,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -742,7 +742,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_tr,
|
||||
};
|
||||
|
||||
@@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -751,7 +751,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_tr,
|
||||
};
|
||||
|
||||
@@ -789,7 +789,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -760,7 +760,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
};
|
||||
|
||||
@@ -799,7 +799,7 @@ const PrepopulatedEngine* const engines_RU[] = {
|
||||
@@ -798,7 +798,7 @@ const PrepopulatedEngine* const engines_RU[] = {
|
||||
&yandex_ru,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
|
@ -769,7 +769,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Rwanda
|
||||
@@ -807,7 +807,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
@@ -806,7 +806,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -778,7 +778,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -817,7 +817,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -816,7 +816,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
|
@ -787,7 +787,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Sweden
|
||||
@@ -825,7 +825,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -824,7 +824,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_se,
|
||||
|
@ -796,7 +796,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -833,7 +833,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_sg,
|
||||
|
@ -805,7 +805,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&baidu,
|
||||
};
|
||||
|
||||
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -841,7 +841,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
const PrepopulatedEngine* const engines_SI[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -814,7 +814,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
&yandex_com,
|
||||
};
|
||||
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -850,7 +850,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
const PrepopulatedEngine* const engines_SK[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
|
@ -823,7 +823,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
&yandex_com,
|
||||
};
|
||||
@@ -861,7 +861,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -832,7 +832,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -871,7 +871,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -870,7 +870,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
|
@ -841,7 +841,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Thailand
|
||||
@@ -888,7 +888,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -887,7 +887,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_fr,
|
||||
|
@ -850,7 +850,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_com,
|
||||
};
|
||||
|
||||
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -897,7 +897,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
&yandex_tr,
|
||||
&yahoo_tr,
|
||||
&bing,
|
||||
|
@ -859,7 +859,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Trinidad and Tobago
|
||||
@@ -906,7 +906,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -905,7 +905,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -868,7 +868,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -916,7 +916,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -915,7 +915,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
&yahoo_tw,
|
||||
&bing,
|
||||
&baidu,
|
||||
|
@ -877,7 +877,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// Tanzania
|
||||
@@ -924,7 +924,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -923,7 +923,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -886,7 +886,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&baidu,
|
||||
};
|
||||
|
||||
@@ -933,7 +933,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -932,7 +932,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
&googleen, &google,
|
||||
&yandex_ua,
|
||||
&bing,
|
||||
|
@ -895,7 +895,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo,
|
||||
};
|
||||
|
||||
@@ -942,7 +942,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -941,7 +941,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -904,7 +904,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -951,7 +951,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -950,7 +950,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -913,7 +913,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -960,7 +960,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -959,7 +959,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo_es,
|
||||
|
@ -922,7 +922,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -979,7 +979,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -978,7 +978,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
|
@ -931,7 +931,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
};
|
||||
|
||||
// South Africa
|
||||
@@ -987,7 +987,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -986,7 +986,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
@ -940,7 +940,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&ecosia,
|
||||
};
|
||||
|
||||
@@ -996,7 +996,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
|
||||
@@ -995,7 +995,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
|
||||
&googleen, &google,
|
||||
&bing,
|
||||
&yahoo,
|
||||
|
|
|
@ -13,7 +13,7 @@ disable from all its searches RLZ and field experiments querystring parameters.
|
|||
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
|
||||
@@ -133,6 +133,27 @@
|
||||
@@ -134,6 +134,27 @@
|
||||
"id": 1
|
||||
},
|
||||
|
||||
|
@ -21,8 +21,8 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
|
|||
+ "name": "Google in English",
|
||||
+ "keyword": "googleen",
|
||||
+ "favicon_url": "https://www.google.com/favicon.ico",
|
||||
+ "search_url": "{google:baseURL}search?q={searchTerms}&{google:originalQueryForSuggestion}{google:iOSSearchLanguage}{google:searchClient}{google:contextualSearchVersion}ie={inputEncoding}&hl=en",
|
||||
+ "suggest_url": "{google:baseSuggestURL}search?client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:inputType}{google:pageClassification}{google:searchVersion}{google:prefetchQuery}sugkey={google:suggestAPIKeyParameter}&hl=en",
|
||||
+ "search_url": "{google:baseURL}search?q={searchTerms}&ie={inputEncoding}&hl=en",
|
||||
+ "suggest_url": "{google:baseSuggestURL}search?client={google:suggestClient}&q={searchTerms}&hl=en",
|
||||
+ "image_url": "{google:baseURL}searchbyimage/upload?hl=en",
|
||||
+ "new_tab_url": "{google:baseURL}_/chrome/newtab?hl=en&ie={inputEncoding}",
|
||||
+ "contextual_search_url": "{google:baseURL}_/contextualsearch?{google:contextualSearchVersion}{google:contextualSearchContextData}&hl=en",
|
||||
|
@ -55,7 +55,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
|
|||
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
|
||||
--- a/components/search_engines/template_url_prepopulate_data.cc
|
||||
+++ b/components/search_engines/template_url_prepopulate_data.cc
|
||||
@@ -29,7 +29,7 @@ namespace {
|
||||
@@ -28,7 +28,7 @@ namespace {
|
||||
|
||||
// Default (for countries with no better engine set)
|
||||
const PrepopulatedEngine* const engines_default[] = {
|
||||
|
@ -64,7 +64,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
};
|
||||
@@ -39,7 +39,7 @@ const PrepopulatedEngine* const engines_default[] = {
|
||||
@@ -38,7 +38,7 @@ const PrepopulatedEngine* const engines_default[] = {
|
||||
// clang-format off
|
||||
// United Arab Emirates
|
||||
const PrepopulatedEngine* const engines_AE[] = {
|
||||
|
@ -73,7 +73,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -48,7 +48,7 @@ const PrepopulatedEngine* const engines_AE[] = {
|
||||
@@ -47,7 +47,7 @@ const PrepopulatedEngine* const engines_AE[] = {
|
||||
|
||||
// Albania
|
||||
const PrepopulatedEngine* const engines_AL[] = {
|
||||
|
@ -82,7 +82,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -57,7 +57,7 @@ const PrepopulatedEngine* const engines_AL[] = {
|
||||
@@ -56,7 +56,7 @@ const PrepopulatedEngine* const engines_AL[] = {
|
||||
|
||||
// Argentina
|
||||
const PrepopulatedEngine* const engines_AR[] = {
|
||||
|
@ -91,7 +91,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_ar,
|
||||
&duckduckgo,
|
||||
@@ -66,7 +66,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
@@ -65,7 +65,7 @@ const PrepopulatedEngine* const engines_AR[] = {
|
||||
|
||||
// Austria
|
||||
const PrepopulatedEngine* const engines_AT[] = {
|
||||
|
@ -100,7 +100,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo_at,
|
||||
@@ -75,7 +75,7 @@ const PrepopulatedEngine* const engines_AT[] = {
|
||||
@@ -74,7 +74,7 @@ const PrepopulatedEngine* const engines_AT[] = {
|
||||
|
||||
// Australia
|
||||
const PrepopulatedEngine* const engines_AU[] = {
|
||||
|
@ -109,7 +109,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_au,
|
||||
&duckduckgo,
|
||||
@@ -84,7 +84,7 @@ const PrepopulatedEngine* const engines_AU[] = {
|
||||
@@ -83,7 +83,7 @@ const PrepopulatedEngine* const engines_AU[] = {
|
||||
|
||||
// Bosnia and Herzegovina
|
||||
const PrepopulatedEngine* const engines_BA[] = {
|
||||
|
@ -118,7 +118,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -93,7 +93,7 @@ const PrepopulatedEngine* const engines_BA[] = {
|
||||
@@ -92,7 +92,7 @@ const PrepopulatedEngine* const engines_BA[] = {
|
||||
|
||||
// Belgium
|
||||
const PrepopulatedEngine* const engines_BE[] = {
|
||||
|
@ -127,7 +127,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
@@ -102,7 +102,7 @@ const PrepopulatedEngine* const engines_BE[] = {
|
||||
@@ -101,7 +101,7 @@ const PrepopulatedEngine* const engines_BE[] = {
|
||||
|
||||
// Bulgaria
|
||||
const PrepopulatedEngine* const engines_BG[] = {
|
||||
|
@ -136,7 +136,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -111,7 +111,7 @@ const PrepopulatedEngine* const engines_BG[] = {
|
||||
@@ -110,7 +110,7 @@ const PrepopulatedEngine* const engines_BG[] = {
|
||||
|
||||
// Bahrain
|
||||
const PrepopulatedEngine* const engines_BH[] = {
|
||||
|
@ -145,7 +145,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -120,7 +120,7 @@ const PrepopulatedEngine* const engines_BH[] = {
|
||||
@@ -119,7 +119,7 @@ const PrepopulatedEngine* const engines_BH[] = {
|
||||
|
||||
// Burundi
|
||||
const PrepopulatedEngine* const engines_BI[] = {
|
||||
|
@ -154,7 +154,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -129,7 +129,7 @@ const PrepopulatedEngine* const engines_BI[] = {
|
||||
@@ -128,7 +128,7 @@ const PrepopulatedEngine* const engines_BI[] = {
|
||||
|
||||
// Brunei
|
||||
const PrepopulatedEngine* const engines_BN[] = {
|
||||
|
@ -163,7 +163,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -138,7 +138,7 @@ const PrepopulatedEngine* const engines_BN[] = {
|
||||
@@ -137,7 +137,7 @@ const PrepopulatedEngine* const engines_BN[] = {
|
||||
|
||||
// Bolivia
|
||||
const PrepopulatedEngine* const engines_BO[] = {
|
||||
|
@ -172,7 +172,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -147,7 +147,7 @@ const PrepopulatedEngine* const engines_BO[] = {
|
||||
@@ -146,7 +146,7 @@ const PrepopulatedEngine* const engines_BO[] = {
|
||||
|
||||
// Brazil
|
||||
const PrepopulatedEngine* const engines_BR[] = {
|
||||
|
@ -181,7 +181,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_br,
|
||||
&duckduckgo,
|
||||
@@ -156,7 +156,7 @@ const PrepopulatedEngine* const engines_BR[] = {
|
||||
@@ -155,7 +155,7 @@ const PrepopulatedEngine* const engines_BR[] = {
|
||||
|
||||
// Belarus
|
||||
const PrepopulatedEngine* const engines_BY[] = {
|
||||
|
@ -190,7 +190,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_by,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -165,7 +165,7 @@ const PrepopulatedEngine* const engines_BY[] = {
|
||||
@@ -164,7 +164,7 @@ const PrepopulatedEngine* const engines_BY[] = {
|
||||
|
||||
// Belize
|
||||
const PrepopulatedEngine* const engines_BZ[] = {
|
||||
|
@ -199,7 +199,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -174,7 +174,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
|
||||
@@ -173,7 +173,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
|
||||
|
||||
// Canada
|
||||
const PrepopulatedEngine* const engines_CA[] = {
|
||||
|
@ -208,7 +208,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_ca,
|
||||
&duckduckgo,
|
||||
@@ -183,7 +183,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
@@ -182,7 +182,7 @@ const PrepopulatedEngine* const engines_CA[] = {
|
||||
|
||||
// Switzerland
|
||||
const PrepopulatedEngine* const engines_CH[] = {
|
||||
|
@ -217,7 +217,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&ecosia,
|
||||
@@ -192,7 +192,7 @@ const PrepopulatedEngine* const engines_CH[] = {
|
||||
@@ -191,7 +191,7 @@ const PrepopulatedEngine* const engines_CH[] = {
|
||||
|
||||
// Chile
|
||||
const PrepopulatedEngine* const engines_CL[] = {
|
||||
|
@ -226,7 +226,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_cl,
|
||||
&duckduckgo,
|
||||
@@ -204,13 +204,13 @@ const PrepopulatedEngine* const engines_CN[] = {
|
||||
@@ -203,13 +203,13 @@ const PrepopulatedEngine* const engines_CN[] = {
|
||||
&sogou,
|
||||
&baidu,
|
||||
&bing,
|
||||
|
@ -242,7 +242,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_co,
|
||||
&ecosia,
|
||||
@@ -219,7 +219,7 @@ const PrepopulatedEngine* const engines_CO[] = {
|
||||
@@ -218,7 +218,7 @@ const PrepopulatedEngine* const engines_CO[] = {
|
||||
|
||||
// Costa Rica
|
||||
const PrepopulatedEngine* const engines_CR[] = {
|
||||
|
@ -251,7 +251,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -228,7 +228,7 @@ const PrepopulatedEngine* const engines_CR[] = {
|
||||
@@ -227,7 +227,7 @@ const PrepopulatedEngine* const engines_CR[] = {
|
||||
|
||||
// Czech Republic
|
||||
const PrepopulatedEngine* const engines_CZ[] = {
|
||||
|
@ -260,7 +260,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&seznam_cz,
|
||||
&bing,
|
||||
&yahoo,
|
||||
@@ -237,7 +237,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
@@ -236,7 +236,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
|
||||
|
||||
// Germany
|
||||
const PrepopulatedEngine* const engines_DE[] = {
|
||||
|
@ -269,7 +269,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&ecosia,
|
||||
&duckduckgo,
|
||||
@@ -246,7 +246,7 @@ const PrepopulatedEngine* const engines_DE[] = {
|
||||
@@ -245,7 +245,7 @@ const PrepopulatedEngine* const engines_DE[] = {
|
||||
|
||||
// Denmark
|
||||
const PrepopulatedEngine* const engines_DK[] = {
|
||||
|
@ -278,7 +278,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_dk,
|
||||
&duckduckgo,
|
||||
@@ -255,7 +255,7 @@ const PrepopulatedEngine* const engines_DK[] = {
|
||||
@@ -254,7 +254,7 @@ const PrepopulatedEngine* const engines_DK[] = {
|
||||
|
||||
// Dominican Republic
|
||||
const PrepopulatedEngine* const engines_DO[] = {
|
||||
|
@ -287,7 +287,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -264,7 +264,7 @@ const PrepopulatedEngine* const engines_DO[] = {
|
||||
@@ -263,7 +263,7 @@ const PrepopulatedEngine* const engines_DO[] = {
|
||||
|
||||
// Algeria
|
||||
const PrepopulatedEngine* const engines_DZ[] = {
|
||||
|
@ -296,7 +296,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_fr,
|
||||
&yandex_com,
|
||||
@@ -273,7 +273,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
|
||||
@@ -272,7 +272,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
|
||||
|
||||
// Ecuador
|
||||
const PrepopulatedEngine* const engines_EC[] = {
|
||||
|
@ -305,7 +305,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
@@ -282,7 +282,7 @@ const PrepopulatedEngine* const engines_EC[] = {
|
||||
@@ -281,7 +281,7 @@ const PrepopulatedEngine* const engines_EC[] = {
|
||||
|
||||
// Estonia
|
||||
const PrepopulatedEngine* const engines_EE[] = {
|
||||
|
@ -314,7 +314,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yandex_ru,
|
||||
&duckduckgo,
|
||||
@@ -291,7 +291,7 @@ const PrepopulatedEngine* const engines_EE[] = {
|
||||
@@ -290,7 +290,7 @@ const PrepopulatedEngine* const engines_EE[] = {
|
||||
|
||||
// Egypt
|
||||
const PrepopulatedEngine* const engines_EG[] = {
|
||||
|
@ -323,7 +323,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -300,7 +300,7 @@ const PrepopulatedEngine* const engines_EG[] = {
|
||||
@@ -299,7 +299,7 @@ const PrepopulatedEngine* const engines_EG[] = {
|
||||
|
||||
// Spain
|
||||
const PrepopulatedEngine* const engines_ES[] = {
|
||||
|
@ -332,7 +332,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -309,7 +309,7 @@ const PrepopulatedEngine* const engines_ES[] = {
|
||||
@@ -308,7 +308,7 @@ const PrepopulatedEngine* const engines_ES[] = {
|
||||
|
||||
// Finland
|
||||
const PrepopulatedEngine* const engines_FI[] = {
|
||||
|
@ -341,7 +341,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_fi,
|
||||
&duckduckgo,
|
||||
@@ -318,7 +318,7 @@ const PrepopulatedEngine* const engines_FI[] = {
|
||||
@@ -317,7 +317,7 @@ const PrepopulatedEngine* const engines_FI[] = {
|
||||
|
||||
// Faroe Islands
|
||||
const PrepopulatedEngine* const engines_FO[] = {
|
||||
|
@ -350,7 +350,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_dk,
|
||||
&duckduckgo,
|
||||
@@ -327,7 +327,7 @@ const PrepopulatedEngine* const engines_FO[] = {
|
||||
@@ -326,7 +326,7 @@ const PrepopulatedEngine* const engines_FO[] = {
|
||||
|
||||
// France
|
||||
const PrepopulatedEngine* const engines_FR[] = {
|
||||
|
@ -359,7 +359,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_fr,
|
||||
&qwant,
|
||||
@@ -336,7 +336,7 @@ const PrepopulatedEngine* const engines_FR[] = {
|
||||
@@ -335,7 +335,7 @@ const PrepopulatedEngine* const engines_FR[] = {
|
||||
|
||||
// United Kingdom
|
||||
const PrepopulatedEngine* const engines_GB[] = {
|
||||
|
@ -368,7 +368,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_uk,
|
||||
&duckduckgo,
|
||||
@@ -345,7 +345,7 @@ const PrepopulatedEngine* const engines_GB[] = {
|
||||
@@ -344,7 +344,7 @@ const PrepopulatedEngine* const engines_GB[] = {
|
||||
|
||||
// Greece
|
||||
const PrepopulatedEngine* const engines_GR[] = {
|
||||
|
@ -377,7 +377,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -354,7 +354,7 @@ const PrepopulatedEngine* const engines_GR[] = {
|
||||
@@ -353,7 +353,7 @@ const PrepopulatedEngine* const engines_GR[] = {
|
||||
|
||||
// Guatemala
|
||||
const PrepopulatedEngine* const engines_GT[] = {
|
||||
|
@ -386,7 +386,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -363,7 +363,7 @@ const PrepopulatedEngine* const engines_GT[] = {
|
||||
@@ -362,7 +362,7 @@ const PrepopulatedEngine* const engines_GT[] = {
|
||||
|
||||
// Hong Kong
|
||||
const PrepopulatedEngine* const engines_HK[] = {
|
||||
|
@ -395,7 +395,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_hk,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -372,7 +372,7 @@ const PrepopulatedEngine* const engines_HK[] = {
|
||||
@@ -371,7 +371,7 @@ const PrepopulatedEngine* const engines_HK[] = {
|
||||
|
||||
// Honduras
|
||||
const PrepopulatedEngine* const engines_HN[] = {
|
||||
|
@ -404,7 +404,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -381,7 +381,7 @@ const PrepopulatedEngine* const engines_HN[] = {
|
||||
@@ -380,7 +380,7 @@ const PrepopulatedEngine* const engines_HN[] = {
|
||||
|
||||
// Croatia
|
||||
const PrepopulatedEngine* const engines_HR[] = {
|
||||
|
@ -413,7 +413,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -390,7 +390,7 @@ const PrepopulatedEngine* const engines_HR[] = {
|
||||
@@ -389,7 +389,7 @@ const PrepopulatedEngine* const engines_HR[] = {
|
||||
|
||||
// Hungary
|
||||
const PrepopulatedEngine* const engines_HU[] = {
|
||||
|
@ -422,7 +422,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -399,7 +399,7 @@ const PrepopulatedEngine* const engines_HU[] = {
|
||||
@@ -398,7 +398,7 @@ const PrepopulatedEngine* const engines_HU[] = {
|
||||
|
||||
// Indonesia
|
||||
const PrepopulatedEngine* const engines_ID[] = {
|
||||
|
@ -431,7 +431,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_id,
|
||||
&bing,
|
||||
&yandex_com,
|
||||
@@ -408,7 +408,7 @@ const PrepopulatedEngine* const engines_ID[] = {
|
||||
@@ -407,7 +407,7 @@ const PrepopulatedEngine* const engines_ID[] = {
|
||||
|
||||
// Ireland
|
||||
const PrepopulatedEngine* const engines_IE[] = {
|
||||
|
@ -440,7 +440,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_uk,
|
||||
&duckduckgo,
|
||||
@@ -417,7 +417,7 @@ const PrepopulatedEngine* const engines_IE[] = {
|
||||
@@ -416,7 +416,7 @@ const PrepopulatedEngine* const engines_IE[] = {
|
||||
|
||||
// Israel
|
||||
const PrepopulatedEngine* const engines_IL[] = {
|
||||
|
@ -449,7 +449,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
@@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_IL[] = {
|
||||
@@ -425,7 +425,7 @@ const PrepopulatedEngine* const engines_IL[] = {
|
||||
|
||||
// India
|
||||
const PrepopulatedEngine* const engines_IN[] = {
|
||||
|
@ -458,7 +458,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_in,
|
||||
&duckduckgo,
|
||||
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_IN[] = {
|
||||
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_IN[] = {
|
||||
|
||||
// Iraq
|
||||
const PrepopulatedEngine* const engines_IQ[] = {
|
||||
|
@ -467,7 +467,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_tr,
|
||||
@@ -444,7 +444,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
|
||||
|
||||
// Iran
|
||||
const PrepopulatedEngine* const engines_IR[] = {
|
||||
|
@ -476,7 +476,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&ask,
|
||||
@@ -453,7 +453,7 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_IR[] = {
|
||||
|
||||
// Iceland
|
||||
const PrepopulatedEngine* const engines_IS[] = {
|
||||
|
@ -485,7 +485,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -462,7 +462,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
@@ -461,7 +461,7 @@ const PrepopulatedEngine* const engines_IS[] = {
|
||||
|
||||
// Italy
|
||||
const PrepopulatedEngine* const engines_IT[] = {
|
||||
|
@ -494,7 +494,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -471,7 +471,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
@@ -470,7 +470,7 @@ const PrepopulatedEngine* const engines_IT[] = {
|
||||
|
||||
// Jamaica
|
||||
const PrepopulatedEngine* const engines_JM[] = {
|
||||
|
@ -503,7 +503,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -480,7 +480,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
@@ -479,7 +479,7 @@ const PrepopulatedEngine* const engines_JM[] = {
|
||||
|
||||
// Jordan
|
||||
const PrepopulatedEngine* const engines_JO[] = {
|
||||
|
@ -512,7 +512,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -489,7 +489,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
@@ -488,7 +488,7 @@ const PrepopulatedEngine* const engines_JO[] = {
|
||||
|
||||
// Japan
|
||||
const PrepopulatedEngine* const engines_JP[] = {
|
||||
|
@ -521,7 +521,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_jp,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
@@ -497,7 +497,7 @@ const PrepopulatedEngine* const engines_JP[] = {
|
||||
|
||||
// Kenya
|
||||
const PrepopulatedEngine* const engines_KE[] = {
|
||||
|
@ -530,7 +530,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_KE[] = {
|
||||
|
||||
// South Korea
|
||||
const PrepopulatedEngine* const engines_KR[] = {
|
||||
|
@ -539,7 +539,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&naver,
|
||||
&daum,
|
||||
&bing,
|
||||
@@ -516,7 +516,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_KR[] = {
|
||||
|
||||
// Kuwait
|
||||
const PrepopulatedEngine* const engines_KW[] = {
|
||||
|
@ -548,7 +548,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -525,7 +525,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_KW[] = {
|
||||
|
||||
// Kazakhstan
|
||||
const PrepopulatedEngine* const engines_KZ[] = {
|
||||
|
@ -557,7 +557,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_kz,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -534,7 +534,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
@@ -533,7 +533,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
|
||||
|
||||
// Lebanon
|
||||
const PrepopulatedEngine* const engines_LB[] = {
|
||||
|
@ -566,7 +566,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -543,7 +543,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
@@ -542,7 +542,7 @@ const PrepopulatedEngine* const engines_LB[] = {
|
||||
|
||||
// Liechtenstein
|
||||
const PrepopulatedEngine* const engines_LI[] = {
|
||||
|
@ -575,7 +575,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -552,7 +552,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
@@ -551,7 +551,7 @@ const PrepopulatedEngine* const engines_LI[] = {
|
||||
|
||||
// Lithuania
|
||||
const PrepopulatedEngine* const engines_LT[] = {
|
||||
|
@ -584,7 +584,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -561,7 +561,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
@@ -560,7 +560,7 @@ const PrepopulatedEngine* const engines_LT[] = {
|
||||
|
||||
// Luxembourg
|
||||
const PrepopulatedEngine* const engines_LU[] = {
|
||||
|
@ -593,7 +593,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
@@ -569,7 +569,7 @@ const PrepopulatedEngine* const engines_LU[] = {
|
||||
|
||||
// Latvia
|
||||
const PrepopulatedEngine* const engines_LV[] = {
|
||||
|
@ -602,7 +602,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yandex_ru,
|
||||
&yahoo,
|
||||
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_LV[] = {
|
||||
|
||||
// Libya
|
||||
const PrepopulatedEngine* const engines_LY[] = {
|
||||
|
@ -611,7 +611,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -588,7 +588,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_LY[] = {
|
||||
|
||||
// Morocco
|
||||
const PrepopulatedEngine* const engines_MA[] = {
|
||||
|
@ -620,7 +620,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_fr,
|
||||
&yandex_com,
|
||||
@@ -597,7 +597,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_MA[] = {
|
||||
|
||||
// Monaco
|
||||
const PrepopulatedEngine* const engines_MC[] = {
|
||||
|
@ -629,7 +629,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo_fr,
|
||||
@@ -606,7 +606,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
@@ -605,7 +605,7 @@ const PrepopulatedEngine* const engines_MC[] = {
|
||||
|
||||
// Moldova
|
||||
const PrepopulatedEngine* const engines_MD[] = {
|
||||
|
@ -638,7 +638,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
&bing,
|
||||
&mail_ru,
|
||||
@@ -615,7 +615,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
@@ -614,7 +614,7 @@ const PrepopulatedEngine* const engines_MD[] = {
|
||||
|
||||
// Montenegro
|
||||
const PrepopulatedEngine* const engines_ME[] = {
|
||||
|
@ -647,7 +647,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_ru,
|
||||
@@ -624,7 +624,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
@@ -623,7 +623,7 @@ const PrepopulatedEngine* const engines_ME[] = {
|
||||
|
||||
// Macedonia
|
||||
const PrepopulatedEngine* const engines_MK[] = {
|
||||
|
@ -656,7 +656,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -633,7 +633,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
@@ -632,7 +632,7 @@ const PrepopulatedEngine* const engines_MK[] = {
|
||||
|
||||
// Mexico
|
||||
const PrepopulatedEngine* const engines_MX[] = {
|
||||
|
@ -665,7 +665,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_mx,
|
||||
&duckduckgo,
|
||||
@@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
@@ -641,7 +641,7 @@ const PrepopulatedEngine* const engines_MX[] = {
|
||||
|
||||
// Malaysia
|
||||
const PrepopulatedEngine* const engines_MY[] = {
|
||||
|
@ -674,7 +674,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_my,
|
||||
&duckduckgo,
|
||||
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_MY[] = {
|
||||
|
||||
// Nicaragua
|
||||
const PrepopulatedEngine* const engines_NI[] = {
|
||||
|
@ -683,7 +683,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -660,7 +660,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_NI[] = {
|
||||
|
||||
// Netherlands
|
||||
const PrepopulatedEngine* const engines_NL[] = {
|
||||
|
@ -692,7 +692,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_nl,
|
||||
&duckduckgo,
|
||||
@@ -669,7 +669,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_NL[] = {
|
||||
|
||||
// Norway
|
||||
const PrepopulatedEngine* const engines_NO[] = {
|
||||
|
@ -701,7 +701,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -678,7 +678,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
@@ -677,7 +677,7 @@ const PrepopulatedEngine* const engines_NO[] = {
|
||||
|
||||
// New Zealand
|
||||
const PrepopulatedEngine* const engines_NZ[] = {
|
||||
|
@ -710,7 +710,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_nz,
|
||||
&duckduckgo,
|
||||
@@ -687,7 +687,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
@@ -686,7 +686,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
|
||||
|
||||
// Oman
|
||||
const PrepopulatedEngine* const engines_OM[] = {
|
||||
|
@ -719,7 +719,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -696,7 +696,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
@@ -695,7 +695,7 @@ const PrepopulatedEngine* const engines_OM[] = {
|
||||
|
||||
// Panama
|
||||
const PrepopulatedEngine* const engines_PA[] = {
|
||||
|
@ -728,7 +728,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -705,7 +705,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
@@ -704,7 +704,7 @@ const PrepopulatedEngine* const engines_PA[] = {
|
||||
|
||||
// Peru
|
||||
const PrepopulatedEngine* const engines_PE[] = {
|
||||
|
@ -737,7 +737,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_pe,
|
||||
&ecosia,
|
||||
@@ -714,7 +714,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
@@ -713,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = {
|
||||
|
||||
// Philippines
|
||||
const PrepopulatedEngine* const engines_PH[] = {
|
||||
|
@ -746,7 +746,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&ecosia,
|
||||
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = {
|
||||
|
||||
// Pakistan
|
||||
const PrepopulatedEngine* const engines_PK[] = {
|
||||
|
@ -755,7 +755,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -732,7 +732,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_PK[] = {
|
||||
|
||||
// Poland
|
||||
const PrepopulatedEngine* const engines_PL[] = {
|
||||
|
@ -764,7 +764,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -741,7 +741,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_PL[] = {
|
||||
|
||||
// Puerto Rico
|
||||
const PrepopulatedEngine* const engines_PR[] = {
|
||||
|
@ -773,7 +773,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -750,7 +750,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
@@ -749,7 +749,7 @@ const PrepopulatedEngine* const engines_PR[] = {
|
||||
|
||||
// Portugal
|
||||
const PrepopulatedEngine* const engines_PT[] = {
|
||||
|
@ -782,7 +782,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -759,7 +759,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
@@ -758,7 +758,7 @@ const PrepopulatedEngine* const engines_PT[] = {
|
||||
|
||||
// Paraguay
|
||||
const PrepopulatedEngine* const engines_PY[] = {
|
||||
|
@ -791,7 +791,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -768,7 +768,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
@@ -767,7 +767,7 @@ const PrepopulatedEngine* const engines_PY[] = {
|
||||
|
||||
// Qatar
|
||||
const PrepopulatedEngine* const engines_QA[] = {
|
||||
|
@ -800,7 +800,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -777,7 +777,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
@@ -776,7 +776,7 @@ const PrepopulatedEngine* const engines_QA[] = {
|
||||
|
||||
// Romania
|
||||
const PrepopulatedEngine* const engines_RO[] = {
|
||||
|
@ -809,7 +809,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
@@ -785,7 +785,7 @@ const PrepopulatedEngine* const engines_RO[] = {
|
||||
|
||||
// Serbia
|
||||
const PrepopulatedEngine* const engines_RS[] = {
|
||||
|
@ -818,7 +818,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_RS[] = {
|
||||
|
||||
// Russia
|
||||
const PrepopulatedEngine* const engines_RU[] = {
|
||||
|
@ -827,7 +827,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ru,
|
||||
&mail_ru,
|
||||
&bing,
|
||||
@@ -804,7 +804,7 @@ const PrepopulatedEngine* const engines_RU[] = {
|
||||
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_RU[] = {
|
||||
|
||||
// Rwanda
|
||||
const PrepopulatedEngine* const engines_RW[] = {
|
||||
|
@ -836,7 +836,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -813,7 +813,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_RW[] = {
|
||||
|
||||
// Saudi Arabia
|
||||
const PrepopulatedEngine* const engines_SA[] = {
|
||||
|
@ -845,7 +845,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -822,7 +822,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
@@ -821,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = {
|
||||
|
||||
// Sweden
|
||||
const PrepopulatedEngine* const engines_SE[] = {
|
||||
|
@ -854,7 +854,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_se,
|
||||
&duckduckgo,
|
||||
@@ -831,7 +831,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
@@ -830,7 +830,7 @@ const PrepopulatedEngine* const engines_SE[] = {
|
||||
|
||||
// Singapore
|
||||
const PrepopulatedEngine* const engines_SG[] = {
|
||||
|
@ -863,7 +863,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_sg,
|
||||
&duckduckgo,
|
||||
@@ -840,7 +840,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
@@ -839,7 +839,7 @@ const PrepopulatedEngine* const engines_SG[] = {
|
||||
|
||||
// Slovenia
|
||||
const PrepopulatedEngine* const engines_SI[] = {
|
||||
|
@ -872,7 +872,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -849,7 +849,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
@@ -848,7 +848,7 @@ const PrepopulatedEngine* const engines_SI[] = {
|
||||
|
||||
// Slovakia
|
||||
const PrepopulatedEngine* const engines_SK[] = {
|
||||
|
@ -881,7 +881,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&duckduckgo,
|
||||
&yahoo,
|
||||
@@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
@@ -857,7 +857,7 @@ const PrepopulatedEngine* const engines_SK[] = {
|
||||
|
||||
// El Salvador
|
||||
const PrepopulatedEngine* const engines_SV[] = {
|
||||
|
@ -890,7 +890,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_SV[] = {
|
||||
|
||||
// Syria
|
||||
const PrepopulatedEngine* const engines_SY[] = {
|
||||
|
@ -899,7 +899,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -876,7 +876,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = {
|
||||
|
||||
// Thailand
|
||||
const PrepopulatedEngine* const engines_TH[] = {
|
||||
|
@ -908,7 +908,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_th,
|
||||
&yandex_ru,
|
||||
@@ -885,7 +885,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_TH[] = {
|
||||
|
||||
// Tunisia
|
||||
const PrepopulatedEngine* const engines_TN[] = {
|
||||
|
@ -917,7 +917,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_fr,
|
||||
&duckduckgo,
|
||||
@@ -894,7 +894,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
@@ -893,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = {
|
||||
|
||||
// Turkey
|
||||
const PrepopulatedEngine* const engines_TR[] = {
|
||||
|
@ -926,7 +926,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_tr,
|
||||
&yahoo_tr,
|
||||
&bing,
|
||||
@@ -903,7 +903,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
@@ -902,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = {
|
||||
|
||||
// Trinidad and Tobago
|
||||
const PrepopulatedEngine* const engines_TT[] = {
|
||||
|
@ -935,7 +935,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -912,7 +912,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
@@ -911,7 +911,7 @@ const PrepopulatedEngine* const engines_TT[] = {
|
||||
|
||||
// Taiwan
|
||||
const PrepopulatedEngine* const engines_TW[] = {
|
||||
|
@ -944,7 +944,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yahoo_tw,
|
||||
&bing,
|
||||
&baidu,
|
||||
@@ -921,7 +921,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
@@ -920,7 +920,7 @@ const PrepopulatedEngine* const engines_TW[] = {
|
||||
|
||||
// Tanzania
|
||||
const PrepopulatedEngine* const engines_TZ[] = {
|
||||
|
@ -953,7 +953,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -930,7 +930,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
@@ -929,7 +929,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
|
||||
|
||||
// Ukraine
|
||||
const PrepopulatedEngine* const engines_UA[] = {
|
||||
|
@ -962,7 +962,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&yandex_ua,
|
||||
&bing,
|
||||
&duckduckgo,
|
||||
@@ -939,7 +939,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
@@ -938,7 +938,7 @@ const PrepopulatedEngine* const engines_UA[] = {
|
||||
|
||||
// United States
|
||||
const PrepopulatedEngine* const engines_US[] = {
|
||||
|
@ -971,7 +971,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -948,7 +948,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
@@ -947,7 +947,7 @@ const PrepopulatedEngine* const engines_US[] = {
|
||||
|
||||
// Uruguay
|
||||
const PrepopulatedEngine* const engines_UY[] = {
|
||||
|
@ -980,7 +980,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -957,7 +957,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
@@ -956,7 +956,7 @@ const PrepopulatedEngine* const engines_UY[] = {
|
||||
|
||||
// Venezuela
|
||||
const PrepopulatedEngine* const engines_VE[] = {
|
||||
|
@ -989,7 +989,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo_es,
|
||||
&duckduckgo,
|
||||
@@ -966,7 +966,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
@@ -965,7 +965,7 @@ const PrepopulatedEngine* const engines_VE[] = {
|
||||
|
||||
// Vietnam
|
||||
const PrepopulatedEngine* const engines_VN[] = {
|
||||
|
@ -998,7 +998,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&coccoc,
|
||||
&yahoo,
|
||||
&bing,
|
||||
@@ -975,7 +975,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
@@ -974,7 +974,7 @@ const PrepopulatedEngine* const engines_VN[] = {
|
||||
|
||||
// Yemen
|
||||
const PrepopulatedEngine* const engines_YE[] = {
|
||||
|
@ -1007,7 +1007,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&yandex_com,
|
||||
@@ -984,7 +984,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
@@ -983,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = {
|
||||
|
||||
// South Africa
|
||||
const PrepopulatedEngine* const engines_ZA[] = {
|
||||
|
@ -1016,7 +1016,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
|
|||
&bing,
|
||||
&yahoo,
|
||||
&duckduckgo,
|
||||
@@ -993,7 +993,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
@@ -992,7 +992,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
|
||||
|
||||
// Zimbabwe
|
||||
const PrepopulatedEngine* const engines_ZW[] = {
|
||||
|
|
|
@ -3,33 +3,32 @@ Date: Mon, 26 Apr 2021 15:04:11 +0000
|
|||
Subject: Add IsCleartextPermitted flag
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 5 +++++
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
net/base/features.cc | 3 +++
|
||||
net/base/features.h | 2 ++
|
||||
net/url_request/url_request_http_job.cc | 4 ++++
|
||||
6 files changed, 21 insertions(+)
|
||||
6 files changed, 20 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
|
||||
@@ -7741,6 +7741,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(switches::kPervasiveSystemAccentColor)},
|
||||
#endif
|
||||
|
||||
@@ -8171,6 +8171,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsName,
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
+ {"cleartext-permitted",
|
||||
+ flag_descriptions::kIsCleartextPermittedName,
|
||||
+ flag_descriptions::kIsCleartextPermittedDescription, kOsAndroid,
|
||||
+ FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
{"use-ulp-languages-in-chrome",
|
||||
flag_descriptions::kUseULPLanguagesInChromeName,
|
||||
#endif
|
||||
|
||||
{"export-bookmarks-use-saf",
|
||||
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
|
||||
@@ -1484,6 +1484,10 @@ const char kHttpsOnlyModeDescription[] =
|
||||
@@ -1538,6 +1538,10 @@ const char kHttpsOnlyModeDescription[] =
|
||||
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
|
||||
"Mode.";
|
||||
|
||||
|
@ -43,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -862,6 +862,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
|
||||
@@ -873,6 +873,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
|
||||
extern const char kHttpsOnlyModeName[];
|
||||
extern const char kHttpsOnlyModeDescription[];
|
||||
|
||||
|
@ -56,7 +55,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -92,6 +92,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
|
||||
@@ -95,6 +95,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
|
||||
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -69,9 +68,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
|||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
+++ b/net/base/features.h
|
||||
@@ -34,6 +34,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
|
||||
// origin requests are restricted to contain at most the source origin.
|
||||
NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
|
||||
@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
|
||||
// Enables the ParsedCookie domain attribute to be the empty string.
|
||||
NET_EXPORT extern const base::Feature kCookieDomainAttributeEmptyString;
|
||||
|
||||
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
|
||||
+
|
||||
|
@ -81,10 +80,10 @@ diff --git a/net/base/features.h b/net/base/features.h
|
|||
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
|
||||
@@ -206,6 +206,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
@@ -210,6 +210,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
|
||||
}
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kIsCleartextPermitted) == false) {
|
||||
+ return std::make_unique<URLRequestErrorJob>(request,
|
||||
+ ERR_CLEARTEXT_NOT_PERMITTED);
|
||||
|
|
|
@ -1,100 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 9 May 2020 08:33:15 +0200
|
||||
Subject: Add a flag to allow screenshots in Incognito mode
|
||||
|
||||
See also:
|
||||
* https://github.com/bromite/bromite/issues/551
|
||||
* https://bugs.chromium.org/p/chromium/issues/detail?id=920762
|
||||
---
|
||||
chrome/browser/about_flags.cc | 6 ++++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
.../flags/android/java_templates/ChromeSwitches.java.tmpl | 4 ----
|
||||
chrome/common/chrome_switches.cc | 3 +++
|
||||
chrome/common/chrome_switches.h | 1 +
|
||||
6 files changed, 18 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7403,6 +7403,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"AndroidDynamicColor")},
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
+#if defined(OS_ANDROID)
|
||||
+ {switches::kEnableIncognitoSnapshotsInAndroidRecents, flag_descriptions::kEnableIncognitoSnapshotsInAndroidRecentsName,
|
||||
+ flag_descriptions::kEnableIncognitoSnapshotsInAndroidRecentsDescription, kOsAndroid,
|
||||
+ SINGLE_VALUE_TYPE(switches::kEnableIncognitoSnapshotsInAndroidRecents)},
|
||||
+#endif
|
||||
+
|
||||
#if defined(OS_WIN)
|
||||
{"win-10-tab-search-caption-button",
|
||||
flag_descriptions::kWin10TabSearchCaptionButtonName,
|
||||
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
|
||||
@@ -692,6 +692,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
|
||||
"authenticator (if available) to verify card ownership when retrieving "
|
||||
"credit cards from Google Payments.";
|
||||
|
||||
+const char kEnableIncognitoSnapshotsInAndroidRecentsName[] =
|
||||
+ "Enable Incognito snapshots in Android Recents";
|
||||
+const char kEnableIncognitoSnapshotsInAndroidRecentsDescription[] =
|
||||
+ "Enable the secure flag for Incognito tabs which prevent taking screenshots and seeing snapshots in Android Recents.";
|
||||
+
|
||||
const char
|
||||
kEnableAutofillInfoBarAccountIndicationFooterForSingleAccountUsersName[] =
|
||||
"Display InfoBar footers with account indication information for "
|
||||
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
|
||||
@@ -440,6 +440,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
|
||||
extern const char
|
||||
kEnableAutofillSaveCardInfoBarAccountIndicationFooterDescription[];
|
||||
|
||||
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsName[];
|
||||
+extern const char kEnableIncognitoSnapshotsInAndroidRecentsDescription[];
|
||||
+
|
||||
extern const char kEnableExperimentalCookieFeaturesName[];
|
||||
extern const char kEnableExperimentalCookieFeaturesDescription[];
|
||||
|
||||
diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
--- a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
+++ b/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmpl
|
||||
@@ -123,10 +123,6 @@ public abstract class ChromeSwitches {{
|
||||
/** Switch for enabling the Chrome Survey. Only works when UMA is accepted. */
|
||||
public static final String CHROME_FORCE_ENABLE_SURVEY = "force-enable-chrome-survey";
|
||||
|
||||
- /** Switch to enable incognito tabs to be seen in Android Recents. */
|
||||
- public static final String ENABLE_INCOGNITO_SNAPSHOTS_IN_ANDROID_RECENTS =
|
||||
- "enable-incognito-snapshots-in-android-recents";
|
||||
-
|
||||
/** Open all custom tabs in a new task. Used only for experimental purposes. */
|
||||
public static final String OPEN_CUSTOM_TABS_IN_NEW_TASK = "open-custom-tabs-in-new-task";
|
||||
|
||||
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
|
||||
--- a/chrome/common/chrome_switches.cc
|
||||
+++ b/chrome/common/chrome_switches.cc
|
||||
@@ -332,6 +332,9 @@ const char kHomePage[] = "homepage";
|
||||
// Causes the browser to launch directly in incognito mode.
|
||||
const char kIncognito[] = "incognito";
|
||||
|
||||
+// Allows incognito tabs to be seen in Android Recents and thus user screenshots.
|
||||
+const char kEnableIncognitoSnapshotsInAndroidRecents[] = "enable-incognito-snapshots-in-android-recents";
|
||||
+
|
||||
// Installs an autogenerated theme based on the given RGB value.
|
||||
// The format is "r,g,b", where r, g, b are a numeric values from 0 to 255.
|
||||
const char kInstallAutogeneratedTheme[] = "install-autogenerated-theme";
|
||||
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
|
||||
--- a/chrome/common/chrome_switches.h
|
||||
+++ b/chrome/common/chrome_switches.h
|
||||
@@ -109,6 +109,7 @@ extern const char kForceFirstRun[];
|
||||
extern const char kHideCrashRestoreBubble[];
|
||||
extern const char kHomePage[];
|
||||
extern const char kIncognito[];
|
||||
+extern const char kEnableIncognitoSnapshotsInAndroidRecents[];
|
||||
extern const char kInstallAutogeneratedTheme[];
|
||||
extern const char kInstallChromeApp[];
|
||||
extern const char kInstantProcess[];
|
||||
--
|
||||
2.25.1
|
|
@ -14,7 +14,7 @@ for SimpleURLLoaders as well.
|
|||
.../privacy/settings/PrivacySettings.java | 1 +
|
||||
.../chrome_autocomplete_provider_client.cc | 2 +
|
||||
chrome/browser/browser_resources.grd | 6 +
|
||||
chrome/browser/net/proxy_service_factory.cc | 23 +-
|
||||
chrome/browser/net/proxy_service_factory.cc | 24 +-
|
||||
chrome/browser/net/proxy_service_factory.h | 3 +
|
||||
chrome/browser/prefs/browser_prefs.cc | 4 +
|
||||
.../prefs/chrome_command_line_pref_store.cc | 2 +-
|
||||
|
@ -33,7 +33,7 @@ for SimpleURLLoaders as well.
|
|||
.../proxy_config/proxy_policy_handler.cc | 2 +-
|
||||
net/proxy_resolution/proxy_config.cc | 52 ++-
|
||||
net/proxy_resolution/proxy_config.h | 3 +
|
||||
24 files changed, 995 insertions(+), 14 deletions(-)
|
||||
24 files changed, 996 insertions(+), 14 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
|
||||
|
@ -51,8 +51,8 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
|
|||
+ <string name="proxy_url">chrome://proxy</string>
|
||||
+
|
||||
<!-- Download InfoBar animation. -->
|
||||
<integer name="download_infobar_sweep_up_delay">500</integer>
|
||||
<integer name="download_infobar_sweep_down_delay">800</integer>
|
||||
<integer name="download_infobar_fill_in_delay">1200</integer>
|
||||
<integer name="download_infobar_fill_out_delay">200</integer>
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
|
@ -70,18 +70,18 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -52,6 +52,7 @@ import org.chromium.ui.text.SpanApplier;
|
||||
public class PrivacySettings
|
||||
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener,
|
||||
INeedSnackbarManager {
|
||||
@@ -58,6 +58,7 @@ public class PrivacySettings
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
+ private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private SnackbarManager mSnackbarManager;
|
||||
private Snackbar mSnackbar;
|
||||
|
||||
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key";
|
||||
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
|
||||
@@ -280,6 +280,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
@@ -275,6 +275,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
|
||||
builtins_to_provide.push_back(
|
||||
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
|
||||
#endif
|
||||
|
@ -93,7 +93,7 @@ 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
|
||||
@@ -89,6 +89,12 @@
|
||||
@@ -74,6 +74,12 @@
|
||||
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
|
||||
</if>
|
||||
|
||||
|
@ -109,7 +109,15 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
|
|||
diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/proxy_service_factory.cc
|
||||
--- a/chrome/browser/net/proxy_service_factory.cc
|
||||
+++ b/chrome/browser/net/proxy_service_factory.cc
|
||||
@@ -15,6 +15,9 @@
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <utility>
|
||||
|
||||
+#include "base/logging.h"
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -15,6 +16,9 @@
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "net/proxy_resolution/configured_proxy_resolution_service.h"
|
||||
#include "net/proxy_resolution/proxy_config_service.h"
|
||||
|
@ -119,14 +127,14 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
|
|||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#include "chromeos/network/proxy/proxy_config_service_impl.h"
|
||||
@@ -73,7 +76,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
|
||||
@@ -73,7 +77,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
|
||||
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
|
||||
profile_prefs, local_state_prefs, nullptr);
|
||||
#else
|
||||
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
|
||||
+ // Migrate from profile_prefs to local_state_prefs
|
||||
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
|
||||
+ const base::DictionaryValue* dict =
|
||||
+ const base::Value* dict =
|
||||
+ profile_prefs->GetDictionary(proxy_config::prefs::kProxy);
|
||||
+
|
||||
+ LOG(INFO) << "CreatePrefProxyConfigTrackerOfProfile: Migration from profile to local state";
|
||||
|
@ -141,7 +149,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
|
|||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
}
|
||||
|
||||
@@ -89,3 +105,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
|
||||
@@ -89,3 +106,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
|
||||
nullptr);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
}
|
||||
|
@ -153,14 +161,14 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
|
|||
diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/proxy_service_factory.h
|
||||
--- a/chrome/browser/net/proxy_service_factory.h
|
||||
+++ b/chrome/browser/net/proxy_service_factory.h
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -6,6 +6,7 @@
|
||||
#define CHROME_BROWSER_NET_PROXY_SERVICE_FACTORY_H_
|
||||
|
||||
#include <memory>
|
||||
+#include "components/prefs/pref_registry_simple.h"
|
||||
|
||||
class PrefProxyConfigTracker;
|
||||
+#include "components/prefs/pref_registry_simple.h"
|
||||
class PrefService;
|
||||
class Profile;
|
||||
|
||||
@@ -35,6 +36,8 @@ class ProxyServiceFactory {
|
||||
CreatePrefProxyConfigTrackerOfProfile(PrefService* profile_prefs,
|
||||
PrefService* local_state_prefs);
|
||||
|
@ -173,7 +181,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
|
|||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -159,6 +159,8 @@
|
||||
@@ -158,6 +158,8 @@
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
|
||||
|
@ -182,19 +190,19 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
|||
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
|
||||
#include "chrome/browser/background/background_mode_manager.h"
|
||||
#endif
|
||||
@@ -962,6 +964,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
PluginsResourceService::RegisterPrefs(registry);
|
||||
#endif
|
||||
|
||||
@@ -967,6 +969,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
|
||||
component_updater::RegisterPrefs(registry);
|
||||
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
|
||||
+ ProxyServiceFactory::RegisterPrefs(registry);
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
::android::RegisterPrefs(registry);
|
||||
|
||||
enterprise_reporting::RegisterLocalStatePrefs(registry);
|
||||
ExternalProtocolHandler::RegisterPrefs(registry);
|
||||
flags_ui::PrefServiceFlagsStorage::RegisterPrefs(registry);
|
||||
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() {
|
||||
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
|
||||
SetValue(
|
||||
proxy_config::prefs::kProxy,
|
||||
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
|
||||
|
@ -627,7 +635,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
|
||||
@@ -278,6 +278,8 @@ static_library("ui") {
|
||||
@@ -274,6 +274,8 @@ static_library("ui") {
|
||||
"webui/metrics_handler.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
|
@ -639,15 +647,15 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
|||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -53,6 +53,7 @@
|
||||
@@ -55,6 +55,7 @@
|
||||
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
||||
#include "chrome/browser/ui/webui/policy/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/predictors/predictors_ui.h"
|
||||
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/signin_internals_ui.h"
|
||||
@@ -671,6 +672,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -763,6 +764,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MemoryInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
|
@ -748,9 +756,9 @@ new file mode 100644
|
|||
+ void RegisterMessages() override;
|
||||
+
|
||||
+ // Messages
|
||||
+ void OnEnableNotifyUIWithState(base::Value::ConstListView list);
|
||||
+ void OnApply(base::Value::ConstListView config);
|
||||
+ void OnClear(base::Value::ConstListView config);
|
||||
+ void OnEnableNotifyUIWithState(const base::Value::List& args);
|
||||
+ void OnApply(const base::Value::List& args);
|
||||
+ void OnClear(const base::Value::List& args);
|
||||
+
|
||||
+ // net::ProxyConfigService::Observer implementation:
|
||||
+ // Calls ProxyConfigView.onProxyConfigChanged JavaScript function in the
|
||||
|
@ -909,7 +917,7 @@ new file mode 100644
|
|||
+// The proxy configuration UI is not notified of state changes until this function runs.
|
||||
+// After this function, OnProxyConfigChanged() will be called on all proxy state changes.
|
||||
+void ProxyConfigMessageHandler::OnEnableNotifyUIWithState(
|
||||
+ base::Value::ConstListView list) {
|
||||
+ const base::Value::List& list) {
|
||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
+
|
||||
+ if (!is_observing_) {
|
||||
|
@ -920,7 +928,7 @@ new file mode 100644
|
|||
+ net::ProxyConfigWithAnnotation config;
|
||||
+ auto availability = proxy_config_service_->GetLatestProxyConfig(&config);
|
||||
+
|
||||
+ const base::DictionaryValue* dict =
|
||||
+ const base::Value* dict =
|
||||
+ pref_service_->GetDictionary(proxy_config::prefs::kProxy);
|
||||
+ ProxyConfigDictionary proxy_dict(dict->Clone());
|
||||
+ ProxyPrefs::ProxyMode mode;
|
||||
|
@ -931,7 +939,7 @@ new file mode 100644
|
|||
+ OnProxyConfigChanged(config, availability);
|
||||
+}
|
||||
+
|
||||
+void ProxyConfigMessageHandler::OnClear(base::Value::ConstListView list) {
|
||||
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
|
||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
+
|
||||
+ const base::Value cfg = ProxyConfigDictionary::CreateSystem();
|
||||
|
@ -940,7 +948,7 @@ new file mode 100644
|
|||
+ OnEnableNotifyUIWithState(list);
|
||||
+}
|
||||
+
|
||||
+void ProxyConfigMessageHandler::OnApply(base::Value::ConstListView list) {
|
||||
+void ProxyConfigMessageHandler::OnApply(const base::Value::List& list) {
|
||||
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
+
|
||||
+ if ((list.size() != 1) || !list[0].is_dict()) {
|
||||
|
@ -1018,7 +1026,7 @@ new file mode 100644
|
|||
+ } else if (t == "direct") {
|
||||
+ proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::EMPTY;
|
||||
+ } else if (t == "none") {
|
||||
+ base::Value::ConstListView empty;
|
||||
+ base::Value::List empty;
|
||||
+ OnClear(empty);
|
||||
+ return;
|
||||
+ } else {
|
||||
|
@ -1065,7 +1073,7 @@ new file mode 100644
|
|||
+ }
|
||||
+ pref_service_->CommitPendingWrite();
|
||||
+
|
||||
+ base::Value::ConstListView empty;
|
||||
+ base::Value::List empty;
|
||||
+ OnEnableNotifyUIWithState(empty);
|
||||
+}
|
||||
+
|
||||
|
@ -1118,7 +1126,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
|
||||
@@ -37,6 +37,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
||||
@@ -39,6 +39,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
|
||||
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
|
||||
const char kChromeUIChromeSigninHost[] = "chrome-signin";
|
||||
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
|
||||
|
@ -1127,7 +1135,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||
const char kChromeUIChromeURLsHost[] = "chrome-urls";
|
||||
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
|
||||
const char kChromeUIComponentsHost[] = "components";
|
||||
@@ -393,6 +395,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
@@ -409,6 +411,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
|
||||
kChromeUIMobileSetupHost,
|
||||
kChromeUIMultiDeviceSetupHost,
|
||||
kChromeUINetworkHost,
|
||||
|
@ -1135,8 +1143,8 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
|
|||
kChromeUIOobeHost,
|
||||
kChromeUIOSCreditsHost,
|
||||
kChromeUIOSSettingsHost,
|
||||
@@ -627,6 +630,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !defined(OS_ANDROID)
|
||||
@@ -651,6 +654,7 @@ const char* const kChromeHostURLs[] = {
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
kChromeUIAppLauncherPageHost,
|
||||
+ kChromeUIProxyConfigHost,
|
||||
|
@ -1158,7 +1166,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
|
|||
diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||
--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
|
||||
@@ -380,6 +380,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
||||
@@ -381,6 +381,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
|
||||
if (proxy_dict.GetBypassList(&proxy_bypass)) {
|
||||
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
|
||||
}
|
||||
|
@ -1294,7 +1302,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
|
|||
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
|
||||
--- a/components/proxy_config/proxy_policy_handler.cc
|
||||
+++ b/components/proxy_config/proxy_policy_handler.cc
|
||||
@@ -259,7 +259,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
|
||||
@@ -258,7 +258,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
|
||||
ProxyConfigDictionary::CreateFixedServers(
|
||||
server->GetString(), bypass_list && bypass_list->is_string()
|
||||
? bypass_list->GetString()
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -5,23 +5,22 @@ Subject: Add bookmark import/export actions
|
|||
Add bookmark import/export actions in bookmarks activity and page
|
||||
Reduce permissions needed for bookmarks import/export
|
||||
Completely remove contacts picker permission from the file dialog
|
||||
|
||||
Requires patch: Adds-support-for-writing-URIs.patch
|
||||
---
|
||||
base/android/content_uri_utils.cc | 10 +
|
||||
base/android/content_uri_utils.h | 4 +
|
||||
.../org/chromium/base/ContentUriUtils.java | 32 ++
|
||||
chrome/android/java/AndroidManifest.xml | 1 -
|
||||
.../res/menu/bookmark_action_bar_menu.xml | 14 +
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
|
||||
.../browser/bookmarks/BookmarkActionBar.java | 12 +
|
||||
.../browser/bookmarks/BookmarkActivity.java | 30 ++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 279 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkDelegate.java | 10 +
|
||||
.../browser/bookmarks/BookmarkManager.java | 22 ++
|
||||
.../browser/bookmarks/BookmarkPage.java | 8 +-
|
||||
.../native_page/NativePageFactory.java | 11 +-
|
||||
chrome/browser/BUILD.gn | 11 +-
|
||||
chrome/browser/about_flags.cc | 6 +
|
||||
.../android/bookmarks/bookmark_bridge.cc | 284 ++++++++++++++++++
|
||||
.../android/bookmarks/bookmark_bridge.cc | 283 ++++++++++++++++++
|
||||
.../android/bookmarks/bookmark_bridge.h | 30 +-
|
||||
.../browser/bookmarks/bookmark_html_writer.cc | 8 +-
|
||||
.../dialogs/DownloadLocationCustomView.java | 8 +-
|
||||
|
@ -44,91 +43,8 @@ Completely remove contacts picker permission from the file dialog
|
|||
ui/shell_dialogs/select_file_dialog.h | 2 +
|
||||
.../select_file_dialog_android.cc | 6 +
|
||||
ui/shell_dialogs/select_file_dialog_android.h | 2 +
|
||||
38 files changed, 894 insertions(+), 29 deletions(-)
|
||||
35 files changed, 846 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
||||
--- a/base/android/content_uri_utils.cc
|
||||
+++ b/base/android/content_uri_utils.cc
|
||||
@@ -30,6 +30,16 @@ File OpenContentUriForRead(const FilePath& content_uri) {
|
||||
return File(fd);
|
||||
}
|
||||
|
||||
+File OpenContentUriForWrite(const FilePath& content_uri) {
|
||||
+ JNIEnv* env = base::android::AttachCurrentThread();
|
||||
+ ScopedJavaLocalRef<jstring> j_uri =
|
||||
+ ConvertUTF8ToJavaString(env, content_uri.value());
|
||||
+ jint fd = Java_ContentUriUtils_openContentUriForWrite(env, j_uri);
|
||||
+ if (fd < 0)
|
||||
+ return File();
|
||||
+ return File(fd);
|
||||
+}
|
||||
+
|
||||
std::string GetContentUriMimeType(const FilePath& content_uri) {
|
||||
JNIEnv* env = base::android::AttachCurrentThread();
|
||||
ScopedJavaLocalRef<jstring> j_uri =
|
||||
diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
||||
--- a/base/android/content_uri_utils.h
|
||||
+++ b/base/android/content_uri_utils.h
|
||||
@@ -18,6 +18,10 @@ namespace base {
|
||||
// Returns -1 if the URI is invalid.
|
||||
BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri);
|
||||
|
||||
+// Opens a content URI for write and returns the file descriptor to the caller.
|
||||
+// Returns -1 if the URI is invalid.
|
||||
+BASE_EXPORT File OpenContentUriForWrite(const FilePath& content_uri);
|
||||
+
|
||||
// Check whether a content URI exists.
|
||||
BASE_EXPORT bool ContentUriExists(const FilePath& content_uri);
|
||||
|
||||
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
@@ -23,6 +23,9 @@ import org.chromium.base.annotations.CalledByNative;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
+import android.system.Os;
|
||||
+import android.content.ContentProviderClient;
|
||||
+
|
||||
/**
|
||||
* This class provides methods to access content URI schemes.
|
||||
*/
|
||||
@@ -89,6 +92,35 @@ public abstract class ContentUriUtils {
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ @CalledByNative
|
||||
+ public static int openContentUriForWrite(String uriString) {
|
||||
+ try {
|
||||
+ Uri uri = Uri.parse(uriString);
|
||||
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
|
||||
+ ContentProviderClient client = resolver.acquireContentProviderClient(
|
||||
+ uri.getAuthority());
|
||||
+ ParcelFileDescriptor pfd = client.openFile(uri, "rw");
|
||||
+ int fd = pfd.detachFd();
|
||||
+ client.close();
|
||||
+ return fd;
|
||||
+ } catch (Exception e) {
|
||||
+ Log.e(TAG, "Cannot open intermediate Uri.", e);
|
||||
+ }
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ public static String getFilePathFromContentUri(Uri uri) {
|
||||
+ String path = null;
|
||||
+ try {
|
||||
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
|
||||
+ ParcelFileDescriptor pfd = resolver.openFileDescriptor(uri, "r");
|
||||
+ path = Os.readlink("/proc/self/fd/" + pfd.getFd());
|
||||
+ pfd.close();
|
||||
+ } catch (Throwable t) {
|
||||
+ }
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Check whether a content URI exists.
|
||||
*
|
||||
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
|
||||
|
@ -239,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
|
||||
@@ -15,6 +15,11 @@ import org.chromium.chrome.browser.IntentHandler;
|
||||
@@ -16,6 +16,11 @@ import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.SnackbarActivity;
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
|
@ -251,7 +167,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
|
||||
/**
|
||||
* The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
|
||||
@@ -24,6 +29,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
@@ -25,6 +30,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
public class BookmarkActivity extends SnackbarActivity {
|
||||
|
||||
private BookmarkManager mBookmarkManager;
|
||||
|
@ -259,10 +175,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
|
||||
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
|
||||
|
||||
@@ -40,8 +46,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
if (TextUtils.isEmpty(url)) url = UrlConstants.BOOKMARKS_URL;
|
||||
@@ -42,8 +48,23 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
mBookmarkManager.updateForUrl(url);
|
||||
setContentView(mBookmarkManager.getView());
|
||||
BackPressHelper.create(this, getOnBackPressedDispatcher(), mBookmarkManager::onBackPressed);
|
||||
+
|
||||
+ final boolean listenToActivityState = true;
|
||||
+ IntentRequestTracker intentRequestTracker = IntentRequestTracker.createFromActivity(this);
|
||||
|
@ -283,7 +199,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@@ -56,6 +77,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -53,6 +74,7 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
@ -291,7 +207,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
|
||||
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(data.getStringExtra(
|
||||
INTENT_VISIT_BOOKMARK_ID));
|
||||
@@ -63,6 +85,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
@@ -60,6 +82,14 @@ public class BookmarkActivity extends SnackbarActivity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -330,7 +246,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
|
||||
@@ -45,6 +58,33 @@ import java.util.HashMap;
|
||||
@@ -46,6 +59,32 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -359,12 +275,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
+import org.chromium.base.task.AsyncTask;
|
||||
+
|
||||
+import java.io.File;
|
||||
+
|
||||
+
|
||||
/**
|
||||
* Provides the communication channel for Android to fetch and manipulate the
|
||||
* bookmark model stored in native.
|
||||
@@ -733,6 +773,209 @@ public class BookmarkBridge {
|
||||
@@ -737,6 +776,209 @@ public class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
|
||||
}
|
||||
|
||||
|
@ -574,7 +489,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
* @param query Keyword used for searching bookmarks.
|
||||
@@ -1301,6 +1544,39 @@ public class BookmarkBridge {
|
||||
@@ -1319,6 +1561,39 @@ public class BookmarkBridge {
|
||||
depthList.add(depth);
|
||||
}
|
||||
|
||||
|
@ -614,7 +529,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
|
||||
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
|
||||
for (int i = 0; i < left.length; i++) {
|
||||
@@ -1371,6 +1647,9 @@ public class BookmarkBridge {
|
||||
@@ -1389,6 +1664,9 @@ public class BookmarkBridge {
|
||||
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
|
||||
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
|
||||
List<BookmarkId> bookmarksList);
|
||||
|
@ -647,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
@@ -33,6 +33,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
|
||||
@@ -35,6 +35,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
|
||||
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
|
||||
|
@ -656,7 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
|
||||
import org.chromium.components.favicon.LargeIconBridge;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -55,6 +57,8 @@ public class BookmarkManager
|
||||
@@ -57,6 +59,8 @@ public class BookmarkManager
|
||||
private ComponentName mOpenBookmarkComponentName;
|
||||
private ViewGroup mMainView;
|
||||
private BookmarkModel mBookmarkModel;
|
||||
|
@ -665,7 +580,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;
|
||||
@@ -341,6 +345,14 @@ public class BookmarkManager
|
||||
@@ -351,6 +355,14 @@ public class BookmarkManager
|
||||
mNativePage = nativePage;
|
||||
}
|
||||
|
||||
|
@ -680,7 +595,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
|
||||
@@ -521,6 +533,16 @@ public class BookmarkManager
|
||||
@@ -531,6 +543,16 @@ public class BookmarkManager
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -735,9 +650,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
|||
import org.chromium.base.supplier.DestroyableObservableSupplier;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
+import org.chromium.chrome.browser.app.ChromeActivity;
|
||||
import org.chromium.chrome.browser.app.download.home.DownloadPage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
@@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils;
|
||||
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
|
||||
*/
|
||||
|
@ -786,8 +701,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
|||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -1845,6 +1845,13 @@ static_library("browser") {
|
||||
"window_placement/window_placement_permission_context.h",
|
||||
@@ -1835,6 +1835,13 @@ static_library("browser") {
|
||||
"webid/federated_identity_sharing_permission_context_factory.h",
|
||||
]
|
||||
|
||||
+ if (is_android) {
|
||||
|
@ -800,7 +715,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3003,6 +3010,8 @@ static_library("browser") {
|
||||
@@ -2984,6 +2991,8 @@ static_library("browser") {
|
||||
"autofill/manual_filling_view_interface.h",
|
||||
"banners/android/chrome_app_banner_manager_android.cc",
|
||||
"banners/android/chrome_app_banner_manager_android.h",
|
||||
|
@ -809,7 +724,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
"browser_process_platform_part_android.cc",
|
||||
"browser_process_platform_part_android.h",
|
||||
"chrome_browser_field_trials_mobile.cc",
|
||||
@@ -3636,8 +3645,6 @@ static_library("browser") {
|
||||
@@ -3595,8 +3604,6 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
|
@ -821,7 +736,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7672,6 +7672,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -8213,6 +8213,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
#endif
|
||||
|
||||
|
@ -863,7 +778,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
using base::android::AttachCurrentThread;
|
||||
using base::android::ConvertUTF8ToJavaString;
|
||||
using base::android::ConvertUTF16ToJavaString;
|
||||
@@ -72,8 +91,93 @@ using bookmarks::BookmarkNode;
|
||||
@@ -72,8 +91,92 @@ using bookmarks::BookmarkNode;
|
||||
using bookmarks::BookmarkType;
|
||||
using content::BrowserThread;
|
||||
|
||||
|
@ -878,7 +793,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
+
|
||||
+ // Filter out the URLs with unsupported schemes.
|
||||
+ const char* const kInvalidSchemes[] = {"wyciwyg", "place"};
|
||||
+ for (size_t i = 0; i < base::size(kInvalidSchemes); ++i) {
|
||||
+ for (size_t i = 0; i < std::size(kInvalidSchemes); ++i) {
|
||||
+ if (url.SchemeIs(kInvalidSchemes[i]))
|
||||
+ return false;
|
||||
+ }
|
||||
|
@ -952,12 +867,11 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
+ ui::WindowAndroid* window_;
|
||||
+ const std::string export_path_;
|
||||
+};
|
||||
+
|
||||
+
|
||||
class BookmarkTitleComparer {
|
||||
public:
|
||||
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
|
||||
@@ -160,6 +264,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
@@ -160,6 +263,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
if (partner_bookmarks_shim_)
|
||||
partner_bookmarks_shim_->RemoveObserver(this);
|
||||
reading_list_manager_->RemoveObserver(this);
|
||||
|
@ -968,7 +882,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
|
||||
@@ -577,6 +685,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -577,6 +684,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
return count;
|
||||
}
|
||||
|
||||
|
@ -1211,7 +1125,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,
|
||||
@@ -376,12 +396,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
@@ -381,12 +401,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
void DestroyJavaObject();
|
||||
|
||||
raw_ptr<Profile> profile_;
|
||||
|
@ -1228,7 +1142,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
|
|||
|
||||
// Information about the Partner bookmarks (must check for IsLoaded()).
|
||||
// This is owned by profile.
|
||||
@@ -393,6 +417,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
@@ -398,6 +422,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
|
||||
// Observes the profile destruction and creation.
|
||||
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
|
||||
|
||||
|
@ -1334,7 +1248,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||
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
|
||||
@@ -5512,6 +5512,11 @@ const char kWebKioskEnableLacrosDescription[] =
|
||||
@@ -5897,6 +5897,11 @@ const char kWebKioskEnableLacrosDescription[] =
|
||||
"Chrome OS. When disabled, the Ash-chrome will be used";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
|
@ -1349,7 +1263,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
|
||||
@@ -3222,6 +3222,9 @@ extern const char kWebKioskEnableLacrosName[];
|
||||
@@ -3423,6 +3423,9 @@ extern const char kWebKioskEnableLacrosName[];
|
||||
extern const char kWebKioskEnableLacrosDescription[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
|
@ -1362,15 +1276,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -166,6 +166,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kAppToWebAttribution,
|
||||
&kBackgroundThreadPool,
|
||||
&kBookmarkBottomSheet,
|
||||
+ &kBookmarksExportUseSaf,
|
||||
&kCastDeviceFilter,
|
||||
&kCloseAllTabsModalDialog,
|
||||
&kCloseTabSuggestions,
|
||||
&kCriticalPersistedTabData,
|
||||
@@ -834,6 +835,10 @@ const base::Feature kWebApkInstallCompleteNotification{
|
||||
@@ -872,6 +873,10 @@ const base::Feature kWebApkInstallCompleteNotification{
|
||||
const base::Feature kWebApkTrampolineOnInitialIntent{
|
||||
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -1384,7 +1298,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -153,6 +153,7 @@ extern const base::Feature kToolbarMicIphAndroid;
|
||||
@@ -160,6 +160,7 @@ extern const base::Feature kToolbarMicIphAndroid;
|
||||
extern const base::Feature kToolbarUseHardwareBitmapDraw;
|
||||
extern const base::Feature kTrustedWebActivityLocationDelegation;
|
||||
extern const base::Feature kTrustedWebActivityNewDisclosure;
|
||||
|
@ -1395,7 +1309,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -553,6 +553,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -563,6 +563,7 @@ public abstract class ChromeFeatureList {
|
||||
"WebApkTrampolineOnInitialIntent";
|
||||
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
|
||||
public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString";
|
||||
|
@ -1410,7 +1324,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
|
|||
HistoryServiceFactory::GetForProfile(profile_,
|
||||
ServiceAccessType::EXPLICIT_ACCESS)
|
||||
->AddPagesWithDetails(page, visit_source);
|
||||
+#if !defined(OS_ANDROID)
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// Measure the size of the history page after Auto Import on first run.
|
||||
if (first_run::IsChromeFirstRun() &&
|
||||
visit_source == history::SOURCE_IE_IMPORTED) {
|
||||
|
@ -1464,7 +1378,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
|
|||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -122,6 +122,8 @@ public final class ChromePreferenceKeys {
|
||||
@@ -103,6 +103,8 @@ public final class ChromePreferenceKeys {
|
||||
public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url";
|
||||
public static final String BOOKMARKS_LAST_USED_PARENT =
|
||||
"enhanced_bookmark_last_used_parent_folder";
|
||||
|
@ -1473,8 +1387,8 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
|
||||
/**
|
||||
* Whether Chrome is set as the default browser.
|
||||
@@ -1049,6 +1051,7 @@ public final class ChromePreferenceKeys {
|
||||
AUTOFILL_ASSISTANT_PROACTIVE_HELP,
|
||||
@@ -1020,6 +1022,7 @@ public final class ChromePreferenceKeys {
|
||||
ATTRIBUTION_PROVIDER_LAST_BROWSER_START,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
+ BOOKMARKS_LAST_EXPORT_URI,
|
||||
|
@ -1512,7 +1426,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
--- a/chrome/common/BUILD.gn
|
||||
+++ b/chrome/common/BUILD.gn
|
||||
@@ -413,6 +413,9 @@ static_library("common") {
|
||||
@@ -382,6 +382,9 @@ static_library("common") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
|
@ -1534,7 +1448,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
|||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/external_process_importer_bridge.cc",
|
||||
@@ -187,6 +185,11 @@ static_library("utility") {
|
||||
@@ -189,6 +187,11 @@ static_library("utility") {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1549,25 +1463,25 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
|||
diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
--- a/chrome/utility/importer/bookmark_html_reader.cc
|
||||
+++ b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
@@ -17,7 +17,9 @@
|
||||
@@ -16,7 +16,9 @@
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/time/time.h"
|
||||
#include "chrome/common/importer/imported_bookmark_entry.h"
|
||||
+#if !defined(OS_ANDROID)
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/utility/importer/favicon_reencode.h"
|
||||
+#endif
|
||||
#include "components/search_engines/search_terms_data.h"
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "net/base/data_url.h"
|
||||
@@ -56,6 +58,7 @@ bool GetAttribute(const std::string& attribute_list,
|
||||
@@ -55,6 +57,7 @@ bool GetAttribute(const std::string& attribute_list,
|
||||
return true;
|
||||
}
|
||||
|
||||
+#if !defined(OS_ANDROID)
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// Given the URL of a page and a favicon data URL, adds an appropriate record
|
||||
// to the given favicon usage vector.
|
||||
void DataURLToFaviconUsage(const GURL& link_url,
|
||||
@@ -86,6 +89,7 @@ void DataURLToFaviconUsage(const GURL& link_url,
|
||||
@@ -85,6 +88,7 @@ void DataURLToFaviconUsage(const GURL& link_url,
|
||||
|
||||
favicons->push_back(usage);
|
||||
}
|
||||
|
@ -1575,7 +1489,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
|
|||
|
||||
} // namespace
|
||||
|
||||
@@ -106,14 +110,28 @@ static std::string stripDt(const std::string& lineDt) {
|
||||
@@ -105,14 +109,28 @@ static std::string stripDt(const std::string& lineDt) {
|
||||
}
|
||||
|
||||
void ImportBookmarksFile(
|
||||
|
@ -1607,7 +1521,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
|
|||
std::vector<std::string> lines = base::SplitString(
|
||||
content, "\n", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
|
||||
|
||||
@@ -126,6 +144,7 @@ void ImportBookmarksFile(
|
||||
@@ -125,6 +143,7 @@ void ImportBookmarksFile(
|
||||
std::vector<std::u16string> path;
|
||||
size_t toolbar_folder_index = 0;
|
||||
std::string charset = "UTF-8"; // If no charset is specified, assume utf-8.
|
||||
|
@ -1615,11 +1529,11 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
|
|||
for (size_t i = 0;
|
||||
i < lines.size() &&
|
||||
(cancellation_callback.is_null() || !cancellation_callback.Run());
|
||||
@@ -218,10 +237,12 @@ void ImportBookmarksFile(
|
||||
@@ -217,10 +236,12 @@ void ImportBookmarksFile(
|
||||
}
|
||||
bookmarks->push_back(entry);
|
||||
|
||||
+#if !defined(OS_ANDROID)
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
// Save the favicon. DataURLToFaviconUsage will handle the case where
|
||||
// there is no favicon.
|
||||
if (favicons)
|
||||
|
@ -1649,15 +1563,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
|
||||
@@ -38,6 +38,7 @@ import org.chromium.base.task.AsyncTask;
|
||||
@@ -39,6 +39,7 @@ import org.chromium.base.task.AsyncTask;
|
||||
import org.chromium.base.task.PostTask;
|
||||
import org.chromium.base.task.TaskTraits;
|
||||
import org.chromium.ui.R;
|
||||
+import org.chromium.ui.widget.Toast;
|
||||
import org.chromium.ui.UiUtils;
|
||||
import org.chromium.ui.permissions.PermissionConstants;
|
||||
|
||||
import java.io.File;
|
||||
@@ -56,6 +57,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -58,6 +59,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
private static final String TAG = "SelectFileDialog";
|
||||
private static final String IMAGE_TYPE = "image";
|
||||
private static final String VIDEO_TYPE = "video";
|
||||
|
@ -1665,7 +1579,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
|||
private static final String AUDIO_TYPE = "audio";
|
||||
private static final String ALL_TYPES = "*/*";
|
||||
|
||||
@@ -239,6 +241,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -241,6 +243,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
mFileTypes = fileTypes;
|
||||
}
|
||||
|
||||
|
@ -1677,16 +1591,16 @@ 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/*")
|
||||
@@ -266,7 +273,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -267,7 +274,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())
|
||||
@@ -294,7 +301,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
if (BuildInfo.isAtLeastT()) {
|
||||
if (!window.hasPermission(PermissionConstants.READ_MEDIA_IMAGES)
|
||||
&& shouldShowImageTypes()) {
|
||||
@@ -308,7 +315,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
|
||||
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
|
||||
|
@ -1695,16 +1609,16 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
|||
if (permissions.length != requestPermissions.length) {
|
||||
throw new RuntimeException(
|
||||
String.format("Permissions arrays misaligned: %d != %d",
|
||||
@@ -308,7 +315,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -322,7 +329,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
}
|
||||
|
||||
- if (shouldUsePhotoPicker && permissions[i].equals(storagePermission)) {
|
||||
+ if ((shouldUsePhotoPicker || shouldShowHtmlTypes()) && permissions[i].equals(storagePermission)) {
|
||||
onFileNotSelected();
|
||||
return;
|
||||
}
|
||||
@@ -504,6 +511,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
- if (shouldUsePhotoPicker) {
|
||||
+ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
|
||||
if (permissions[i].equals(storagePermission)
|
||||
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|
||||
|| permissions[i].equals(
|
||||
@@ -523,6 +530,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
}
|
||||
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
|
||||
}
|
||||
|
@ -1712,7 +1626,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
|||
return mimeTypes;
|
||||
}
|
||||
|
||||
@@ -811,6 +819,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
@@ -828,6 +836,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
return countAcceptTypesFor(superType) == mFileTypes.size();
|
||||
}
|
||||
|
||||
|
@ -1726,7 +1640,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
|
|||
diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/strings/android_ui_strings.grd
|
||||
--- a/ui/android/java/strings/android_ui_strings.grd
|
||||
+++ b/ui/android/java/strings/android_ui_strings.grd
|
||||
@@ -174,6 +174,9 @@
|
||||
@@ -177,6 +177,9 @@
|
||||
<message name="IDS_OPENING_FILE_ERROR" desc="Toast when the browser is unable to open a file for upload. [CHAR_LIMIT=32]">
|
||||
Failed to open selected file
|
||||
</message>
|
||||
|
|
|
@ -20,7 +20,7 @@ See also: https://github.com/bromite/bromite/issues/1474
|
|||
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
|
||||
@@ -65,6 +65,16 @@
|
||||
@@ -55,6 +55,16 @@
|
||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
|
||||
android:key="do_not_track"
|
||||
android:title="@string/do_not_track_title"/>
|
||||
|
@ -123,9 +123,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -94,6 +94,9 @@ public class PrivacySettings
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
private IncognitoLockSettings mIncognitoLockSettings;
|
||||
@@ -83,6 +83,9 @@ public class PrivacySettings
|
||||
private ViewGroup mDialogContainer;
|
||||
private BottomSheetController mBottomSheetController;
|
||||
|
||||
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
|
||||
+ private ChromeSwitchPreference openExternalLinksPref;
|
||||
|
@ -133,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
PrivacyPreferencesManagerImpl privacyPrefManager =
|
||||
@@ -203,6 +206,9 @@ public class PrivacySettings
|
||||
@@ -154,6 +157,9 @@ public class PrivacySettings
|
||||
updatePreferences();
|
||||
}
|
||||
|
||||
|
@ -143,10 +143,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
@@ -220,6 +226,14 @@ public class PrivacySettings
|
||||
SharedPreferences.Editor sharedPreferenceEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
sharedPreferenceEditor.putBoolean(PREF_FORCE_NO_JIT, (boolean) newValue);
|
||||
sharedPreferenceEditor.apply();
|
||||
@@ -170,6 +176,14 @@ public class PrivacySettings
|
||||
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (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);
|
||||
|
@ -155,10 +155,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
|
||||
+ sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
|
||||
+ sharedPreferencesEditor.apply();
|
||||
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
|
||||
mSharedPreferencesManager.writeBoolean(
|
||||
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
|
||||
@@ -255,6 +269,16 @@ public class PrivacySettings
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -192,6 +206,16 @@ public class PrivacySettings
|
||||
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4780,6 +4780,21 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4616,6 +4616,21 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
|
||||
Show original
|
||||
</message>
|
||||
|
|
|
@ -15,8 +15,8 @@ Corrected Exit functionality
|
|||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
+++ b/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -153,6 +153,9 @@
|
||||
android:icon="@drawable/gm_filled_cardboard_24" />
|
||||
@@ -158,6 +158,9 @@
|
||||
android:icon="@drawable/ic_business" />
|
||||
<item android:id="@+id/managed_by_menu_id"
|
||||
android:title="@string/managed" />
|
||||
+ <item android:id="@+id/exit_id"
|
||||
|
@ -25,7 +25,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
</group>
|
||||
|
||||
<!-- Items shown only in the tab switcher -->
|
||||
@@ -179,6 +182,9 @@
|
||||
@@ -184,6 +187,9 @@
|
||||
<item android:id="@id/preferences_id"
|
||||
android:title="@string/menu_settings"
|
||||
android:icon="@drawable/settings_cog" />
|
||||
|
@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
|
|||
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
|
||||
@@ -207,6 +207,8 @@ import java.util.HashSet;
|
||||
@@ -214,6 +214,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
|
@ -66,19 +66,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
/**
|
||||
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
|
||||
* are accessible via a chrome specific tab switching UI.
|
||||
@@ -2042,6 +2044,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2110,6 +2112,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
} else if (id == R.id.close_tab) {
|
||||
getCurrentTabModel().closeTab(currentTab, true, false, true);
|
||||
RecordUserAction.record("MobileTabClosed");
|
||||
+ } else if (id == R.id.exit_id) {
|
||||
+ ApplicationLifetime.terminate(false);
|
||||
} else if (id == R.id.close_all_tabs_menu_id) {
|
||||
// Close both incognito and normal tabs
|
||||
getTabModelSelector().closeAllTabs();
|
||||
// Close both incognito and normal tabs.
|
||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -65,6 +65,7 @@ import org.chromium.chrome.R;
|
||||
@@ -66,6 +66,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.ActivityUtils;
|
||||
import org.chromium.chrome.browser.AppHooks;
|
||||
|
@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
|
||||
import org.chromium.chrome.browser.ChromeApplicationImpl;
|
||||
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
|
||||
@@ -2388,6 +2389,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2397,6 +2398,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3338,6 +3338,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3331,6 +3331,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
|
||||
Dark theme
|
||||
</message>
|
||||
|
|
|
@ -5,20 +5,20 @@ Subject: Add flag for omnibox autocomplete filtering
|
|||
Adds a flag that restricts whether search history, clipboard, bookmarks
|
||||
and internal chrome:// pages will be used for the autocomplete results.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 21 +++++++++++++++++++
|
||||
chrome/browser/about_flags.cc | 22 ++++++++++++++++++-
|
||||
.../browser/autocomplete_controller.cc | 11 ++++++++++
|
||||
.../omnibox/browser/history_url_provider.cc | 3 +++
|
||||
components/omnibox/browser/search_provider.cc | 4 ++++
|
||||
components/url_formatter/url_fixer.cc | 4 ++++
|
||||
5 files changed, 43 insertions(+)
|
||||
5 files changed, 43 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
|
||||
@@ -447,6 +447,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
||||
base::size(kReaderModeOfferInSettings), nullptr}};
|
||||
#endif // OS_ANDROID
|
||||
@@ -466,6 +466,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+const FeatureEntry::Choice kOmniboxAutocompleteFiltering[] = {
|
||||
+ {flags_ui::kGenericExperimentChoiceDefault, "", ""},
|
||||
+ {"Search suggestions only",
|
||||
|
@ -35,21 +35,22 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
+ "search-bookmarks-chrome"},
|
||||
+};
|
||||
+
|
||||
#if defined(OS_ANDROID)
|
||||
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
|
||||
{"mode", "always-none"}};
|
||||
@@ -4925,6 +4941,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
#endif // !defined(OS_ANDROID)
|
||||
|
||||
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
|
||||
@@ -3714,7 +3730,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
kOsMac | kOsLinux | kOsWin,
|
||||
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
|
||||
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) // Bromite autocomplete filtering
|
||||
+ {"omnibox-autocomplete-filtering",
|
||||
+ "Omnibox Autocomplete Filtering",
|
||||
+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages. ungoogled-chromium flag.",
|
||||
+ "Restrict omnibox autocomplete results to a combination of search suggestions (if enabled), bookmarks, and internal chrome pages.",
|
||||
+ kOsAll, MULTI_VALUE_TYPE(kOmniboxAutocompleteFiltering)},
|
||||
+
|
||||
#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
|
||||
defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
|
||||
{"webui-feedback", flag_descriptions::kWebuiFeedbackName,
|
||||
{"adaptive-button-in-top-toolbar",
|
||||
flag_descriptions::kAdaptiveButtonInTopToolbarName,
|
||||
flag_descriptions::kAdaptiveButtonInTopToolbarDescription, kOsAndroid,
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
|
@ -62,7 +63,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
|
|||
#include "base/feature_list.h"
|
||||
#include "base/format_macros.h"
|
||||
#include "base/metrics/histogram.h"
|
||||
@@ -270,6 +272,15 @@ AutocompleteController::AutocompleteController(
|
||||
@@ -292,6 +294,15 @@ AutocompleteController::AutocompleteController(
|
||||
search_service_worker_signal_sent_(false),
|
||||
template_url_service_(provider_client_->GetTemplateURLService()) {
|
||||
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
|
||||
|
@ -81,7 +82,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
|
|||
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
||||
--- a/components/omnibox/browser/history_url_provider.cc
|
||||
+++ b/components/omnibox/browser/history_url_provider.cc
|
||||
@@ -552,6 +552,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
||||
@@ -472,6 +472,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
|
||||
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
|
||||
matches_.push_back(what_you_typed_match);
|
||||
|
||||
|
|
|
@ -3,31 +3,33 @@ Date: Mon, 1 Feb 2021 19:18:55 +0200
|
|||
Subject: Add flag for save-data-header
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 3 +++
|
||||
chrome/browser/about_flags.cc | 5 ++++-
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
content/browser/loader/browser_initiated_resource_request.cc | 5 +++--
|
||||
services/network/public/cpp/features.cc | 4 ++++
|
||||
services/network/public/cpp/features.cc | 5 +++++
|
||||
services/network/public/cpp/features.h | 2 ++
|
||||
6 files changed, 19 insertions(+), 2 deletions(-)
|
||||
6 files changed, 21 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
|
||||
@@ -4660,6 +4660,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -4313,7 +4313,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
|
||||
flag_descriptions::kForceTextDirectionDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) // Bromite save data header
|
||||
+ {"enable-save-data-header", flag_descriptions::kEnableSaveDataHeaderName,
|
||||
+ flag_descriptions::kEnableSaveDataHeaderDescription, kOsAndroid,
|
||||
+ FEATURE_VALUE_TYPE(network::features::kEnableSaveDataHeader)},
|
||||
{"enable-command-line-on-non-rooted-devices",
|
||||
flag_descriptions::kEnableCommandLineOnNonRootedName,
|
||||
flag_descriptions::kEnableCommandLineOnNoRootedDescription, kOsAndroid,
|
||||
{"force-update-menu-type", flag_descriptions::kUpdateMenuTypeName,
|
||||
flag_descriptions::kUpdateMenuTypeDescription, kOsAndroid,
|
||||
MULTI_VALUE_TYPE(kForceUpdateMenuTypeChoices)},
|
||||
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
|
||||
@@ -1093,6 +1093,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
@@ -1140,6 +1140,10 @@ const char kDisableKeepaliveFetchDescription[] =
|
||||
"Disable fetch with keepalive set "
|
||||
"(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
|
||||
|
||||
|
@ -41,7 +43,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
|
||||
@@ -596,6 +596,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
|
||||
@@ -609,6 +609,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
|
||||
extern const char kDisableKeepaliveFetchName[];
|
||||
extern const char kDisableKeepaliveFetchDescription[];
|
||||
|
||||
|
@ -70,23 +72,24 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
|
|||
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
|
||||
@@ -134,6 +134,10 @@ const base::FeatureParam<std::string>
|
||||
"DisabledProviders", ""};
|
||||
@@ -20,6 +20,11 @@ namespace features {
|
||||
const base::Feature kExpectCTReporting{"ExpectCTReporting",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
// Disable special treatment on requests with keepalive set (see
|
||||
+// Enable save-data header seprately, without enabled data reduction service
|
||||
+
|
||||
+// Enable save-data header separately (without enabled data reduction service).
|
||||
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
// https://fetch.spec.whatwg.org/#request-keepalive-flag). This is introduced
|
||||
// for investigation on the memory usage, and should not be enabled widely.
|
||||
const base::Feature kDisableKeepaliveFetch{"DisableKeepaliveFetch",
|
||||
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
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
|
||||
@@ -52,6 +52,8 @@ extern const base::FeatureParam<std::string>
|
||||
@@ -47,6 +47,8 @@ extern const base::Feature kDisableKeepaliveFetch;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kDisableKeepaliveFetch;
|
||||
extern const base::Feature kOpaqueResponseBlockingV01;
|
||||
|
||||
+extern const base::Feature kEnableSaveDataHeader;
|
||||
+COMPONENT_EXPORT(NETWORK_CPP)
|
||||
|
|
|
@ -19,7 +19,7 @@ with limited CPU/memory resources and it is disabled by default.
|
|||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -817,6 +817,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
@@ -884,6 +884,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
|
||||
net::kEffectiveConnectionType4G},
|
||||
};
|
||||
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
// Ensure that all effective connection types returned by Network Quality
|
||||
// Estimator (NQE) are also exposed via flags.
|
||||
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
|
||||
@@ -3923,6 +3928,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4290,6 +4295,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidPictureInPictureAPIName,
|
||||
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
|
||||
|
@ -44,9 +44,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1588,6 +1588,10 @@ const char kLogJsConsoleMessagesDescription[] =
|
||||
"Enable logging JS console messages in system logs, please note that they "
|
||||
"may contain PII.";
|
||||
@@ -1661,6 +1661,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
|
||||
"websites abusing the API will still eventually have their setTimeouts "
|
||||
"clamped.";
|
||||
|
||||
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
|
||||
+const char kMaxConnectionsPerHostDescription[] =
|
||||
|
@ -58,9 +58,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
|
||||
@@ -919,6 +919,9 @@ extern const char kLensCameraAssistedSearchDescription[];
|
||||
extern const char kLogJsConsoleMessagesName[];
|
||||
extern const char kLogJsConsoleMessagesDescription[];
|
||||
@@ -942,6 +942,9 @@ extern const char kLogJsConsoleMessagesDescription[];
|
||||
extern const char kUnthrottledNestedTimeoutName[];
|
||||
extern const char kUnthrottledNestedTimeoutDescription[];
|
||||
|
||||
+extern const char kMaxConnectionsPerHostName[];
|
||||
+extern const char kMaxConnectionsPerHostDescription[];
|
||||
|
@ -121,7 +121,7 @@ diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/compon
|
|||
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
|
||||
@@ -20,6 +20,10 @@
|
||||
@@ -19,6 +19,10 @@
|
||||
#include "net/socket/client_socket_handle.h"
|
||||
#include "net/socket/client_socket_pool.h"
|
||||
#include "net/socket/connect_job.h"
|
||||
|
@ -132,7 +132,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
|
|||
#include "net/ssl/ssl_config.h"
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "url/gurl.h"
|
||||
@@ -173,6 +177,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
|
||||
@@ -172,6 +176,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);
|
||||
|
|
|
@ -7,13 +7,13 @@ Disable it by default on Android as it is everywhere else
|
|||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
media/base/media_switches.cc | 6 +-----
|
||||
4 files changed, 13 insertions(+), 5 deletions(-)
|
||||
media/base/media_switches.cc | 4 ----
|
||||
4 files changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2714,6 +2714,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3024,6 +3024,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebRtcRemoteEventLogName,
|
||||
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
|
||||
|
@ -27,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1182,6 +1182,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
|
||||
@@ -1228,6 +1228,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
|
||||
"Enables image options to be surfaced in the context menu for nodes "
|
||||
"covered by transparent overlays.";
|
||||
|
||||
|
@ -42,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -670,6 +670,9 @@ extern const char kEnablePortalsDescription[];
|
||||
@@ -675,6 +675,9 @@ extern const char kEnablePortalsDescription[];
|
||||
extern const char kEnablePortalsCrossOriginName[];
|
||||
extern const char kEnablePortalsCrossOriginDescription[];
|
||||
|
||||
|
@ -55,16 +55,15 @@ 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
|
||||
@@ -283,11 +283,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
@@ -284,11 +284,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
|
||||
// when in background.
|
||||
const base::Feature kResumeBackgroundVideo {
|
||||
"resume-background-video",
|
||||
-#if defined(OS_ANDROID)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
-#else
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
};
|
||||
|
||||
// Experimental: Try to avoid destroying the media player when transferring a
|
||||
|
|
|
@ -3,7 +3,7 @@ Date: Sun, 18 Nov 2018 13:06:49 +0100
|
|||
Subject: Add flag to disable IPv6 probes
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 5 +++++
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
components/subresource_filter/tools/BUILD.gn | 6 ++++++
|
||||
|
@ -11,41 +11,40 @@ Subject: Add flag to disable IPv6 probes
|
|||
net/dns/host_resolver_manager.cc | 9 ++++++++-
|
||||
services/network/public/cpp/features.cc | 4 ++++
|
||||
services/network/public/cpp/features.h | 2 ++
|
||||
8 files changed, 34 insertions(+), 2 deletions(-)
|
||||
8 files changed, 33 insertions(+), 2 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
|
||||
@@ -4904,6 +4904,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
|
||||
// defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
|
||||
|
||||
@@ -5251,6 +5251,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
|
||||
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
+ {"ipv6-probing",
|
||||
+ flag_descriptions::kIPv6ProbingName,
|
||||
+ flag_descriptions::kIPv6ProbingDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
|
||||
+
|
||||
#if !defined(OS_ANDROID)
|
||||
{"ntp-cache-one-google-bar", flag_descriptions::kNtpCacheOneGoogleBarName,
|
||||
flag_descriptions::kNtpCacheOneGoogleBarDescription, kOsDesktop,
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3053,6 +3053,10 @@ const char kContextualSearchRankerQueryDescription[] =
|
||||
@@ -3086,6 +3086,10 @@ const char kCCTResizableForThirdPartiesName[] =
|
||||
const char kCCTResizableForThirdPartiesDescription[] =
|
||||
"Enable bottom sheet Custom Tabs for third party apps.";
|
||||
|
||||
const char kContextualSearchSecondTapName[] =
|
||||
"Contextual Search second tap triggering";
|
||||
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
|
||||
+const char kIPv6ProbingDescription[] =
|
||||
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
|
||||
+
|
||||
const char kContextualSearchSecondTapDescription[] =
|
||||
"Enables triggering on a second tap gesture even when Ranker would "
|
||||
"normally suppress that tap.";
|
||||
const char kChimeAlwaysShowNotificationDescription[] =
|
||||
"A debug flag to always show Chime notification after receiving a payload.";
|
||||
const char kChimeAlwaysShowNotificationName[] =
|
||||
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
|
||||
@@ -733,6 +733,9 @@ extern const char kEnableWasmLazyCompilationName[];
|
||||
@@ -744,6 +744,9 @@ extern const char kEnableWasmLazyCompilationName[];
|
||||
extern const char kEnableWasmLazyCompilationDescription[];
|
||||
|
||||
extern const char kEnableWasmTieringName[];
|
||||
|
@ -101,7 +100,7 @@ diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/compon
|
|||
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
|
||||
@@ -95,6 +95,7 @@
|
||||
@@ -103,6 +103,7 @@
|
||||
#include "net/log/net_log_event_type.h"
|
||||
#include "net/log/net_log_source.h"
|
||||
#include "net/log/net_log_source_type.h"
|
||||
|
@ -109,7 +108,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||
#include "net/log/net_log_with_source.h"
|
||||
#include "net/socket/client_socket_factory.h"
|
||||
#include "net/socket/datagram_client_socket.h"
|
||||
@@ -3726,8 +3727,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
@@ -3937,8 +3938,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
|
||||
if (last_ipv6_probe_time_.is_null() ||
|
||||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
|
||||
kIPv6ProbePeriodMs) {
|
||||
|
@ -128,7 +127,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
|||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -43,6 +43,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
@@ -36,6 +36,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
const base::Feature kThrottleDelayable{"ThrottleDelayable",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -142,9 +141,9 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
|
|||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -19,6 +19,8 @@ extern const base::Feature kNetworkErrorLogging;
|
||||
@@ -17,6 +17,8 @@ extern const base::Feature kExpectCTReporting;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::Feature kNetworkService;
|
||||
extern const base::Feature kNetworkErrorLogging;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
+extern const base::Feature kIPv6Probing;
|
||||
+COMPONENT_EXPORT(NETWORK_CPP)
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 16 Nov 2019 11:18:09 +0100
|
||||
Subject: Add flag to disable WebGL
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
3 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -2655,6 +2655,9 @@ const FeatureEntry::FeatureVariation kSnoopingProtectionVariations[] = {
|
||||
// When adding a new choice, add it to the end of the list.
|
||||
const FeatureEntry kFeatureEntries[] = {
|
||||
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
|
||||
+ {switches::kDisableWebGL, flag_descriptions::kDisableWebGLName,
|
||||
+ flag_descriptions::kDisableWebGLDescription, kOsAll,
|
||||
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebGL)},
|
||||
// //tools/flags/generate_unexpire_flags.py.
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "chrome/browser/unexpire_flags_gen.inc"
|
||||
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
|
||||
@@ -675,6 +675,10 @@ const char kDocumentTransitionSlowdownFactorName[] =
|
||||
const char kDocumentTransitionSlowdownFactorDescription[] =
|
||||
"Slows down animations triggered by documentTransition JavaScript API for "
|
||||
"debugging.";
|
||||
+const char kDisableWebGLName[] = "WebGL";
|
||||
+
|
||||
+const char kDisableWebGLDescription[] = "Enable or disable all versions of WebGL";
|
||||
+
|
||||
|
||||
const char kEnableAutofillAddressSavePromptName[] =
|
||||
"Autofill Address Save Prompts";
|
||||
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
|
||||
@@ -380,6 +380,9 @@ extern const char kForceColorProfileSRGB[];
|
||||
extern const char kForceColorProfileP3[];
|
||||
extern const char kForceColorProfileColorSpin[];
|
||||
extern const char kForceColorProfileSCRGBLinear[];
|
||||
+extern const char kDisableWebGLName[];
|
||||
+extern const char kDisableWebGLDescription[];
|
||||
+
|
||||
extern const char kForceColorProfileHDR10[];
|
||||
|
||||
extern const char kForceColorProfileName[];
|
||||
--
|
||||
2.25.1
|
|
@ -11,7 +11,7 @@ Subject: Add flag to disable external intent requests
|
|||
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
|
||||
@@ -2709,6 +2709,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3009,6 +3009,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
|
||||
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
|
||||
|
@ -24,7 +24,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -3350,6 +3350,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
|
||||
@@ -3481,6 +3481,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
|
||||
const char kPhotoPickerVideoSupportDescription[] =
|
||||
"Enables video files to be shown in the Photo Picker dialog";
|
||||
|
||||
|
@ -40,7 +40,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
|
||||
@@ -1946,6 +1946,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
@@ -2003,6 +2003,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
extern const char kQueryTilesOmniboxName[];
|
||||
extern const char kQueryTilesOmniboxDescription[];
|
||||
extern const char kQueryTilesSingleTierName[];
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: Add flag to disable vibration
|
|||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 2 ++
|
||||
content/child/runtime_features.cc | 1 +
|
||||
content/public/common/content_features.cc | 4 ++++
|
||||
content/public/common/content_features.h | 2 ++
|
||||
|
@ -13,12 +13,12 @@ Subject: Add flag to disable vibration
|
|||
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
|
||||
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
||||
10 files changed, 29 insertions(+)
|
||||
10 files changed, 28 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
|
||||
@@ -6260,6 +6260,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6636,6 +6636,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
|
||||
#endif
|
||||
|
||||
|
@ -32,44 +32,43 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -5326,6 +5326,9 @@ const char kDefaultCalculatorWebAppDescription[] =
|
||||
@@ -5670,6 +5670,9 @@ const char kDefaultCalculatorWebAppDescription[] =
|
||||
"chrome app.";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
|
||||
+const char kEnableVibrationName[] = "Vibration";
|
||||
+const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed.";
|
||||
+
|
||||
#if defined(OS_CHROMEOS)
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
const char kDeprecateLowUsageCodecsName[] = "Deprecates low usage media codecs";
|
||||
const char kDeprecateLowUsageCodecsDescription[] =
|
||||
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
|
||||
@@ -3091,6 +3091,9 @@ extern const char kDefaultCalculatorWebAppName[];
|
||||
extern const char kDefaultCalculatorWebAppDescription[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
@@ -3428,6 +3428,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
||||
extern const char kWebUITabStripTabDragIntegrationDescription[];
|
||||
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
+extern const char kEnableVibrationName[];
|
||||
+extern const char kEnableVibrationDescription[];
|
||||
+
|
||||
#if defined(OS_CHROMEOS)
|
||||
extern const char kDeprecateLowUsageCodecsName[];
|
||||
extern const char kDeprecateLowUsageCodecsDescription[];
|
||||
#if defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
|
||||
|
||||
extern const char kAutofillCreditCardUploadName[];
|
||||
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
|
||||
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -99,6 +99,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
|
||||
WebRuntimeFeatures::EnableMediaSession(false);
|
||||
+ WebRuntimeFeatures::EnableVibration(base::FeatureList::IsEnabled(features::kVibration));
|
||||
#endif
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
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
|
||||
@@ -113,6 +113,10 @@ const base::Feature kBackForwardCacheMemoryControls {
|
||||
@@ -121,6 +121,10 @@ const base::Feature kBackForwardCacheMemoryControls {
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -83,19 +82,19 @@ 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
|
||||
@@ -299,6 +299,8 @@ extern const char kBigLittleSchedulingGpuMainBigParam[];
|
||||
|
||||
#endif // defined(OS_ANDROID)
|
||||
@@ -315,6 +315,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
|
||||
kCompositorLockTimeout;
|
||||
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
+CONTENT_EXPORT extern const base::Feature kVibration;
|
||||
+
|
||||
#if defined(OS_MAC)
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac;
|
||||
CONTENT_EXPORT extern const base::Feature kIOSurfaceCapturer;
|
||||
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
|
||||
@@ -90,6 +90,7 @@ class WebRuntimeFeatures {
|
||||
@@ -87,6 +87,7 @@ class WebRuntimeFeatures {
|
||||
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
|
||||
bool);
|
||||
BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool);
|
||||
|
@ -126,7 +125,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
|
|||
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
|
||||
@@ -190,6 +190,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
@@ -164,6 +164,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
|
||||
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
|
||||
}
|
||||
|
||||
|
@ -140,7 +139,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
|
|||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -1622,6 +1622,10 @@
|
||||
@@ -1673,6 +1673,10 @@
|
||||
name: "OrientationEvent",
|
||||
status: {"Android": "stable"},
|
||||
},
|
||||
|
|
File diff suppressed because it is too large
Load diff
1442
build/patches/Add-lifetime-options-for-permissions.patch
Normal file
1442
build/patches/Add-lifetime-options-for-permissions.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -40,7 +40,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
<item android:id="@+id/recent_tabs_menu_id"
|
||||
android:title="@string/menu_recent_tabs"
|
||||
android:icon="@drawable/devices_black_24dp" />
|
||||
@@ -176,6 +180,9 @@
|
||||
@@ -181,6 +185,9 @@
|
||||
<item android:id="@+id/menu_group_tabs"
|
||||
android:title="@string/menu_group_tabs"
|
||||
android:icon="@drawable/ic_widgets" />
|
||||
|
@ -53,7 +53,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/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
|
||||
@@ -68,6 +68,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
@@ -69,6 +69,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabbedModeTabModelOrchestrator;
|
||||
|
@ -62,16 +62,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -2054,6 +2056,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
// Close both incognito and normal tabs
|
||||
getTabModelSelector().closeAllTabs();
|
||||
@@ -2123,6 +2125,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
||||
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
+ } else if (id == R.id.bookmark_all_tabs_menu_id) {
|
||||
+ bookmarkAllTabs();
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
getTabModelSelector().getModel(true).closeAllTabs();
|
||||
@@ -2103,6 +2107,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
|
||||
@@ -2175,6 +2179,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
|
@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
@@ -28,6 +28,7 @@ import com.google.common.primitives.UnsignedLongs;
|
||||
@@ -29,6 +29,7 @@ import com.google.common.primitives.UnsignedLongs;
|
||||
import com.google.protobuf.InvalidProtocolBufferException;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
|
@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
import org.chromium.base.ObserverList;
|
||||
import org.chromium.base.ThreadUtils;
|
||||
import org.chromium.base.annotations.CalledByNative;
|
||||
@@ -45,6 +46,10 @@ import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
|
||||
@@ -46,6 +47,10 @@ import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
|
||||
import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
|
||||
import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
|
@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
private final Profile mProfile;
|
||||
private boolean mIsDestroyed;
|
||||
private boolean mIsDoingExtensiveChanges;
|
||||
@@ -630,6 +636,16 @@ public class BookmarkBridge {
|
||||
@@ -633,6 +639,16 @@ public class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this);
|
||||
}
|
||||
|
||||
|
@ -147,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
/**
|
||||
* @return Id representing the special "other" folder from bookmark model.
|
||||
*/
|
||||
@@ -1341,6 +1357,49 @@ public class BookmarkBridge {
|
||||
@@ -1358,6 +1374,49 @@ public class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
|
||||
}
|
||||
|
||||
|
@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
/**
|
||||
* @param url The URL of the reading list item.
|
||||
* @return The reading list item with the URL, or null if no such reading list item.
|
||||
@@ -1638,6 +1697,7 @@ public class BookmarkBridge {
|
||||
@@ -1655,6 +1714,7 @@ public class BookmarkBridge {
|
||||
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
|
||||
List<BookmarkId> folderList, List<Integer> depthList);
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
||||
|
@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
|
||||
@@ -628,6 +628,7 @@ public class BookmarkUtils {
|
||||
@@ -633,6 +633,7 @@ public class BookmarkUtils {
|
||||
List<BookmarkId> topLevelFolders = new ArrayList<>();
|
||||
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
|
||||
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
|
||||
|
@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
|
||||
|
||||
List<BookmarkId> specialFoldersIds =
|
||||
@@ -653,6 +654,9 @@ public class BookmarkUtils {
|
||||
@@ -658,6 +659,9 @@ public class BookmarkUtils {
|
||||
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
|
||||
topLevelFolders.add(mobileNodeId);
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
|||
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
|
||||
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
|
||||
@@ -434,6 +434,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
|
||||
top_level_folders.push_back(node.get());
|
||||
}
|
||||
|
||||
|
@ -241,7 +241,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
|
||||
if (node->is_folder())
|
||||
top_level_folders.push_back(node.get());
|
||||
@@ -483,6 +488,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
@@ -482,6 +487,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
// Vector to temporarily contain all child bookmarks at same level for sorting
|
||||
std::vector<const BookmarkNode*> bookmarks = {
|
||||
bookmark_model_->mobile_node(),
|
||||
|
@ -249,7 +249,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
|
|||
bookmark_model_->bookmark_bar_node(),
|
||||
bookmark_model_->other_node(),
|
||||
};
|
||||
@@ -537,6 +543,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
|
||||
@@ -536,6 +542,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
|
||||
return folder_id_obj;
|
||||
}
|
||||
|
||||
|
@ -349,7 +349,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3421,6 +3421,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3404,6 +3404,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]">
|
||||
Track prices
|
||||
</message>
|
||||
|
@ -385,7 +385,7 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri
|
|||
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
|
||||
--- a/components/bookmarks/browser/bookmark_codec.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.cc
|
||||
@@ -33,6 +33,7 @@ const char BookmarkCodec::kRootFolderNameKey[] = "bookmark_bar";
|
||||
@@ -33,6 +33,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
|
||||
const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other";
|
||||
// The value is left as 'synced' for historical reasons.
|
||||
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced";
|
||||
|
@ -393,33 +393,33 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
const char BookmarkCodec::kVersionKey[] = "version";
|
||||
const char BookmarkCodec::kChecksumKey[] = "checksum";
|
||||
const char BookmarkCodec::kIdKey[] = "id";
|
||||
@@ -62,7 +63,8 @@ BookmarkCodec::~BookmarkCodec() = default;
|
||||
@@ -74,7 +75,8 @@ BookmarkCodec::~BookmarkCodec() = default;
|
||||
base::Value BookmarkCodec::Encode(BookmarkModel* model,
|
||||
const std::string& sync_metadata_str) {
|
||||
std::string sync_metadata_str) {
|
||||
return Encode(model->bookmark_bar_node(), model->other_node(),
|
||||
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
|
||||
+ model->mobile_node(), model->tabs_collection_node(),
|
||||
+ model->root_node()->GetMetaInfoMap(),
|
||||
sync_metadata_str);
|
||||
std::move(sync_metadata_str));
|
||||
}
|
||||
|
||||
@@ -70,6 +72,7 @@ base::Value BookmarkCodec::Encode(
|
||||
@@ -82,6 +84,7 @@ base::Value BookmarkCodec::Encode(
|
||||
const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
const std::string& sync_metadata_str) {
|
||||
std::string sync_metadata_str) {
|
||||
ids_reassigned_ = false;
|
||||
@@ -79,6 +82,7 @@ base::Value BookmarkCodec::Encode(
|
||||
roots.SetKey(kRootFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
@@ -103,6 +106,7 @@ base::Value BookmarkCodec::Encode(
|
||||
roots.SetKey(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
|
||||
roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
|
||||
roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
|
||||
+ roots.SetKey(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
|
||||
if (model_meta_info_map)
|
||||
roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
|
||||
base::Value main(base::Value::Type::DICTIONARY);
|
||||
@@ -102,6 +106,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
FinalizeChecksum();
|
||||
@@ -119,6 +123,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -427,7 +427,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
int64_t* max_id,
|
||||
std::string* sync_metadata_str) {
|
||||
ids_.clear();
|
||||
@@ -109,7 +114,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
@@ -126,7 +131,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
base::GUID::ParseLowercase(BookmarkNode::kBookmarkBarNodeGuid),
|
||||
base::GUID::ParseLowercase(BookmarkNode::kOtherBookmarksNodeGuid),
|
||||
base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid),
|
||||
|
@ -437,7 +437,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
ids_reassigned_ = false;
|
||||
guids_reassigned_ = false;
|
||||
ids_valid_ = true;
|
||||
@@ -117,12 +123,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
@@ -134,12 +140,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
|
||||
stored_checksum_.clear();
|
||||
InitializeChecksum();
|
||||
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
|
||||
|
@ -452,7 +452,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
*max_id = maximum_id_ + 1;
|
||||
return success;
|
||||
}
|
||||
@@ -172,6 +179,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
|
||||
@@ -189,6 +196,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
|
||||
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -460,20 +460,20 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
const base::Value& value,
|
||||
std::string* sync_metadata_str) {
|
||||
if (!value.is_dict())
|
||||
@@ -203,6 +211,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
DecodeNode(*root_folder_value, nullptr, bb_node);
|
||||
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
||||
@@ -220,6 +228,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
|
||||
return false;
|
||||
|
||||
DecodeNode(*bb_value, nullptr, bb_node);
|
||||
+ const base::DictionaryValue* tabs_folder_d_value = nullptr;
|
||||
+ const base::Value* tabs_folder_value =
|
||||
+ roots->FindDictKey(kTabsBookmarkFolderNameKey);
|
||||
+ if (tabs_folder_value && tabs_folder_value->GetAsDictionary(&tabs_folder_d_value))
|
||||
+ DecodeNode(*tabs_folder_d_value, nullptr, tabs_folder_node);
|
||||
+
|
||||
// Fail silently if we can't deserialize mobile bookmarks. We can't require
|
||||
// them to exist in order to be backwards-compatible with older versions of
|
||||
// chrome.
|
||||
@@ -452,11 +466,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
DecodeNode(*other_folder_value, nullptr, other_folder_node);
|
||||
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
|
||||
|
||||
@@ -455,11 +469,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
|
||||
|
||||
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
|
@ -491,15 +491,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
|
|||
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
|
||||
--- a/components/bookmarks/browser/bookmark_codec.h
|
||||
+++ b/components/bookmarks/browser/bookmark_codec.h
|
||||
@@ -49,6 +49,7 @@ class BookmarkCodec {
|
||||
@@ -48,6 +48,7 @@ class BookmarkCodec {
|
||||
base::Value Encode(const BookmarkNode* bookmark_bar_node,
|
||||
const BookmarkNode* other_folder_node,
|
||||
const BookmarkNode* mobile_folder_node,
|
||||
+ const BookmarkNode* tabs_folder_node,
|
||||
const BookmarkNode::MetaInfoMap* model_meta_info_map,
|
||||
const std::string& sync_metadata_str);
|
||||
std::string sync_metadata_str);
|
||||
|
||||
@@ -61,6 +62,7 @@ class BookmarkCodec {
|
||||
@@ -60,6 +61,7 @@ class BookmarkCodec {
|
||||
BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -507,7 +507,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -106,6 +108,7 @@ class BookmarkCodec {
|
||||
@@ -105,6 +107,7 @@ class BookmarkCodec {
|
||||
// Allows the BookmarkClient to read and a write a string blob from the JSON
|
||||
// file. That string captures the bookmarks sync metadata.
|
||||
static const char kSyncMetadata[];
|
||||
|
@ -515,7 +515,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
|
||||
// Possible values for kTypeKey.
|
||||
static const char kTypeURL[];
|
||||
@@ -122,6 +125,7 @@ class BookmarkCodec {
|
||||
@@ -121,6 +124,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
BookmarkNode* mobile_folder_node,
|
||||
|
@ -523,7 +523,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
|||
const base::Value& value,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -133,7 +137,8 @@ class BookmarkCodec {
|
||||
@@ -132,7 +136,8 @@ class BookmarkCodec {
|
||||
// Reassigns bookmark IDs for all nodes.
|
||||
void ReassignIDs(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_node,
|
||||
|
@ -569,7 +569,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
|
|||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -564,7 +564,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
@@ -565,7 +565,7 @@ bool BookmarkModel::HasBookmarks() {
|
||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return bookmark_bar_node_->children().empty() &&
|
||||
|
@ -578,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
|||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) {
|
||||
@@ -806,6 +806,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -807,6 +807,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
bookmark_bar_node_ = details->bb_node();
|
||||
other_node_ = details->other_folder_node();
|
||||
mobile_node_ = details->mobile_folder_node();
|
||||
|
@ -589,7 +589,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
|
|||
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
|
||||
--- a/components/bookmarks/browser/bookmark_model.h
|
||||
+++ b/components/bookmarks/browser/bookmark_model.h
|
||||
@@ -120,6 +120,12 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
@@ -121,6 +121,12 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
return mobile_node_;
|
||||
}
|
||||
|
||||
|
@ -602,11 +602,11 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
|||
bool is_root_node(const BookmarkNode* node) const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return node == root_;
|
||||
@@ -395,6 +401,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
@@ -396,6 +402,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr;
|
||||
+ BookmarkPermanentNode* tabs_collection_node_ = nullptr;
|
||||
+ raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr;
|
||||
|
||||
// The maximum ID assigned to the bookmark nodes in the model.
|
||||
int64_t next_node_id_ = 1;
|
||||
|
@ -674,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
|||
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
||||
--- a/components/bookmarks/browser/model_loader.cc
|
||||
+++ b/components/bookmarks/browser/model_loader.cc
|
||||
@@ -54,7 +54,8 @@ void LoadBookmarks(const base::FilePath& path,
|
||||
@@ -55,7 +55,8 @@ void LoadBookmarks(const base::FilePath& path,
|
||||
std::string sync_metadata_str;
|
||||
BookmarkCodec codec;
|
||||
codec.Decode(*root, details->bb_node(), details->other_folder_node(),
|
||||
|
@ -687,7 +687,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
|||
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
|
||||
@@ -400,6 +400,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
|
||||
@@ -406,6 +406,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
|
||||
case bookmarks::BookmarkNode::BOOKMARK_BAR:
|
||||
case bookmarks::BookmarkNode::OTHER_NODE:
|
||||
case bookmarks::BookmarkNode::MOBILE:
|
||||
|
|
|
@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
|||
diff --git a/chrome/android/java/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
|
||||
@@ -2077,6 +2077,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -2149,6 +2149,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
|
||||
}
|
||||
RecordUserAction.record("MobileMenuDownloadManager");
|
||||
|
@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
@@ -2558,6 +2558,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2522,6 +2522,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
@@ -502,6 +502,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -507,6 +507,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
|
||||
|
||||
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
|
||||
|
@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||
|
||||
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
|
||||
|
||||
@@ -1135,6 +1136,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -1153,6 +1154,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled);
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
|
||||
@@ -212,6 +212,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
@@ -216,6 +216,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
|
||||
|
||||
updateRequestDesktopSiteMenuItem(
|
||||
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
|
||||
|
@ -110,8 +110,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -299,6 +299,10 @@ CHAR_LIMIT guidelines:
|
||||
Sign-in verifications
|
||||
@@ -305,6 +305,10 @@ CHAR_LIMIT guidelines:
|
||||
Chrome tips
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
|
||||
|
|
|
@ -3,72 +3,23 @@ Date: Mon, 1 Feb 2021 19:18:55 +0200
|
|||
Subject: Add option to force tablet UI
|
||||
|
||||
---
|
||||
.../java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../settings/AccessibilitySettings.java | 10 ++++++++++
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||
.../browser/omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../android/strings/android_chrome_strings.grd | 6 ++++++
|
||||
.../toolbar/top/ToolbarControlContainer.java | 16 ----------------
|
||||
components/BUILD.gn | 4 ++--
|
||||
components/BUILD.gn | 6 +++---
|
||||
.../java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
|
||||
ui/android/BUILD.gn | 2 ++
|
||||
.../org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
|
||||
10 files changed, 33 insertions(+), 19 deletions(-)
|
||||
10 files changed, 34 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -29,6 +29,11 @@
|
||||
android:key="captions"
|
||||
android:title="@string/accessibility_captions_title"/>
|
||||
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
|
||||
+ android:key="force_tablet_ui"
|
||||
+ android:summary="@string/force_tablet_ui_summary"
|
||||
+ android:title="@string/force_tablet_ui_title" />
|
||||
+
|
||||
<Preference
|
||||
android:fragment="org.chromium.chrome.browser.image_descriptions.ImageDescriptionsSettings"
|
||||
android:key="image_descriptions"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
@@ -35,6 +35,7 @@ public class AccessibilitySettings
|
||||
static final String PREF_CAPTIONS = "captions";
|
||||
static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
private TextScalePreference mTextScalePref;
|
||||
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
private boolean mRecordFontSizeChangeOnStop;
|
||||
@@ -80,6 +81,12 @@ public class AccessibilitySettings
|
||||
.getBoolean(Pref.READER_FOR_ACCESSIBILITY));
|
||||
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
+ ChromeBaseCheckBoxPreference forceTabletUiPref =
|
||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||
+ forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
|
||||
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||
+
|
||||
ChromeBaseCheckBoxPreference mAccessibilityTabSwitcherPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(
|
||||
ChromePreferenceKeys.ACCESSIBILITY_TAB_SWITCHER);
|
||||
@@ -131,6 +138,9 @@ public class AccessibilitySettings
|
||||
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
||||
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
||||
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, (Boolean) newValue);
|
||||
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.READER_FOR_ACCESSIBILITY, (Boolean) newValue);
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -508,6 +508,7 @@ public final class ChromePreferenceKeys {
|
||||
public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom";
|
||||
@@ -443,6 +443,7 @@ public final class ChromePreferenceKeys {
|
||||
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
|
||||
|
||||
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
|
||||
+ public static final String FLAGS_FORCE_TABLET_UI_ENABLED = "force_tablet_ui_enabled";
|
||||
|
@ -78,7 +29,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
@@ -98,6 +98,7 @@ public class LegacyChromePreferenceKeys {
|
||||
@@ -85,6 +85,7 @@ public class LegacyChromePreferenceKeys {
|
||||
ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT,
|
||||
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
|
||||
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
|
||||
|
@ -89,7 +40,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -352,7 +352,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
|
||||
@@ -356,7 +356,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
|
||||
// OmniboxSuggestionsDropdownEmbedder implementation
|
||||
@Override
|
||||
public boolean isTablet() {
|
||||
|
@ -101,9 +52,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1316,6 +1316,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_CONFIRMATION_DIALOG_CONFIRM" desc="Message for Safe Browsing no protection confirmation button.">
|
||||
Turn off
|
||||
@@ -1355,6 +1355,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_PRIVACY_REVIEW_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
|
||||
Temporarily links this data to your Google Account when you’re signed in, to protect you across Google apps
|
||||
</message>
|
||||
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
|
||||
+ Open chromium in Tablet Mode
|
||||
|
@ -112,8 +63,8 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
+ Force Tablet Mode
|
||||
+ </message>
|
||||
|
||||
<!-- Accessibility preferences -->
|
||||
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
||||
<!-- Safety check -->
|
||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
|
@ -143,28 +94,86 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
|||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
--- a/components/BUILD.gn
|
||||
+++ b/components/BUILD.gn
|
||||
@@ -572,7 +572,7 @@ test("components_unittests") {
|
||||
@@ -43,7 +43,7 @@ if (is_ios) {
|
||||
|
||||
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
|
||||
# Omit Lacros because it allows //components to depend on //chrome, which in
|
||||
# turn depends on //extensions.
|
||||
-if (!is_chromeos_lacros) {
|
||||
+if (!is_chromeos_lacros && !is_android) {
|
||||
disallowed_extension_deps_ = [
|
||||
# Components should largely not depend on //extensions. Since // extensions
|
||||
# is not a component target and is linked with //chrome, depending on most
|
||||
@@ -618,7 +618,7 @@ test("components_unittests") {
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
|
||||
@@ -836,7 +836,7 @@ if (!is_ios) {
|
||||
|
||||
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
|
||||
# On other platforms, no components should depend on Chrome.
|
||||
@@ -893,7 +893,7 @@ if (!is_ios) {
|
||||
# dependency. On other platforms, no components should depend on Chrome.
|
||||
# Since //chrome depends on //extensions, we also only assert_no_deps on
|
||||
# extensions targets for non-lacros builds.
|
||||
- if (!is_chromeos_lacros) {
|
||||
+ if (!is_chromeos_lacros && !is_android) {
|
||||
assert_no_deps = [ "//chrome/*" ]
|
||||
assert_no_deps += disallowed_extension_deps_
|
||||
}
|
||||
}
|
||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -25,6 +25,11 @@
|
||||
android:summary="@string/accessibility_tab_switcher_summary"
|
||||
android:title="@string/accessibility_tab_switcher_title" />
|
||||
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference
|
||||
+ android:key="force_tablet_ui"
|
||||
+ android:summary="@string/force_tablet_ui_summary"
|
||||
+ android:title="@string/force_tablet_ui_title" />
|
||||
+
|
||||
<Preference
|
||||
android:key="captions"
|
||||
android:title="@string/accessibility_captions_title"/>
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
@@ -27,6 +27,7 @@ public class AccessibilitySettings
|
||||
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
|
||||
public static final String PREF_CAPTIONS = "captions";
|
||||
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
private TextScalePreference mTextScalePref;
|
||||
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
private boolean mRecordFontSizeChangeOnStop;
|
||||
@@ -85,6 +86,12 @@ public class AccessibilitySettings
|
||||
getPreferenceScreen().removePreference(readerForAccessibilityPref);
|
||||
}
|
||||
|
||||
+ ChromeBaseCheckBoxPreference forceTabletUiPref =
|
||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||
+ forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
|
||||
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||
+
|
||||
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(
|
||||
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
|
||||
@@ -133,6 +140,9 @@ public class AccessibilitySettings
|
||||
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
||||
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
||||
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, (Boolean) newValue);
|
||||
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
||||
if (mReaderForAccessibilityDelegate != null) {
|
||||
mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue);
|
||||
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
|
||||
--- a/ui/android/BUILD.gn
|
||||
+++ b/ui/android/BUILD.gn
|
||||
@@ -358,6 +358,8 @@ android_library("ui_no_recycler_view_java") {
|
||||
@@ -360,6 +360,8 @@ android_library("ui_no_recycler_view_java") {
|
||||
":ui_java_resources",
|
||||
":ui_utils_java",
|
||||
"//base:base_java",
|
||||
|
|
|
@ -13,9 +13,9 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -42,6 +42,11 @@
|
||||
android:title="@string/always_incognito_title"
|
||||
android:summary="@string/always_incognito_summary"
|
||||
android:defaultValue="false" />
|
||||
android:title="@string/incognito_settings_title"
|
||||
android:summary="@string/incognito_settings_summary"
|
||||
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
|
||||
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
+ android:key="close_tabs_on_exit"
|
||||
+ android:title="@string/close_tabs_on_exit_title"
|
||||
|
@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -1191,8 +1191,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
@@ -1236,8 +1236,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
boolean hadCipherData =
|
||||
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
|
||||
|
||||
|
@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.view.Menu;
|
||||
@@ -15,6 +16,8 @@ import androidx.preference.Preference;
|
||||
@@ -16,6 +17,8 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
|
||||
|
||||
|
@ -59,16 +59,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
@@ -63,6 +66,8 @@ public class PrivacySettings
|
||||
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
|
||||
@@ -59,6 +62,8 @@ public class PrivacySettings
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key";
|
||||
|
||||
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||
+
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
private IncognitoLockSettings mIncognitoLockSettings;
|
||||
|
||||
@@ -150,7 +155,11 @@ public class PrivacySettings
|
||||
private ViewGroup mDialogContainer;
|
||||
@@ -134,7 +139,11 @@ public class PrivacySettings
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
|
@ -81,8 +81,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
||||
@@ -188,6 +197,11 @@ public class PrivacySettings
|
||||
: R.string.text_off);
|
||||
@@ -175,6 +184,11 @@ public class PrivacySettings
|
||||
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
|
||||
}
|
||||
|
||||
+ ChromeSwitchPreference closeTabsOnExitPref =
|
||||
|
@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4297,6 +4297,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4304,6 +4304,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<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>
|
||||
|
|
|
@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
import org.chromium.chrome.browser.init.StartupTabPreloader;
|
||||
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
|
||||
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
|
||||
@@ -327,6 +328,12 @@ public class ChromeTabCreator extends TabCreator {
|
||||
@@ -321,6 +322,12 @@ public class ChromeTabCreator extends TabCreator {
|
||||
* @return the created tab.
|
||||
*/
|
||||
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
|
||||
|
@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
|
|||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
@@ -518,6 +518,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -451,6 +451,7 @@ public final class ChromePreferenceKeys {
|
||||
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
|
||||
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI =
|
||||
"Chrome.Homepage.PartnerCustomizedDefaultUri";
|
||||
|
@ -143,7 +143,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
|
||||
@@ -103,6 +103,7 @@ public class LegacyChromePreferenceKeys {
|
||||
@@ -90,6 +90,7 @@ public class LegacyChromePreferenceKeys {
|
||||
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
|
||||
ChromePreferenceKeys.HOMEPAGE_ENABLED,
|
||||
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
|
||||
|
@ -154,7 +154,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
|||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1061,6 +1061,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1170,6 +1170,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||
Last hour
|
||||
</message>
|
||||
|
@ -179,7 +179,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
|
||||
@@ -55,6 +55,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
|
||||
@@ -56,6 +56,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";
|
||||
|
||||
|
@ -193,9 +193,9 @@ 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
|
||||
@@ -362,6 +362,7 @@ extern const char kExternalStorageReadOnly[];
|
||||
extern const char kSettingsShowOSBanner[];
|
||||
#endif // defined(OS_CHROMEOS)
|
||||
@@ -363,6 +363,7 @@ extern const char kSettingsShowOSBanner[];
|
||||
extern const char kUsedPolicyCertificates[];
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
extern const char kShowHomeButton[];
|
||||
+extern const char kNewTabPageIsHomePage[];
|
||||
extern const char kSpeechRecognitionFilterProfanities[];
|
||||
|
|
183
build/patches/Add-site-engagement-flag.patch
Normal file
183
build/patches/Add-site-engagement-flag.patch
Normal file
|
@ -0,0 +1,183 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 2 May 2022 11:48:03 +0000
|
||||
Subject: Add site engagement flag
|
||||
|
||||
Enabled by default.
|
||||
---
|
||||
chrome/browser/about_flags.cc | 6 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++
|
||||
chrome/browser/flag_descriptions.h | 3 ++
|
||||
.../content/site_engagement_score.cc | 5 +++
|
||||
components/site_engagement/core/BUILD.gn | 6 ++++
|
||||
components/site_engagement/core/features.cc | 29 ++++++++++++++++
|
||||
components/site_engagement/core/features.h | 34 +++++++++++++++++++
|
||||
7 files changed, 88 insertions(+)
|
||||
create mode 100644 components/site_engagement/core/features.cc
|
||||
create mode 100644 components/site_engagement/core/features.h
|
||||
|
||||
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
|
||||
@@ -134,6 +134,7 @@
|
||||
#include "components/security_state/core/security_state.h"
|
||||
#include "components/send_tab_to_self/features.h"
|
||||
#include "components/services/heap_profiling/public/cpp/switches.h"
|
||||
+#include "components/site_engagement/core/features.h"
|
||||
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
|
||||
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
|
||||
#include "components/signin/public/base/signin_buildflags.h"
|
||||
@@ -8463,6 +8464,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kReduceUserAgentMinorVersionDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(blink::features::kReduceUserAgentMinorVersion)},
|
||||
|
||||
+ {"site-engagement",
|
||||
+ flag_descriptions::kSiteEngagementName,
|
||||
+ flag_descriptions::kSiteEngagementDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)},
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{"enable-variable-refresh-rate",
|
||||
flag_descriptions::kEnableVariableRefreshRateName,
|
||||
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
|
||||
@@ -3015,6 +3015,11 @@ const char kReduceUserAgentMinorVersionDescription[] =
|
||||
"The Chrome version in the User-Agent string will be reported as "
|
||||
"Chrome/<major_version>.0.0.0.";
|
||||
|
||||
+const char kSiteEngagementName[] =
|
||||
+ "Enable site engagement feature";
|
||||
+const char kSiteEngagementDescription[] =
|
||||
+ "Site Engagement Service provides information about how engaged a user is with a origin; this affects which NTP tiles are automatically created.";
|
||||
+
|
||||
const char kWebSQLAccessName[] = "Allows access to WebSQL APIs";
|
||||
const char kWebSQLAccessDescription[] =
|
||||
"The WebSQL API is enabled by default, but can be disabled here.";
|
||||
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
|
||||
@@ -1728,6 +1728,9 @@ extern const char kDurableClientHintsCacheDescription[];
|
||||
extern const char kReduceUserAgentMinorVersionName[];
|
||||
extern const char kReduceUserAgentMinorVersionDescription[];
|
||||
|
||||
+extern const char kSiteEngagementName[];
|
||||
+extern const char kSiteEngagementDescription[];
|
||||
+
|
||||
extern const char kWebSQLAccessName[];
|
||||
extern const char kWebSQLAccessDescription[];
|
||||
|
||||
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
|
||||
--- a/components/site_engagement/content/site_engagement_score.cc
|
||||
+++ b/components/site_engagement/content/site_engagement_score.cc
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
+#include "components/site_engagement/core/features.h"
|
||||
#include "components/site_engagement/content/engagement_type.h"
|
||||
#include "components/site_engagement/content/site_engagement_metrics.h"
|
||||
#include "components/variations/variations_associated_data.h"
|
||||
@@ -277,6 +278,10 @@ void SiteEngagementScore::Commit() {
|
||||
if (!UpdateScoreDict(score_dict_.get()))
|
||||
return;
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kSiteEngagement)) {
|
||||
+ score_dict_.reset();
|
||||
+ return;
|
||||
+ }
|
||||
settings_map_->SetWebsiteSettingDefaultScope(
|
||||
origin_, GURL(), ContentSettingsType::SITE_ENGAGEMENT,
|
||||
base::Value::FromUniquePtrValue(std::move(score_dict_)));
|
||||
diff --git a/components/site_engagement/core/BUILD.gn b/components/site_engagement/core/BUILD.gn
|
||||
--- a/components/site_engagement/core/BUILD.gn
|
||||
+++ b/components/site_engagement/core/BUILD.gn
|
||||
@@ -4,8 +4,14 @@
|
||||
|
||||
static_library("core") {
|
||||
sources = [
|
||||
+ "features.cc",
|
||||
+ "features.h",
|
||||
"pref_names.cc",
|
||||
"pref_names.h",
|
||||
"site_engagement_score_provider.h",
|
||||
]
|
||||
+
|
||||
+ deps = [
|
||||
+ "//base",
|
||||
+ ]
|
||||
}
|
||||
diff --git a/components/site_engagement/core/features.cc b/components/site_engagement/core/features.cc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/site_engagement/core/features.cc
|
||||
@@ -0,0 +1,29 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+#include "components/site_engagement/core/features.h"
|
||||
+
|
||||
+#include "base/feature_list.h"
|
||||
+
|
||||
+namespace site_engagement {
|
||||
+namespace features {
|
||||
+
|
||||
+const base::Feature kSiteEngagement{"SiteEngagement",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
+} // namespace features
|
||||
+} // namespace site_engagement
|
||||
diff --git a/components/site_engagement/core/features.h b/components/site_engagement/core/features.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/site_engagement/core/features.h
|
||||
@@ -0,0 +1,34 @@
|
||||
+/*
|
||||
+ 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 SITE_ENGAGEMENT_CORE_FEATURES_H_
|
||||
+#define SITE_ENGAGEMENT_CORE_FEATURES_H_
|
||||
+
|
||||
+#include <string>
|
||||
+
|
||||
+#include "base/feature_list.h"
|
||||
+
|
||||
+namespace site_engagement {
|
||||
+namespace features {
|
||||
+
|
||||
+// Enable site engagement
|
||||
+extern const base::Feature kSiteEngagement;
|
||||
+
|
||||
+} // namespace features
|
||||
+} // namespace site_engagement
|
||||
+
|
||||
+#endif // SITE_ENGAGEMENT_CORE_FEATURES_H_
|
||||
--
|
||||
2.25.1
|
|
@ -10,15 +10,15 @@ Subject: Add support for ISupportHelpAndFeedback
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -58,6 +58,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
@@ -69,6 +69,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator;
|
||||
import org.chromium.ui.KeyboardVisibilityDelegate;
|
||||
@@ -287,9 +288,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.ViewResizer;
|
||||
@@ -335,9 +336,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
finish();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||
|
|
97
build/patches/Add-support-for-writing-URIs.patch
Normal file
97
build/patches/Add-support-for-writing-URIs.patch
Normal file
|
@ -0,0 +1,97 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 12 Apr 2022 15:58:01 +0000
|
||||
Subject: Add support for writing URIs
|
||||
|
||||
Allows native-side URI file writing
|
||||
---
|
||||
base/android/content_uri_utils.cc | 10 ++++++
|
||||
base/android/content_uri_utils.h | 4 +++
|
||||
.../org/chromium/base/ContentUriUtils.java | 33 +++++++++++++++++++
|
||||
3 files changed, 47 insertions(+)
|
||||
|
||||
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
|
||||
--- a/base/android/content_uri_utils.cc
|
||||
+++ b/base/android/content_uri_utils.cc
|
||||
@@ -30,6 +30,16 @@ File OpenContentUriForRead(const FilePath& content_uri) {
|
||||
return File(fd);
|
||||
}
|
||||
|
||||
+File OpenContentUriForWrite(const FilePath& content_uri) {
|
||||
+ JNIEnv* env = base::android::AttachCurrentThread();
|
||||
+ ScopedJavaLocalRef<jstring> j_uri =
|
||||
+ ConvertUTF8ToJavaString(env, content_uri.value());
|
||||
+ jint fd = Java_ContentUriUtils_openContentUriForWrite(env, j_uri);
|
||||
+ if (fd < 0)
|
||||
+ return File();
|
||||
+ return File(fd);
|
||||
+}
|
||||
+
|
||||
std::string GetContentUriMimeType(const FilePath& content_uri) {
|
||||
JNIEnv* env = base::android::AttachCurrentThread();
|
||||
ScopedJavaLocalRef<jstring> j_uri =
|
||||
diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
|
||||
--- a/base/android/content_uri_utils.h
|
||||
+++ b/base/android/content_uri_utils.h
|
||||
@@ -18,6 +18,10 @@ namespace base {
|
||||
// Returns -1 if the URI is invalid.
|
||||
BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri);
|
||||
|
||||
+// Opens a content URI for write and returns the file descriptor to the caller.
|
||||
+// Returns -1 if the URI is invalid.
|
||||
+BASE_EXPORT File OpenContentUriForWrite(const FilePath& content_uri);
|
||||
+
|
||||
// Check whether a content URI exists.
|
||||
BASE_EXPORT bool ContentUriExists(const FilePath& content_uri);
|
||||
|
||||
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
|
||||
@@ -23,6 +23,9 @@ import org.chromium.base.annotations.CalledByNative;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
+import android.system.Os;
|
||||
+import android.content.ContentProviderClient;
|
||||
+
|
||||
/**
|
||||
* This class provides methods to access content URI schemes.
|
||||
*/
|
||||
@@ -89,6 +92,36 @@ public abstract class ContentUriUtils {
|
||||
return -1;
|
||||
}
|
||||
|
||||
+ @CalledByNative
|
||||
+ public static int openContentUriForWrite(String uriString) {
|
||||
+ try {
|
||||
+ Uri uri = Uri.parse(uriString);
|
||||
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
|
||||
+ ContentProviderClient client = resolver.acquireContentProviderClient(
|
||||
+ uri.getAuthority());
|
||||
+ ParcelFileDescriptor pfd = client.openFile(uri, "rw");
|
||||
+ int fd = pfd.detachFd();
|
||||
+ client.close();
|
||||
+ return fd;
|
||||
+ } catch (Exception e) {
|
||||
+ Log.e(TAG, "Cannot open intermediate URI", e);
|
||||
+ }
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ public static String getFilePathFromContentUri(Uri uri) {
|
||||
+ String path = null;
|
||||
+ try {
|
||||
+ ContentResolver resolver = ContextUtils.getApplicationContext().getContentResolver();
|
||||
+ ParcelFileDescriptor pfd = resolver.openFileDescriptor(uri, "r");
|
||||
+ path = Os.readlink("/proc/self/fd/" + pfd.getFd());
|
||||
+ pfd.close();
|
||||
+ } catch (Exception e) {
|
||||
+ Log.e(TAG, "Cannot get file path from content URI", e);
|
||||
+ }
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Check whether a content URI exists.
|
||||
*
|
||||
--
|
||||
2.25.1
|
492
build/patches/Add-webGL-site-setting.patch
Normal file
492
build/patches/Add-webGL-site-setting.patch
Normal file
|
@ -0,0 +1,492 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 3 May 2022 14:44:11 +0000
|
||||
Subject: Add webGL site setting
|
||||
|
||||
Requires patch: Content-settings-infrastructure.patch
|
||||
---
|
||||
.../browser_ui/site_settings/android/BUILD.gn | 3 +
|
||||
.../BromiteCustomContentSettingImpl.java | 1 +
|
||||
.../BromiteWebGLContentSetting.java | 85 +++++++++++++++++++
|
||||
.../site_settings/SiteSettingsCategory.java | 5 +-
|
||||
.../strings/android/browser_ui_strings.grd | 1 +
|
||||
.../browser_ui/strings/android/webgl.grdp | 18 ++++
|
||||
components/components_strings.grd | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 14 +++
|
||||
.../core/browser/content_settings_utils.cc | 2 +
|
||||
.../core/common/content_settings.cc | 3 +-
|
||||
.../core/common/content_settings.h | 1 +
|
||||
.../core/common/content_settings.mojom | 1 +
|
||||
.../common/content_settings_mojom_traits.cc | 3 +-
|
||||
.../common/content_settings_mojom_traits.h | 5 ++
|
||||
.../core/common/content_settings_types.h | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 9 ++
|
||||
.../renderer/content_settings_agent_impl.h | 1 +
|
||||
.../platform/web_content_settings_client.h | 2 +
|
||||
.../execution_context/execution_context.cc | 23 +++++
|
||||
.../execution_context/execution_context.h | 5 ++
|
||||
.../webgl/webgl_rendering_context_base.cc | 32 +++----
|
||||
.../webgl/webgl_rendering_context_base.h | 2 +
|
||||
22 files changed, 196 insertions(+), 23 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/webgl.grdp
|
||||
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -72,6 +72,9 @@ android_library("java") {
|
||||
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java",
|
||||
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java",
|
||||
]
|
||||
+ sources += [
|
||||
+ "java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
|
||||
+ ]
|
||||
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
||||
resources_package = "org.chromium.components.browser_ui.site_settings"
|
||||
deps = [
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -43,6 +43,7 @@ public abstract class BromiteCustomContentSettingImpl {
|
||||
|
||||
static {
|
||||
mItemList = new ArrayList<BromiteCustomContentSetting>();
|
||||
+ mItemList.add(new BromiteWebGLContentSetting());
|
||||
}
|
||||
|
||||
public static SiteSettingsCategory createFromType(
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
|
||||
@@ -0,0 +1,85 @@
|
||||
+/*
|
||||
+ 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/>.
|
||||
+*/
|
||||
+
|
||||
+package org.chromium.components.browser_ui.site_settings;
|
||||
+
|
||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+
|
||||
+import androidx.annotation.Nullable;
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceScreen;
|
||||
+
|
||||
+import java.util.ArrayList;
|
||||
+
|
||||
+public class BromiteWebGLContentSetting extends BromiteCustomContentSetting {
|
||||
+ public BromiteWebGLContentSetting() {
|
||||
+ super(/*contentSettingsType*/ ContentSettingsType.WEBGL,
|
||||
+ /*siteSettingsCategory*/ SiteSettingsCategory.Type.WEBGL,
|
||||
+ /*initialDefaultValue*/ ContentSettingValues.BLOCK,
|
||||
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||
+ /*allowException*/ true,
|
||||
+ /*preferenceKey*/ "webgl",
|
||||
+ /*profilePrefKey*/ "webgl");
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public ContentSettingsResources.ResourceItem getResourceItem() {
|
||||
+ return new ContentSettingsResources.ResourceItem(
|
||||
+ /*icon*/ R.drawable.web_asset,
|
||||
+ /*title*/ R.string.webgl_permission_title,
|
||||
+ /*defaultEnabledValue*/ getInitialDefaultValue(),
|
||||
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
|
||||
+ /*enabledSummary*/ R.string.website_settings_category_webgl_enabled,
|
||||
+ /*disabledSummary*/ R.string.website_settings_category_webgl_disabled);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||
+ switch (value) {
|
||||
+ case ContentSettingValues.ALLOW:
|
||||
+ return R.string.website_settings_category_webgl_enabled;
|
||||
+ case ContentSettingValues.BLOCK:
|
||||
+ return R.string.website_settings_category_webgl_disabled;
|
||||
+ default:
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean showOnlyDescriptions() {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getAddExceptionDialogMessage() {
|
||||
+ return R.string.website_settings_category_webgl_enabled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
@@ -44,7 +44,7 @@ public class SiteSettingsCategory {
|
||||
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
|
||||
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
|
||||
Type.FEDERATED_IDENTITY_API, Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY, Type.JAVASCRIPT_JIT,
|
||||
- Type.IMAGES})
|
||||
+ Type.IMAGES, Type.WEBGL})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Type {
|
||||
// All updates here must also be reflected in {@link #preferenceKey(int)
|
||||
@@ -79,10 +79,11 @@ public class SiteSettingsCategory {
|
||||
int AUTOPLAY = 27;
|
||||
int JAVASCRIPT_JIT = 28;
|
||||
int IMAGES = 29;
|
||||
+ int WEBGL = 30;
|
||||
/**
|
||||
* Number of handled categories used for calculating array sizes.
|
||||
*/
|
||||
- int NUM_ENTRIES = 30;
|
||||
+ int NUM_ENTRIES = 31;
|
||||
}
|
||||
|
||||
private final BrowserContextHandle mBrowserContextHandle;
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -173,6 +173,7 @@
|
||||
<release seq="1">
|
||||
<messages fallback_to_english="true">
|
||||
<part file="site_settings.grdp" />
|
||||
+ <part file="webgl.grdp" />
|
||||
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
|
||||
Got it
|
||||
diff --git a/components/browser_ui/strings/android/webgl.grdp b/components/browser_ui/strings/android/webgl.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/webgl.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL" desc="The label used for webgl site settings controls.">
|
||||
+ Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE" desc="The label used for webgl site settings controls when used mid-sentence.">
|
||||
+ webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBGL_PERMISSION_TITLE" desc="Title of the permission to use webgl [CHAR-LIMIT=32]">
|
||||
+ Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED" desc="Summary text explaining that webgl is full enabled.">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED" desc="Summary text explaining that webgl is full disabled.">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
||||
--- a/components/components_strings.grd
|
||||
+++ b/components/components_strings.grd
|
||||
@@ -334,6 +334,7 @@
|
||||
<part file="version_ui_strings.grdp" />
|
||||
<part file="webapps_strings.grdp" />
|
||||
<part file="user_scripts/strings/userscripts_strings.grdp" />
|
||||
+ <part file="browser_ui/strings/android/webgl.grdp" />
|
||||
|
||||
<if expr="not is_ios">
|
||||
<part file="management_strings.grdp" />
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -667,6 +667,20 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::PERSISTENT,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
+
|
||||
+ Register(ContentSettingsType::WEBGL, "webgl", CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ AllowlistedSchemes(),
|
||||
+ ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
+ CONTENT_SETTING_BLOCK),
|
||||
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
|
||||
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::PERSISTENT,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
|
||||
}
|
||||
|
||||
void ContentSettingsRegistry::Register(
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -155,6 +155,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
std::string timezone;
|
||||
map->GetTimezoneOverrideValue(timezone);
|
||||
rules->timezone_override_value = timezone;
|
||||
+ map->GetSettingsForOneType(ContentSettingsType::WEBGL,
|
||||
+ &(rules->webgl_rules));
|
||||
}
|
||||
|
||||
bool IsMorePermissive(ContentSetting a, ContentSetting b) {
|
||||
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
|
||||
--- a/components/content_settings/core/common/content_settings.cc
|
||||
+++ b/components/content_settings/core/common/content_settings.cc
|
||||
@@ -195,7 +195,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
content_type == ContentSettingsType::POPUPS ||
|
||||
content_type == ContentSettingsType::MIXEDSCRIPT ||
|
||||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
|
||||
- content_type == ContentSettingsType::TIMEZONE_OVERRIDE;
|
||||
+ content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
|
||||
+ content_type == ContentSettingsType::WEBGL;
|
||||
}
|
||||
|
||||
RendererContentSettingRules::RendererContentSettingRules() {}
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -85,6 +85,7 @@ struct RendererContentSettingRules {
|
||||
ContentSettingsForOneType auto_dark_content_rules;
|
||||
ContentSettingsForOneType timezone_override_rules;
|
||||
std::string timezone_override_value;
|
||||
+ ContentSettingsForOneType webgl_rules;
|
||||
};
|
||||
|
||||
namespace content_settings {
|
||||
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
|
||||
--- a/components/content_settings/core/common/content_settings.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings.mojom
|
||||
@@ -81,4 +81,5 @@ struct RendererContentSettingRules {
|
||||
array<ContentSettingPatternSource> auto_dark_content_rules;
|
||||
array<ContentSettingPatternSource> timezone_override_rules;
|
||||
string timezone_override_value;
|
||||
+ array<ContentSettingPatternSource> webgl_rules;
|
||||
};
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -104,7 +104,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
||||
data.ReadMixedContentRules(&out->mixed_content_rules) &&
|
||||
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
|
||||
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
|
||||
- data.ReadTimezoneOverrideValue(&out->timezone_override_value);
|
||||
+ data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
|
||||
+ data.ReadWebglRules(&out->webgl_rules);
|
||||
}
|
||||
|
||||
} // namespace mojo
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
@@ -165,6 +165,11 @@ struct StructTraits<
|
||||
return r.timezone_override_value;
|
||||
}
|
||||
|
||||
+ static const std::vector<ContentSettingPatternSource>& webgl_rules(
|
||||
+ const RendererContentSettingRules& r) {
|
||||
+ return r.webgl_rules;
|
||||
+ }
|
||||
+
|
||||
static bool Read(
|
||||
content_settings::mojom::RendererContentSettingRulesDataView data,
|
||||
RendererContentSettingRules* out);
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
|
||||
--- a/components/content_settings/core/common/content_settings_types.h
|
||||
+++ b/components/content_settings/core/common/content_settings_types.h
|
||||
@@ -284,6 +284,8 @@ enum class ContentSettingsType : int32_t {
|
||||
// site instead of the mobile one.
|
||||
REQUEST_DESKTOP_SITE,
|
||||
|
||||
+ WEBGL,
|
||||
+
|
||||
// Setting to indicate whether browser should allow signing into a website via
|
||||
// the browser FedCM API.
|
||||
FEDERATED_IDENTITY_API,
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
@@ -477,6 +477,15 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() {
|
||||
cached_script_permissions_.clear();
|
||||
}
|
||||
|
||||
+bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) {
|
||||
+ if (!content_setting_rules_)
|
||||
+ return false;
|
||||
+ blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
|
||||
+ return CONTENT_SETTING_ALLOW == GetContentSettingFromRules(
|
||||
+ content_setting_rules_->webgl_rules, frame,
|
||||
+ url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
|
||||
+}
|
||||
+
|
||||
bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const {
|
||||
if (should_allowlist_)
|
||||
return true;
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
@@ -101,6 +101,7 @@ class ContentSettingsAgentImpl
|
||||
bool AllowAutoplay(bool default_value) override;
|
||||
bool AllowPopupsAndRedirects(bool default_value) override;
|
||||
bool ShouldAutoupgradeMixedContent() override;
|
||||
+ bool AllowWebgl(bool enabled_per_settings) override;
|
||||
|
||||
bool allow_running_insecure_content() const {
|
||||
return allow_running_insecure_content_;
|
||||
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
--- a/third_party/blink/public/platform/web_content_settings_client.h
|
||||
+++ b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
@@ -99,6 +99,8 @@ class WebContentSettingsClient {
|
||||
return default_value;
|
||||
}
|
||||
|
||||
+ virtual bool AllowWebgl(bool default_value) { return default_value; }
|
||||
+
|
||||
// Reports that passive mixed content was found at the provided URL.
|
||||
virtual void PassiveInsecureContentFound(const WebURL&) {}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
@@ -64,6 +64,29 @@
|
||||
|
||||
namespace blink {
|
||||
|
||||
+blink::WebContentSettingsClient* GetContentSettingsClientFor(
|
||||
+ ExecutionContext* context) {
|
||||
+ blink::WebContentSettingsClient* settings = nullptr;
|
||||
+ if (!context)
|
||||
+ return settings;
|
||||
+ if (auto* window = blink::DynamicTo<blink::LocalDOMWindow>(context)) {
|
||||
+ auto* frame = window->GetFrame();
|
||||
+ if (frame)
|
||||
+ settings = frame->GetContentSettingsClient();
|
||||
+ } else if (context->IsWorkerGlobalScope()) {
|
||||
+ settings =
|
||||
+ blink::To<blink::WorkerGlobalScope>(context)->ContentSettingsClient();
|
||||
+ }
|
||||
+ return settings;
|
||||
+}
|
||||
+
|
||||
+bool AllowWebgl(ExecutionContext* context) {
|
||||
+ blink::WebContentSettingsClient* settings = GetContentSettingsClientFor(context);
|
||||
+ if (settings)
|
||||
+ return settings->AllowWebgl(false);
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
ExecutionContext::ExecutionContext(v8::Isolate* isolate, Agent* agent)
|
||||
: isolate_(isolate),
|
||||
security_context_(this),
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
@@ -96,6 +96,7 @@ class SecurityOrigin;
|
||||
class ScriptState;
|
||||
class ScriptWrappable;
|
||||
class TrustedTypePolicyFactory;
|
||||
+class WebContentSettingsClient;
|
||||
|
||||
enum ReasonForCallingCanExecuteScripts {
|
||||
kAboutToExecuteScript,
|
||||
@@ -104,6 +105,10 @@ enum ReasonForCallingCanExecuteScripts {
|
||||
|
||||
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
|
||||
|
||||
+CORE_EXPORT bool AllowWebgl(ExecutionContext* context);
|
||||
+CORE_EXPORT WebContentSettingsClient* GetContentSettingsClientFor(
|
||||
+ ExecutionContext* context);
|
||||
+
|
||||
// An environment in which script can execute. This class exposes the common
|
||||
// properties of script execution environments on the web (i.e, common between
|
||||
// script executing in a window and script executing in a worker), such as:
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
|
||||
@@ -216,6 +216,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
|
||||
}
|
||||
}
|
||||
|
||||
+bool WebGLRenderingContextBase::AllowWebglForHost(blink::CanvasRenderingContextHost* host) {
|
||||
+ if (!host)
|
||||
+ return false;
|
||||
+ blink::ExecutionContext* context = host->GetTopExecutionContext();
|
||||
+ return blink::AllowWebgl(context);
|
||||
+}
|
||||
+
|
||||
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
|
||||
MutexLocker locker(WebGLContextLimitMutex());
|
||||
DCHECK(webgl_context_limits_initialized_);
|
||||
@@ -462,25 +469,6 @@ static String ExtractWebGLContextCreationError(
|
||||
const Platform::GraphicsInfo& info) {
|
||||
StringBuilder builder;
|
||||
builder.Append("Could not create a WebGL context");
|
||||
- FormatWebGLStatusString(
|
||||
- "VENDOR",
|
||||
- info.vendor_id ? String::Format("0x%04x", info.vendor_id) : "0xffff",
|
||||
- builder);
|
||||
- FormatWebGLStatusString(
|
||||
- "DEVICE",
|
||||
- info.device_id ? String::Format("0x%04x", info.device_id) : "0xffff",
|
||||
- builder);
|
||||
- FormatWebGLStatusString("GL_VENDOR", info.vendor_info, builder);
|
||||
- FormatWebGLStatusString("GL_RENDERER", info.renderer_info, builder);
|
||||
- FormatWebGLStatusString("GL_VERSION", info.driver_version, builder);
|
||||
- FormatWebGLStatusString("Sandboxed", info.sandboxed ? "yes" : "no", builder);
|
||||
- FormatWebGLStatusString("Optimus", info.optimus ? "yes" : "no", builder);
|
||||
- FormatWebGLStatusString("AMD switchable", info.amd_switchable ? "yes" : "no",
|
||||
- builder);
|
||||
- FormatWebGLStatusString(
|
||||
- "Reset notification strategy",
|
||||
- String::Format("0x%04x", info.reset_notification_strategy).Utf8().c_str(),
|
||||
- builder);
|
||||
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
|
||||
builder);
|
||||
builder.Append('.');
|
||||
@@ -548,6 +536,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
|
||||
const CanvasContextCreationAttributesCore& attributes,
|
||||
Platform::ContextType context_type,
|
||||
Platform::GraphicsInfo* graphics_info) {
|
||||
+ if (!AllowWebglForHost(host)) {
|
||||
+ host->HostDispatchEvent(WebGLContextEvent::Create(
|
||||
+ event_type_names::kWebglcontextcreationerror,
|
||||
+ "disabled by site settings policy."));
|
||||
+ return nullptr;
|
||||
+ }
|
||||
if ((context_type == Platform::kWebGL1ContextType &&
|
||||
!host->IsWebGL1Enabled()) ||
|
||||
(context_type == Platform::kWebGL2ContextType &&
|
||||
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
|
||||
@@ -1826,6 +1826,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
|
||||
DOMArrayBufferView* pixels,
|
||||
int64_t offset);
|
||||
|
||||
+ static bool AllowWebglForHost(blink::CanvasRenderingContextHost* host);
|
||||
+
|
||||
// Record Canvas/OffscreenCanvas.RenderingContextDrawnTo at the first draw
|
||||
// call.
|
||||
void RecordUKMCanvasDrawnToAtFirstDrawCall();
|
||||
--
|
||||
2.25.1
|
382
build/patches/Add-webRTC-site-settings.patch
Normal file
382
build/patches/Add-webRTC-site-settings.patch
Normal file
|
@ -0,0 +1,382 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Fri, 6 May 2022 14:27:17 +0000
|
||||
Subject: Add webRTC site settings
|
||||
|
||||
Requires patch: Content-settings-infrastructure.patch
|
||||
---
|
||||
.../browser_ui/site_settings/android/BUILD.gn | 3 +
|
||||
.../BromiteCustomContentSettingImpl.java | 1 +
|
||||
.../BromiteWebRTCContentSetting.java | 86 +++++++++++++++++++
|
||||
.../site_settings/SiteSettingsCategory.java | 5 +-
|
||||
.../strings/android/browser_ui_strings.grd | 1 +
|
||||
.../browser_ui/strings/android/webrtc.grdp | 18 ++++
|
||||
components/components_strings.grd | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 14 +++
|
||||
.../core/browser/content_settings_utils.cc | 2 +
|
||||
.../core/common/content_settings.cc | 3 +-
|
||||
.../core/common/content_settings.h | 1 +
|
||||
.../core/common/content_settings.mojom | 1 +
|
||||
.../common/content_settings_mojom_traits.cc | 3 +-
|
||||
.../common/content_settings_mojom_traits.h | 5 ++
|
||||
.../core/common/content_settings_types.h | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 9 ++
|
||||
.../renderer/content_settings_agent_impl.h | 1 +
|
||||
.../platform/web_content_settings_client.h | 2 +
|
||||
.../peer_connection_dependency_factory.cc | 5 ++
|
||||
19 files changed, 159 insertions(+), 4 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/webrtc.grdp
|
||||
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -75,6 +75,9 @@ android_library("java") {
|
||||
sources += [
|
||||
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
|
||||
]
|
||||
+ sources += [
|
||||
+ "java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java",
|
||||
+ ]
|
||||
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
||||
resources_package = "org.chromium.components.browser_ui.site_settings"
|
||||
deps = [
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -44,6 +44,7 @@ public abstract class BromiteCustomContentSettingImpl {
|
||||
static {
|
||||
mItemList = new ArrayList<BromiteCustomContentSetting>();
|
||||
mItemList.add(new BromiteWebGLContentSetting());
|
||||
+ mItemList.add(new BromiteWebRTCContentSetting());
|
||||
}
|
||||
|
||||
public static SiteSettingsCategory createFromType(
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
|
||||
@@ -0,0 +1,86 @@
|
||||
+/*
|
||||
+ 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/>.
|
||||
+*/
|
||||
+
|
||||
+package org.chromium.components.browser_ui.site_settings;
|
||||
+
|
||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+
|
||||
+import androidx.annotation.Nullable;
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceScreen;
|
||||
+
|
||||
+import java.util.ArrayList;
|
||||
+
|
||||
+public class BromiteWebRTCContentSetting extends BromiteCustomContentSetting {
|
||||
+ public BromiteWebRTCContentSetting() {
|
||||
+ super(/*contentSettingsType*/ ContentSettingsType.WEBRTC,
|
||||
+ /*siteSettingsCategory*/ SiteSettingsCategory.Type.WEBRTC,
|
||||
+ /*initialDefaultValue*/ ContentSettingValues.BLOCK,
|
||||
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||
+ /*allowException*/ true,
|
||||
+ /*preferenceKey*/ "webrtc",
|
||||
+ /*profilePrefKey*/ "webrtc");
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public ContentSettingsResources.ResourceItem getResourceItem() {
|
||||
+ return new ContentSettingsResources.ResourceItem(
|
||||
+ /*icon*/ R.drawable.web_asset,
|
||||
+ /*title*/ R.string.webrtc_permission_title,
|
||||
+ /*defaultEnabledValue*/ getInitialDefaultValue(),
|
||||
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
|
||||
+ /*enabledSummary*/ R.string.website_settings_category_webrtc_enabled,
|
||||
+ /*disabledSummary*/ R.string.website_settings_category_webrtc_disabled);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||
+ switch (value) {
|
||||
+ case ContentSettingValues.ALLOW:
|
||||
+ return R.string.website_settings_category_webrtc_enabled;
|
||||
+ case ContentSettingValues.BLOCK:
|
||||
+ return R.string.website_settings_category_webrtc_disabled;
|
||||
+ default:
|
||||
+ // this will cause a runtime exception
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean showOnlyDescriptions() {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getAddExceptionDialogMessage() {
|
||||
+ return R.string.website_settings_category_webrtc_enabled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
@@ -44,7 +44,7 @@ public class SiteSettingsCategory {
|
||||
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
|
||||
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
|
||||
Type.FEDERATED_IDENTITY_API, Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY, Type.JAVASCRIPT_JIT,
|
||||
- Type.IMAGES, Type.WEBGL})
|
||||
+ Type.IMAGES, Type.WEBGL, Type.WEBRTC})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Type {
|
||||
// All updates here must also be reflected in {@link #preferenceKey(int)
|
||||
@@ -80,10 +80,11 @@ public class SiteSettingsCategory {
|
||||
int JAVASCRIPT_JIT = 28;
|
||||
int IMAGES = 29;
|
||||
int WEBGL = 30;
|
||||
+ int WEBRTC = 31;
|
||||
/**
|
||||
* Number of handled categories used for calculating array sizes.
|
||||
*/
|
||||
- int NUM_ENTRIES = 31;
|
||||
+ int NUM_ENTRIES = 32;
|
||||
}
|
||||
|
||||
private final BrowserContextHandle mBrowserContextHandle;
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -174,6 +174,7 @@
|
||||
<messages fallback_to_english="true">
|
||||
<part file="site_settings.grdp" />
|
||||
<part file="webgl.grdp" />
|
||||
+ <part file="webrtc.grdp" />
|
||||
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
|
||||
Got it
|
||||
diff --git a/components/browser_ui/strings/android/webrtc.grdp b/components/browser_ui/strings/android/webrtc.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/webrtc.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC" desc="The label used for webrtc site settings controls.">
|
||||
+ WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE" desc="The label used for webrtc site settings controls when used mid-sentence.">
|
||||
+ webRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBRTC_PERMISSION_TITLE" desc="Title of the permission to use webrtc [CHAR-LIMIT=32]">
|
||||
+ WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_ENABLED" desc="Summary text explaining that webrtc is full enabled.">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_DISABLED" desc="Summary text explaining that webrtc is full disabled.">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
||||
--- a/components/components_strings.grd
|
||||
+++ b/components/components_strings.grd
|
||||
@@ -335,6 +335,7 @@
|
||||
<part file="webapps_strings.grdp" />
|
||||
<part file="user_scripts/strings/userscripts_strings.grdp" />
|
||||
<part file="browser_ui/strings/android/webgl.grdp" />
|
||||
+ <part file="browser_ui/strings/android/webrtc.grdp" />
|
||||
|
||||
<if expr="not is_ios">
|
||||
<part file="management_strings.grdp" />
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -681,6 +681,20 @@ void ContentSettingsRegistry::Init() {
|
||||
/*show_into_info_page*/ true,
|
||||
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
|
||||
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
|
||||
+
|
||||
+ Register(ContentSettingsType::WEBRTC, "webrtc", CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ AllowlistedSchemes(),
|
||||
+ ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
+ CONTENT_SETTING_BLOCK),
|
||||
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
|
||||
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::PERSISTENT,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE);
|
||||
}
|
||||
|
||||
void ContentSettingsRegistry::Register(
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -157,6 +157,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
rules->timezone_override_value = timezone;
|
||||
map->GetSettingsForOneType(ContentSettingsType::WEBGL,
|
||||
&(rules->webgl_rules));
|
||||
+ map->GetSettingsForOneType(ContentSettingsType::WEBRTC,
|
||||
+ &(rules->webrtc_rules));
|
||||
}
|
||||
|
||||
bool IsMorePermissive(ContentSetting a, ContentSetting b) {
|
||||
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
|
||||
--- a/components/content_settings/core/common/content_settings.cc
|
||||
+++ b/components/content_settings/core/common/content_settings.cc
|
||||
@@ -196,7 +196,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
content_type == ContentSettingsType::MIXEDSCRIPT ||
|
||||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
|
||||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
|
||||
- content_type == ContentSettingsType::WEBGL;
|
||||
+ content_type == ContentSettingsType::WEBGL ||
|
||||
+ content_type == ContentSettingsType::WEBRTC;
|
||||
}
|
||||
|
||||
RendererContentSettingRules::RendererContentSettingRules() {}
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -86,6 +86,7 @@ struct RendererContentSettingRules {
|
||||
ContentSettingsForOneType timezone_override_rules;
|
||||
std::string timezone_override_value;
|
||||
ContentSettingsForOneType webgl_rules;
|
||||
+ ContentSettingsForOneType webrtc_rules;
|
||||
};
|
||||
|
||||
namespace content_settings {
|
||||
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
|
||||
--- a/components/content_settings/core/common/content_settings.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings.mojom
|
||||
@@ -82,4 +82,5 @@ struct RendererContentSettingRules {
|
||||
array<ContentSettingPatternSource> timezone_override_rules;
|
||||
string timezone_override_value;
|
||||
array<ContentSettingPatternSource> webgl_rules;
|
||||
+ array<ContentSettingPatternSource> webrtc_rules;
|
||||
};
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
||||
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
|
||||
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
|
||||
data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
|
||||
- data.ReadWebglRules(&out->webgl_rules);
|
||||
+ data.ReadWebglRules(&out->webgl_rules) &&
|
||||
+ data.ReadWebrtcRules(&out->webrtc_rules);
|
||||
}
|
||||
|
||||
} // namespace mojo
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
@@ -170,6 +170,11 @@ struct StructTraits<
|
||||
return r.webgl_rules;
|
||||
}
|
||||
|
||||
+ static const std::vector<ContentSettingPatternSource>& webrtc_rules(
|
||||
+ const RendererContentSettingRules& r) {
|
||||
+ return r.webrtc_rules;
|
||||
+ }
|
||||
+
|
||||
static bool Read(
|
||||
content_settings::mojom::RendererContentSettingRulesDataView data,
|
||||
RendererContentSettingRules* out);
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
|
||||
--- a/components/content_settings/core/common/content_settings_types.h
|
||||
+++ b/components/content_settings/core/common/content_settings_types.h
|
||||
@@ -286,6 +286,8 @@ enum class ContentSettingsType : int32_t {
|
||||
|
||||
WEBGL,
|
||||
|
||||
+ WEBRTC,
|
||||
+
|
||||
// Setting to indicate whether browser should allow signing into a website via
|
||||
// the browser FedCM API.
|
||||
FEDERATED_IDENTITY_API,
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
@@ -486,6 +486,15 @@ bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) {
|
||||
url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
|
||||
}
|
||||
|
||||
+bool ContentSettingsAgentImpl::AllowWebRTC(bool enabled_per_settings) {
|
||||
+ if (!content_setting_rules_)
|
||||
+ return false;
|
||||
+ blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
|
||||
+ return CONTENT_SETTING_ALLOW == GetContentSettingFromRules(
|
||||
+ content_setting_rules_->webrtc_rules, frame,
|
||||
+ url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
|
||||
+}
|
||||
+
|
||||
bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const {
|
||||
if (should_allowlist_)
|
||||
return true;
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
@@ -102,6 +102,7 @@ class ContentSettingsAgentImpl
|
||||
bool AllowPopupsAndRedirects(bool default_value) override;
|
||||
bool ShouldAutoupgradeMixedContent() override;
|
||||
bool AllowWebgl(bool enabled_per_settings) override;
|
||||
+ bool AllowWebRTC(bool enabled_per_settings) override;
|
||||
|
||||
bool allow_running_insecure_content() const {
|
||||
return allow_running_insecure_content_;
|
||||
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
--- a/third_party/blink/public/platform/web_content_settings_client.h
|
||||
+++ b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
@@ -101,6 +101,8 @@ class WebContentSettingsClient {
|
||||
|
||||
virtual bool AllowWebgl(bool default_value) { return default_value; }
|
||||
|
||||
+ virtual bool AllowWebRTC(bool default_value) { return default_value; }
|
||||
+
|
||||
// Reports that passive mixed content was found at the provided URL.
|
||||
virtual void PassiveInsecureContentFound(const WebURL&) {}
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
@@ -756,6 +756,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
// origin.
|
||||
WebRTCIPHandlingPolicy policy =
|
||||
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
|
||||
+ blink::WebContentSettingsClient* settings = web_frame->GetContentSettingsClient();
|
||||
+ if (settings && settings->AllowWebRTC(false)) {
|
||||
+ policy = kDefault;
|
||||
+ }
|
||||
+
|
||||
switch (policy) {
|
||||
// TODO(guoweis): specify the flag of disabling local candidate
|
||||
// collection when webrtc is updated.
|
||||
--
|
||||
2.25.1
|
|
@ -3,27 +3,27 @@ Date: Fri, 22 May 2020 22:43:27 -0400
|
|||
Subject: Allow building without enable_reporting
|
||||
|
||||
---
|
||||
.../devtools/protocol/network_handler.cc | 2 ++
|
||||
.../cross_origin_embedder_policy_reporter.cc | 3 ++-
|
||||
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
||||
.../renderer_host/render_frame_host_impl.cc | 2 ++
|
||||
.../web_package/signed_exchange_reporter.cc | 2 ++
|
||||
...ntent_switch_dependent_feature_overrides.cc | 1 +
|
||||
net/reporting/reporting_service.cc | 6 ++++++
|
||||
services/network/network_context.cc | 18 +-----------------
|
||||
services/network/network_context.h | 11 -----------
|
||||
services/network/public/mojom/BUILD.gn | 1 -
|
||||
.../network/public/mojom/network_context.mojom | 2 ++
|
||||
.../blink/renderer/core/frame/local_frame.cc | 3 +++
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 +++---
|
||||
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
||||
15 files changed, 45 insertions(+), 44 deletions(-)
|
||||
.../browser/devtools/protocol/network_handler.cc | 2 ++
|
||||
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
|
||||
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
||||
content/browser/net/reporting_service_proxy.cc | 3 +++
|
||||
.../renderer_host/render_frame_host_impl.cc | 2 ++
|
||||
.../web_package/signed_exchange_reporter.cc | 2 ++
|
||||
...content_switch_dependent_feature_overrides.cc | 1 +
|
||||
net/reporting/reporting_service.cc | 6 ++++++
|
||||
services/network/network_context.h | 4 ++--
|
||||
services/network/public/mojom/BUILD.gn | 1 -
|
||||
.../network/public/mojom/network_context.mojom | 2 ++
|
||||
.../blink/renderer/core/frame/local_frame.cc | 3 +++
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 +++---
|
||||
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
||||
15 files changed, 50 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
|
||||
--- a/content/browser/devtools/protocol/network_handler.cc
|
||||
+++ b/content/browser/devtools/protocol/network_handler.cc
|
||||
@@ -1283,6 +1283,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
||||
@@ -1290,6 +1290,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
|
|||
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
std::vector<GURL> urls;
|
||||
base::queue<FrameTreeNode*> queue;
|
||||
@@ -1300,6 +1301,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
@@ -1307,6 +1308,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
|
||||
}
|
||||
return urls;
|
||||
}
|
||||
|
@ -42,7 +42,15 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
|
|||
diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/content/browser/net/cross_origin_embedder_policy_reporter.cc
|
||||
--- a/content/browser/net/cross_origin_embedder_policy_reporter.cc
|
||||
+++ b/content/browser/net/cross_origin_embedder_policy_reporter.cc
|
||||
@@ -112,6 +112,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "content/browser/net/cross_origin_embedder_policy_reporter.h"
|
||||
|
||||
+#include "net/base/features.h"
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/values.h"
|
||||
#include "content/public/browser/storage_partition.h"
|
||||
@@ -112,6 +113,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
|
||||
}
|
||||
if (endpoint) {
|
||||
|
@ -50,7 +58,7 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont
|
|||
base::DictionaryValue body_to_pass;
|
||||
for (const auto& pair : body) {
|
||||
body_to_pass.SetString(pair.first, pair.second);
|
||||
@@ -123,7 +124,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
@@ -123,7 +125,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
kType, *endpoint, context_url_, reporting_source_,
|
||||
network_isolation_key_,
|
||||
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
|
||||
|
@ -97,15 +105,15 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
|
|||
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
||||
switch (coop_value) {
|
||||
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
|
||||
@@ -56,6 +49,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
||||
return "same-origin-plus-coep";
|
||||
@@ -59,6 +52,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
|
||||
return "same-origin-allow-popups-plus-coep";
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
|
||||
FrameTreeNode* opener = frame->original_opener();
|
||||
@@ -226,6 +220,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||
@@ -229,6 +223,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||
network::mojom::SourceLocationPtr source_location,
|
||||
const std::string& reported_window_url,
|
||||
const std::string& initial_popup_url) const {
|
||||
|
@ -113,7 +121,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
|
|||
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
|
||||
// endpoints.
|
||||
if (!coop_.report_only_reporting_endpoint)
|
||||
@@ -274,12 +269,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||
@@ -277,12 +272,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
|
||||
storage_partition_->GetNetworkContext()->QueueReport(
|
||||
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
|
||||
absl::nullopt, std::move(body));
|
||||
|
@ -128,7 +136,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
|
|||
body.SetString(kDisposition,
|
||||
is_report_only ? kDispositionReporting : kDispositionEnforce);
|
||||
body.SetString(
|
||||
@@ -288,6 +285,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
||||
@@ -291,6 +288,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
|
||||
storage_partition_->GetNetworkContext()->QueueReport(
|
||||
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
|
||||
/*user_agent=*/absl::nullopt, std::move(body));
|
||||
|
@ -136,10 +144,37 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
|
|||
}
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/net/reporting_service_proxy.cc
|
||||
--- a/content/browser/net/reporting_service_proxy.cc
|
||||
+++ b/content/browser/net/reporting_service_proxy.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/unguessable_token.h"
|
||||
#include "base/values.h"
|
||||
+#include "net/base/features.h"
|
||||
#include "content/browser/service_worker/service_worker_host.h"
|
||||
#include "content/browser/worker_host/dedicated_worker_host.h"
|
||||
#include "content/browser/worker_host/shared_worker_host.h"
|
||||
@@ -173,6 +174,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
|
||||
const std::string& group,
|
||||
const std::string& type,
|
||||
std::unique_ptr<base::Value> body) {
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
auto* rph = RenderProcessHost::FromID(render_process_id_);
|
||||
if (!rph)
|
||||
return;
|
||||
@@ -180,6 +182,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
|
||||
type, group, url, reporting_source_, network_isolation_key_,
|
||||
/*user_agent=*/absl::nullopt,
|
||||
base::Value::FromUniquePtrValue(std::move(body)));
|
||||
+#endif
|
||||
}
|
||||
|
||||
const int render_process_id_;
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -10827,6 +10827,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
|
||||
@@ -11243,6 +11243,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
|
||||
void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
base::TerminationStatus status,
|
||||
int exit_code) {
|
||||
|
@ -147,7 +182,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
|
|||
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
|
||||
return;
|
||||
|
||||
@@ -10876,6 +10877,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
@@ -11292,6 +11293,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
/*type=*/"crash", /*group=*/"default", last_committed_url_,
|
||||
GetReportingSource(), isolation_info_.network_isolation_key(),
|
||||
absl::nullopt /* user_agent */, std::move(body));
|
||||
|
@ -158,7 +193,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
|
|||
diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/browser/web_package/signed_exchange_reporter.cc
|
||||
--- a/content/browser/web_package/signed_exchange_reporter.cc
|
||||
+++ b/content/browser/web_package/signed_exchange_reporter.cc
|
||||
@@ -125,6 +125,7 @@ bool ShouldDowngradeReport(const char* result_string,
|
||||
@@ -127,6 +127,7 @@ bool ShouldDowngradeReport(const char* result_string,
|
||||
void ReportResult(int frame_tree_node_id,
|
||||
network::mojom::SignedExchangeReportPtr report,
|
||||
const net::NetworkIsolationKey& network_isolation_key) {
|
||||
|
@ -166,7 +201,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
|
|||
FrameTreeNode* frame_tree_node =
|
||||
FrameTreeNode::GloballyFindByID(frame_tree_node_id);
|
||||
if (!frame_tree_node)
|
||||
@@ -139,6 +140,7 @@ void ReportResult(int frame_tree_node_id,
|
||||
@@ -141,6 +142,7 @@ void ReportResult(int frame_tree_node_id,
|
||||
DCHECK(partition);
|
||||
partition->GetNetworkContext()->QueueSignedExchangeReport(
|
||||
std::move(report), network_isolation_key);
|
||||
|
@ -201,61 +236,26 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
|
|||
DCHECK(initialized_);
|
||||
context_->cache()->AddReport(
|
||||
reporting_source, network_isolation_key, sanitized_url, user_agent,
|
||||
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
|
||||
@@ -1151,25 +1151,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
|
||||
|
||||
void NetworkContext::SendReportsAndRemoveSource(
|
||||
const base::UnguessableToken& reporting_source) {
|
||||
- NOTREACHED();
|
||||
+ // NOTREACHED(); removed for build in debug
|
||||
}
|
||||
|
||||
-void NetworkContext::QueueReport(
|
||||
- const std::string& type,
|
||||
- const std::string& group,
|
||||
- const GURL& url,
|
||||
- const absl::optional<base::UnguessableToken>& reporting_source,
|
||||
- const net::NetworkIsolationKey& network_isolation_key,
|
||||
- const absl::optional<std::string>& user_agent,
|
||||
- base::Value body) {
|
||||
- NOTREACHED();
|
||||
-}
|
||||
-
|
||||
-void NetworkContext::QueueSignedExchangeReport(
|
||||
- mojom::SignedExchangeReportPtr report,
|
||||
- const net::NetworkIsolationKey& network_isolation_key) {
|
||||
- NOTREACHED();
|
||||
-}
|
||||
#endif // BUILDFLAG(ENABLE_REPORTING)
|
||||
|
||||
void NetworkContext::ClearDomainReliability(
|
||||
diff --git a/services/network/network_context.h b/services/network/network_context.h
|
||||
--- a/services/network/network_context.h
|
||||
+++ b/services/network/network_context.h
|
||||
@@ -424,17 +424,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
const base::flat_map<std::string, std::string>& endpoints) override;
|
||||
void SendReportsAndRemoveSource(
|
||||
const base::UnguessableToken& reporting_source) override;
|
||||
- void QueueReport(
|
||||
- const std::string& type,
|
||||
- const std::string& group,
|
||||
- const GURL& url,
|
||||
- const absl::optional<base::UnguessableToken>& reporting_source,
|
||||
- const net::NetworkIsolationKey& network_isolation_key,
|
||||
- const absl::optional<std::string>& user_agent,
|
||||
@@ -440,10 +440,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
|
||||
const absl::optional<base::UnguessableToken>& reporting_source,
|
||||
const net::NetworkIsolationKey& network_isolation_key,
|
||||
const absl::optional<std::string>& user_agent,
|
||||
- base::Value body) override;
|
||||
- void QueueSignedExchangeReport(
|
||||
- mojom::SignedExchangeReportPtr report,
|
||||
+ base::Value body);
|
||||
void QueueSignedExchangeReport(
|
||||
mojom::SignedExchangeReportPtr report,
|
||||
- const net::NetworkIsolationKey& network_isolation_key) override;
|
||||
+ const net::NetworkIsolationKey& network_isolation_key);
|
||||
void AddDomainReliabilityContextForTesting(
|
||||
const GURL& origin,
|
||||
const GURL& upload_url,
|
||||
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
|
||||
--- a/services/network/public/mojom/BUILD.gn
|
||||
+++ b/services/network/public/mojom/BUILD.gn
|
||||
@@ -950,7 +950,6 @@ mojom("mojom") {
|
||||
@@ -961,7 +961,6 @@ mojom("mojom") {
|
||||
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
|
||||
export_header_blink = "third_party/blink/public/platform/web_common.h"
|
||||
if (enable_reporting) {
|
||||
|
@ -266,7 +266,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
|
|||
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
|
||||
--- a/services/network/public/mojom/network_context.mojom
|
||||
+++ b/services/network/public/mojom/network_context.mojom
|
||||
@@ -1000,6 +1000,7 @@ interface NetworkContext {
|
||||
@@ -1043,6 +1043,7 @@ interface NetworkContext {
|
||||
// provided |network_isolation_key|.
|
||||
//
|
||||
// Spec: https://w3c.github.io/reporting/#concept-reports
|
||||
|
@ -274,7 +274,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
|||
QueueReport(string type,
|
||||
string group,
|
||||
url.mojom.Url url,
|
||||
@@ -1013,6 +1014,7 @@ interface NetworkContext {
|
||||
@@ -1056,6 +1057,7 @@ interface NetworkContext {
|
||||
// Note that this queued report will never be delivered if no reporting
|
||||
// endpoint matching is registered for with the provided
|
||||
// |network_isolation_key|.
|
||||
|
@ -285,15 +285,15 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
|
|||
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
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "base/values.h"
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "mojo/public/cpp/system/message_pipe.h"
|
||||
+#include "net/net_buildflags.h"
|
||||
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
|
||||
#include "services/network/public/cpp/features.h"
|
||||
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
|
||||
@@ -2287,9 +2288,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
|
||||
@@ -2297,9 +2298,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
|
||||
return base::UnguessableToken::Null();
|
||||
}
|
||||
|
||||
|
@ -319,7 +319,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
|
|||
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
|
||||
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
|
||||
@@ -542,9 +542,9 @@ class CORE_EXPORT LocalFrame final
|
||||
@@ -550,9 +550,9 @@ class CORE_EXPORT LocalFrame final
|
||||
}
|
||||
|
||||
SmoothScrollSequencer& GetSmoothScrollSequencer();
|
||||
|
@ -342,7 +342,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
#include "third_party/blink/public/platform/task_type.h"
|
||||
@@ -54,7 +55,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
|
||||
@@ -53,7 +54,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
|
||||
ReportingContext::ReportingContext(ExecutionContext& context)
|
||||
: Supplement<ExecutionContext>(context),
|
||||
execution_context_(context),
|
||||
|
@ -352,7 +352,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
receiver_(this, &context) {}
|
||||
|
||||
// static
|
||||
@@ -118,7 +121,9 @@ void ReportingContext::Trace(Visitor* visitor) const {
|
||||
@@ -117,7 +120,9 @@ void ReportingContext::Trace(Visitor* visitor) const {
|
||||
visitor->Trace(observers_);
|
||||
visitor->Trace(report_buffer_);
|
||||
visitor->Trace(execution_context_);
|
||||
|
@ -362,7 +362,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
visitor->Trace(receiver_);
|
||||
Supplement<ExecutionContext>::Trace(visitor);
|
||||
}
|
||||
@@ -140,6 +145,7 @@ void ReportingContext::CountReport(Report* report) {
|
||||
@@ -139,6 +144,7 @@ void ReportingContext::CountReport(Report* report) {
|
||||
UseCounter::Count(execution_context_, feature);
|
||||
}
|
||||
|
||||
|
@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
const HeapMojoRemote<mojom::blink::ReportingServiceProxy>&
|
||||
ReportingContext::GetReportingService() const {
|
||||
if (!reporting_service_.is_bound()) {
|
||||
@@ -149,6 +155,7 @@ ReportingContext::GetReportingService() const {
|
||||
@@ -148,6 +154,7 @@ ReportingContext::GetReportingService() const {
|
||||
}
|
||||
return reporting_service_;
|
||||
}
|
||||
|
@ -378,7 +378,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
|
||||
void ReportingContext::NotifyInternal(Report* report) {
|
||||
// Buffer the report.
|
||||
@@ -171,6 +178,7 @@ void ReportingContext::NotifyInternal(Report* report) {
|
||||
@@ -170,6 +177,7 @@ void ReportingContext::NotifyInternal(Report* report) {
|
||||
|
||||
void ReportingContext::SendToReportingAPI(Report* report,
|
||||
const String& endpoint) const {
|
||||
|
@ -386,7 +386,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
|
|||
const String& type = report->type();
|
||||
if (!(type == ReportType::kCSPViolation || type == ReportType::kDeprecation ||
|
||||
type == ReportType::kPermissionsPolicyViolation ||
|
||||
@@ -226,6 +234,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
|
||||
@@ -225,6 +233,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
|
||||
url, endpoint, body->featureId(), body->disposition(), body->message(),
|
||||
body->sourceFile(), line_number, column_number);
|
||||
}
|
||||
|
@ -405,7 +405,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
|
|||
#include "third_party/blink/public/mojom/frame/reporting_observer.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/reporting/reporting.mojom-blink.h"
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
@@ -54,10 +55,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
@@ -55,10 +56,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
private:
|
||||
// Counts the use of a report type via UseCounter.
|
||||
void CountReport(Report*);
|
||||
|
@ -418,7 +418,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
|
|||
void NotifyInternal(Report* report);
|
||||
// Send |report| via the Reporting API to |endpoint|.
|
||||
void SendToReportingAPI(Report* report, const String& endpoint) const;
|
||||
@@ -68,8 +69,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
@@ -69,8 +70,10 @@ class CORE_EXPORT ReportingContext : public GarbageCollected<ReportingContext>,
|
||||
|
||||
// This is declared mutable so that the service endpoint can be cached by
|
||||
// const methods.
|
||||
|
|
|
@ -4,9 +4,9 @@ Subject: Allow building without supervised users
|
|||
|
||||
---
|
||||
.../browser/childaccounts/ChildAccountService.java | 11 -----------
|
||||
chrome/browser/startup_data.cc | 4 +---
|
||||
chrome/browser/startup_data.cc | 3 ---
|
||||
.../child_accounts/child_account_service_android.cc | 9 ---------
|
||||
3 files changed, 1 insertion(+), 23 deletions(-)
|
||||
3 files changed, 23 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
|
||||
|
@ -36,15 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/C
|
|||
diff --git a/chrome/browser/startup_data.cc b/chrome/browser/startup_data.cc
|
||||
--- a/chrome/browser/startup_data.cc
|
||||
+++ b/chrome/browser/startup_data.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/task/thread_pool.h"
|
||||
+#include "build/build_config.h"
|
||||
#include "chrome/browser/metrics/chrome_feature_list_creator.h"
|
||||
#include "chrome/browser/prefs/profile_pref_store_manager.h"
|
||||
#include "chrome/common/channel_info.h"
|
||||
@@ -33,9 +34,6 @@
|
||||
@@ -33,9 +33,6 @@
|
||||
#include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h"
|
||||
#include "chrome/browser/profiles/pref_service_builder_utils.h"
|
||||
#include "chrome/browser/profiles/profile_key.h"
|
||||
|
|
|
@ -3,27 +3,14 @@ Date: Thu, 2 Nov 2017 18:21:16 +0200
|
|||
Subject: Allow playing audio in background
|
||||
|
||||
---
|
||||
.../public/platform/media/web_media_player_impl.h | 3 +++
|
||||
.../renderer/platform/media/web_media_player_impl.cc | 12 +++++++++++-
|
||||
.../renderer/platform/media/web_media_player_impl.h | 3 +++
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/third_party/blink/public/platform/media/web_media_player_impl.h b/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
--- a/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
+++ b/third_party/blink/public/platform/media/web_media_player_impl.h
|
||||
@@ -162,6 +162,9 @@ class BLINK_PLATFORM_EXPORT WebMediaPlayerImpl
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
||||
|
||||
+ // True is has video and it's frame size is not zero
|
||||
+ bool HasVideoNonEmptySize() const;
|
||||
+
|
||||
void EnabledAudioTracksChanged(
|
||||
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) override;
|
||||
void SelectedVideoTrackChanged(
|
||||
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
||||
@@ -1186,6 +1186,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
@@ -1214,6 +1214,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
|
||||
return pipeline_metadata_.has_audio;
|
||||
}
|
||||
|
||||
|
@ -36,7 +23,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
|||
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
|
||||
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
|
||||
DCHECK(main_task_runner_->BelongsToCurrentThread());
|
||||
@@ -3557,7 +3563,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
|
||||
@@ -3586,7 +3592,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.
|
||||
|
@ -49,5 +36,18 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
|
|||
return false;
|
||||
|
||||
if (using_media_player_renderer_ &&
|
||||
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
|
||||
@@ -191,6 +191,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
|
||||
bool HasVideo() const override;
|
||||
bool HasAudio() const override;
|
||||
|
||||
+ // True is has video and it's frame size is not zero
|
||||
+ bool HasVideoNonEmptySize() const;
|
||||
+
|
||||
void EnabledAudioTracksChanged(
|
||||
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) override;
|
||||
void SelectedVideoTrackChanged(
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -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
|
||||
@@ -113,7 +113,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
|
||||
@@ -112,7 +112,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
|
||||
// static
|
||||
void AccountConsistencyModeManager::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
From: samartnik <artem@brave.com>
|
||||
Date: Thu, 14 Dec 2017 16:19:50 +0200
|
||||
Subject: Always allow partner customisation
|
||||
|
||||
---
|
||||
.../PartnerBrowserCustomizations.java | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/partnercustomizations/PartnerBrowserCustomizations.java
|
||||
@@ -329,14 +329,14 @@ public class PartnerBrowserCustomizations {
|
||||
@Override
|
||||
protected Void doInBackground() {
|
||||
try {
|
||||
- boolean systemOrPreStable =
|
||||
- (context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|
||||
- || !ChromeVersionInfo.isStableBuild();
|
||||
- if (!systemOrPreStable) {
|
||||
- // Only allow partner customization if this browser is a system package, or
|
||||
- // is in pre-stable channels.
|
||||
- return null;
|
||||
- }
|
||||
+ //boolean systemOrPreStable =
|
||||
+ // (context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 1
|
||||
+ // || !ChromeVersionInfo.isStableBuild();
|
||||
+ //if (!systemOrPreStable) {
|
||||
+ // // Only allow partner customization if this browser is a system package, or
|
||||
+ // // is in pre-stable channels.
|
||||
+ // return null;
|
||||
+ //}
|
||||
|
||||
if (isCancelled()) return null;
|
||||
Provider provider = AppHooks.get().getCustomizationProvider();
|
||||
--
|
||||
2.25.1
|
|
@ -3,59 +3,22 @@ Date: Sat, 20 Nov 2021 17:42:41 +0000
|
|||
Subject: Ask user before closing all tabs
|
||||
|
||||
---
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 20 +++++++++++++++++--
|
||||
.../strings/android_chrome_strings.grd | 3 +++
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 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
|
||||
@@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleRegistry;
|
||||
+import androidx.appcompat.app.AlertDialog;
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -461,8 +461,8 @@ const base::Feature kConditionalTabStripAndroid{
|
||||
const base::Feature kCastDeviceFilter{"CastDeviceFilter",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
import org.chromium.base.CallbackController;
|
||||
import org.chromium.base.CommandLine;
|
||||
@@ -2054,8 +2055,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
|
||||
ApplicationLifetime.terminate(false);
|
||||
} else if (id == R.id.close_all_tabs_menu_id) {
|
||||
// Close both incognito and normal tabs
|
||||
- getTabModelSelector().closeAllTabs();
|
||||
- RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
+ AlertDialog.Builder alert =
|
||||
+ new AlertDialog.Builder(ChromeTabbedActivity.this);
|
||||
+ AlertDialog alertDialog =
|
||||
+ alert.setTitle(R.string.menu_close_all_tabs)
|
||||
+ .setMessage(R.string.menu_ask_to_close_all_tabs)
|
||||
+ .setPositiveButton(android.R.string.ok,
|
||||
+ (dialog, which) -> {
|
||||
+ getTabModelSelector().closeAllTabs();
|
||||
+ dialog.dismiss();
|
||||
+ })
|
||||
+ .setNegativeButton(android.R.string.cancel,
|
||||
+ (dialog, which) -> {
|
||||
+ dialog.dismiss();
|
||||
+ })
|
||||
+ .create();
|
||||
+ alertDialog.getDelegate().setHandleNativeActionModesEnabled(false);
|
||||
+ alertDialog.show();
|
||||
} else if (id == R.id.bookmark_all_tabs_menu_id) {
|
||||
bookmarkAllTabs();
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3412,6 +3412,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR_LIMIT=27]">
|
||||
Close all tabs
|
||||
</message>
|
||||
+ <message name="IDS_MENU_ASK_TO_CLOSE_ALL_TABS" desc="Label for the notice of closing all open tabs. [CHAR_LIMIT=27]">
|
||||
+ Do you want to close all tabs?
|
||||
+ </message>
|
||||
<message name="IDS_MENU_CLOSE_ALL_INCOGNITO_TABS" desc="Menu item for closing all open Incognito tabs. [CHAR_LIMIT=27]">
|
||||
Close Incognito tabs
|
||||
</message>
|
||||
-const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog", // Enabled by default in Bromite
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -46,7 +46,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
|
|||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -456,7 +456,9 @@ double AudioContext::baseLatency() const {
|
||||
@@ -462,7 +462,9 @@ double AudioContext::baseLatency() const {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination());
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10,7 +10,7 @@ Include @thestinger's fix for correct charging/unknown values
|
|||
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
|
||||
@@ -70,46 +70,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
@@ -84,46 +84,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
|
||||
}
|
||||
|
||||
bool BatteryManager::charging() {
|
||||
|
|
|
@ -2,18 +2,57 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|||
Date: Tue, 28 Jul 2020 12:28:58 +0200
|
||||
Subject: Block gateway attacks via websockets
|
||||
|
||||
This approach is not comprehensive, see also:
|
||||
* https://bugs.chromium.org/p/chromium/issues/detail?id=590714
|
||||
---
|
||||
.../execution_context/execution_context.cc | 16 ++++++++++
|
||||
.../execution_context/execution_context.h | 1 +
|
||||
.../renderer/core/loader/base_fetch_context.h | 1 +
|
||||
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++++
|
||||
.../core/loader/frame_fetch_context.cc | 20 ++++++++++++
|
||||
.../core/loader/frame_fetch_context.h | 1 +
|
||||
.../core/loader/worker_fetch_context.cc | 21 +++++++++++++++
|
||||
.../core/loader/worker_fetch_context.cc | 21 +++++++++++++
|
||||
.../core/loader/worker_fetch_context.h | 1 +
|
||||
.../background_fetch_manager.cc | 2 --
|
||||
.../websockets/websocket_channel_impl.cc | 5 ++++
|
||||
.../modules/websockets/websocket_common.cc | 27 +++++++++++++++++++
|
||||
.../background_fetch_manager.cc | 31 +++++++++++++++++++
|
||||
.../websockets/websocket_channel_impl.cc | 5 +++
|
||||
.../modules/websockets/websocket_common.cc | 29 +++++++++++++++++
|
||||
.../modules/websockets/websocket_common.h | 4 +++
|
||||
9 files changed, 80 insertions(+), 2 deletions(-)
|
||||
11 files changed, 130 insertions(+)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
@@ -672,4 +672,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
|
||||
RuntimeEnabledFeatures::TrustedDOMTypesEnabled(this);
|
||||
}
|
||||
|
||||
+String ExecutionContext::addressSpaceForBindings() const {
|
||||
+ switch (AddressSpace()) {
|
||||
+ case network::mojom::IPAddressSpace::kPublic:
|
||||
+ case network::mojom::IPAddressSpace::kUnknown:
|
||||
+ return "public";
|
||||
+
|
||||
+ case network::mojom::IPAddressSpace::kPrivate:
|
||||
+ return "private";
|
||||
+
|
||||
+ case network::mojom::IPAddressSpace::kLocal:
|
||||
+ return "local";
|
||||
+ }
|
||||
+ NOTREACHED();
|
||||
+ return "public";
|
||||
+}
|
||||
+
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
@@ -373,6 +373,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
|
||||
const String& message = g_empty_string,
|
||||
const String& source_file = g_empty_string) const {}
|
||||
|
||||
+ String addressSpaceForBindings() const;
|
||||
network::mojom::IPAddressSpace AddressSpace() const;
|
||||
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
|
||||
|
@ -28,7 +67,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
|
|||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
|
||||
@@ -563,6 +563,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
||||
@@ -558,6 +558,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
|
||||
return should_block_request;
|
||||
}
|
||||
|
||||
|
@ -58,7 +97,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
|
|||
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
|
||||
@@ -179,6 +179,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
||||
@@ -178,6 +178,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
|
||||
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
|
||||
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
|
||||
override;
|
||||
|
@ -118,22 +157,51 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
|
|||
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
|
||||
@@ -104,7 +104,6 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
||||
|
||||
bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
const KURL& request_url) {
|
||||
- if (RuntimeEnabledFeatures::CorsRFC1918Enabled()) {
|
||||
network::mojom::IPAddressSpace requestor_space =
|
||||
execution_context->AddressSpace();
|
||||
|
||||
@@ -121,7 +120,6 @@ bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
bool is_external_request = requestor_space > target_space;
|
||||
if (is_external_request)
|
||||
return true;
|
||||
- }
|
||||
|
||||
return false;
|
||||
@@ -101,6 +101,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
|
||||
request_url.ProtocolIsInHTTPFamily();
|
||||
}
|
||||
|
||||
+bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
|
||||
+ const KURL& request_url) {
|
||||
+ network::mojom::IPAddressSpace requestor_space =
|
||||
+ execution_context->AddressSpace();
|
||||
+ if (requestor_space == network::mojom::IPAddressSpace::kUnknown)
|
||||
+ requestor_space = network::mojom::IPAddressSpace::kPublic;
|
||||
+
|
||||
+ // TODO(mkwst): This only checks explicit IP addresses. We'll have to move
|
||||
+ // all this up to //net and //content in order to have any real impact on
|
||||
+ // gateway attacks. That turns out to be a TON of work (crbug.com/378566).
|
||||
+ network::mojom::IPAddressSpace target_space =
|
||||
+ network::mojom::IPAddressSpace::kPublic;
|
||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||
+ target_space = network::mojom::IPAddressSpace::kPrivate;
|
||||
+ if (SecurityOrigin::Create(request_url)->IsLocalhost())
|
||||
+ target_space = network::mojom::IPAddressSpace::kLocal;
|
||||
+
|
||||
+ bool is_external_request = requestor_space > target_space;
|
||||
+ if (is_external_request)
|
||||
+ return true;
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
|
||||
Request* request,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -222,6 +246,13 @@ ScriptPromise BackgroundFetchManager::fetch(
|
||||
exception_state);
|
||||
}
|
||||
|
||||
+ if (ShouldBlockGateWayAttacks(execution_context, request_url)) {
|
||||
+ return RejectWithTypeError(script_state, request_url,
|
||||
+ "Requestor IP address space doesn't match the "
|
||||
+ "target address space.",
|
||||
+ exception_state);
|
||||
+ }
|
||||
+
|
||||
kurls.insert(request_url);
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
|
||||
|
@ -152,7 +220,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp
|
|||
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
|
||||
@@ -124,9 +124,36 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||
@@ -124,9 +124,38 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
|
||||
return ConnectResult::kException;
|
||||
}
|
||||
|
||||
|
@ -172,6 +240,8 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b
|
|||
+ // TODO(mkwst): This only checks explicit IP addresses. We'll have to move
|
||||
+ // all this up to //net and //content in order to have any real impact on
|
||||
+ // gateway attacks. That turns out to be a TON of work (crbug.com/378566).
|
||||
+ if (requestor_space == network::mojom::IPAddressSpace::kUnknown)
|
||||
+ requestor_space = network::mojom::IPAddressSpace::kPublic;
|
||||
+ network::mojom::IPAddressSpace target_space =
|
||||
+ network::mojom::IPAddressSpace::kPublic;
|
||||
+ if (network_utils::IsReservedIPAddress(request_url.Host()))
|
||||
|
|
|
@ -63,7 +63,7 @@ diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_t
|
|||
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc
|
||||
--- a/components/omnibox/browser/autocomplete_input.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_input.cc
|
||||
@@ -90,10 +90,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
|
||||
@@ -89,10 +89,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
|
||||
bool HasScheme(const std::u16string& input, const char* scheme) {
|
||||
std::string utf8_input(base::UTF16ToUTF8(input));
|
||||
url::Component view_source_scheme;
|
||||
|
@ -79,7 +79,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
|
|||
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
|
||||
}
|
||||
|
||||
@@ -562,7 +567,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
|
||||
@@ -560,7 +565,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
|
||||
// For the view-source and blob schemes, we should emphasize the host of the
|
||||
// URL qualified by the view-source or blob prefix.
|
||||
if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) ||
|
||||
|
@ -106,7 +106,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
|
|||
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
|
||||
--- a/content/browser/child_process_security_policy_impl.cc
|
||||
+++ b/content/browser/child_process_security_policy_impl.cc
|
||||
@@ -745,6 +745,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
@@ -747,6 +747,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
|
||||
RegisterPseudoScheme(url::kJavaScriptScheme);
|
||||
RegisterPseudoScheme(kViewSourceScheme);
|
||||
RegisterPseudoScheme(kGoogleChromeScheme);
|
||||
|
@ -117,7 +117,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
|
|||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1039,6 +1039,8 @@ component("net") {
|
||||
@@ -1048,6 +1048,8 @@ component("net") {
|
||||
"url_request/url_request_http_job.cc",
|
||||
"url_request/url_request_http_job.h",
|
||||
"url_request/url_request_interceptor.cc",
|
||||
|
@ -202,7 +202,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
#include "base/synchronization/lock.h"
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "base/values.h"
|
||||
@@ -46,6 +47,7 @@
|
||||
@@ -45,6 +46,7 @@
|
||||
#include "net/url_request/url_request_redirect_job.h"
|
||||
#include "url/gurl.h"
|
||||
#include "url/origin.h"
|
||||
|
@ -210,7 +210,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
|
||||
using base::Time;
|
||||
using std::string;
|
||||
@@ -611,6 +613,12 @@ URLRequest::URLRequest(const GURL& url,
|
||||
@@ -609,6 +611,12 @@ URLRequest::URLRequest(const GURL& url,
|
||||
// Sanity check out environment.
|
||||
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
|
||||
|
||||
|
@ -226,15 +226,15 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
|||
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
|
||||
--- a/net/url_request/url_request_context_builder.cc
|
||||
+++ b/net/url_request/url_request_context_builder.cc
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "net/quic/quic_stream_factory.h"
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "net/socket/network_binding_client_socket_factory.h"
|
||||
#include "net/ssl/ssl_config_service_defaults.h"
|
||||
#include "net/url_request/static_http_user_agent_settings.h"
|
||||
+#include "net/url_request/trk_protocol_handler.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_context_storage.h"
|
||||
#include "net/url_request/url_request_job_factory.h"
|
||||
@@ -543,6 +544,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
@@ -616,6 +617,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
|
||||
job_factory->SetProtocolHandler(scheme_handler.first,
|
||||
std::move(scheme_handler.second));
|
||||
}
|
||||
|
@ -246,25 +246,25 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
|
|||
diff --git a/url/url_constants.cc b/url/url_constants.cc
|
||||
--- a/url/url_constants.cc
|
||||
+++ b/url/url_constants.cc
|
||||
@@ -29,6 +29,7 @@ const char kMailToScheme[] = "mailto";
|
||||
const char kQuicTransportScheme[] = "quic-transport";
|
||||
const char kTelScheme[] = "tel";
|
||||
const char kUrnScheme[] = "urn";
|
||||
@@ -29,6 +29,7 @@ const char16_t kDataScheme16[] = u"data";
|
||||
const char kFileScheme[] = "file";
|
||||
const char16_t kFileScheme16[] = u"file";
|
||||
const char kFileSystemScheme[] = "filesystem";
|
||||
+const char kTraceScheme[] = "trk";
|
||||
const char kUuidInPackageScheme[] = "uuid-in-package";
|
||||
const char kWsScheme[] = "ws";
|
||||
const char kWssScheme[] = "wss";
|
||||
const char16_t kFileSystemScheme16[] = u"filesystem";
|
||||
const char kFtpScheme[] = "ftp";
|
||||
const char16_t kFtpScheme16[] = u"ftp";
|
||||
diff --git a/url/url_constants.h b/url/url_constants.h
|
||||
--- a/url/url_constants.h
|
||||
+++ b/url/url_constants.h
|
||||
@@ -33,6 +33,7 @@ COMPONENT_EXPORT(URL) extern const char kMailToScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kQuicTransportScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kTelScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kUrnScheme[];
|
||||
@@ -33,6 +33,7 @@ COMPONENT_EXPORT(URL) extern const char16_t kContentIDScheme16[];
|
||||
COMPONENT_EXPORT(URL) extern const char kDataScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char16_t kDataScheme16[];
|
||||
COMPONENT_EXPORT(URL) extern const char kFileScheme[];
|
||||
+COMPONENT_EXPORT(URL) extern const char kTraceScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kUuidInPackageScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kWsScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char kWssScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char16_t kFileScheme16[];
|
||||
COMPONENT_EXPORT(URL) extern const char kFileSystemScheme[];
|
||||
COMPONENT_EXPORT(URL) extern const char16_t kFileSystemScheme16[];
|
||||
diff --git a/url/url_util.cc b/url/url_util.cc
|
||||
--- a/url/url_util.cc
|
||||
+++ b/url/url_util.cc
|
||||
|
|
95
build/patches/Bookmarks-select-all-menu-entry.patch
Normal file
95
build/patches/Bookmarks-select-all-menu-entry.patch
Normal file
|
@ -0,0 +1,95 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 9 Apr 2022 23:01:55 +0200
|
||||
Subject: Bookmarks select all menu entry
|
||||
|
||||
---
|
||||
.../java/res/menu/bookmark_action_bar_menu.xml | 7 +++++++
|
||||
.../browser/bookmarks/BookmarkActionBar.java | 15 +++++++++++++++
|
||||
.../ui/android/strings/android_chrome_strings.grd | 3 +++
|
||||
3 files changed, 25 insertions(+)
|
||||
|
||||
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
|
||||
@@ -21,6 +21,13 @@
|
||||
android:visible="false"
|
||||
app:showAsAction="ifRoom"
|
||||
app:iconTint="@color/default_icon_color_secondary_tint_list" />
|
||||
+ <item
|
||||
+ android:id="@+id/select_all_menu_id"
|
||||
+ android:icon="@drawable/ic_done_blue"
|
||||
+ android:title="@string/select_all_bookmarks"
|
||||
+ android:visible="true"
|
||||
+ app:showAsAction="ifRoom"
|
||||
+ app:iconTint="@color/default_icon_color_tint_list" />
|
||||
<item
|
||||
android:id="@+id/import_menu_id"
|
||||
android:icon="@drawable/ic_folder_blue_24dp"
|
||||
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
|
||||
@@ -29,6 +29,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
import java.util.List;
|
||||
+import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
|
||||
@@ -134,6 +135,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
new TabDelegate(true), mDelegate.getModel());
|
||||
selectionDelegate.clearSelection();
|
||||
return true;
|
||||
+ } else if (menuItem.getItemId() == R.id.select_all_menu_id) {
|
||||
+ BookmarkModel bookmarkModel = mDelegate.getModel();
|
||||
+ if (bookmarkModel.isBookmarkModelLoaded()) {
|
||||
+ List<BookmarkItem> items = bookmarkModel.getBookmarksForFolder(mCurrentFolder.getId());
|
||||
+ HashSet<BookmarkId> ids = new HashSet<>(items.size());
|
||||
+ for (BookmarkItem item : items) {
|
||||
+ ids.add(item.getId());
|
||||
+ }
|
||||
+ selectionDelegate.setSelectedItems(ids);
|
||||
+ }
|
||||
+ return true;
|
||||
}
|
||||
|
||||
assert false : "Unhandled menu click.";
|
||||
@@ -143,6 +155,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
void showLoadingUi() {
|
||||
setTitle(null);
|
||||
setNavigationButton(NAVIGATION_BUTTON_NONE);
|
||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.import_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.export_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.search_menu_id).setVisible(false);
|
||||
@@ -154,6 +167,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
super.showNormalView();
|
||||
|
||||
if (mDelegate == null) {
|
||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.import_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.export_menu_id).setVisible(false);
|
||||
getMenu().findItem(R.id.search_menu_id).setVisible(false);
|
||||
@@ -185,6 +199,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
|
||||
@Override
|
||||
public void onFolderStateSet(BookmarkId folder) {
|
||||
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
|
||||
+ getMenu().findItem(R.id.select_all_menu_id).setVisible(true);
|
||||
getMenu().findItem(R.id.import_menu_id).setVisible(true);
|
||||
getMenu().findItem(R.id.export_menu_id).setVisible(true);
|
||||
getMenu().findItem(R.id.search_menu_id).setVisible(true);
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -242,6 +242,9 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
|
||||
Sites
|
||||
</message>
|
||||
+ <message name="IDS_SELECT_ALL_BOOKMARKS" desc="The label for the select all bookmarks button.">
|
||||
+ Select all
|
||||
+ </message>
|
||||
<message name="IDS_IMPORT_BOOKMARKS" desc="The label for the import bookmarks button.">
|
||||
Import
|
||||
</message>
|
||||
--
|
||||
2.25.1
|
|
@ -16,7 +16,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
chrome/android/java/res/values/values.xml | 2 +
|
||||
.../java/res/xml/adblock_preferences.xml | 25 ++
|
||||
.../android/java/res/xml/main_preferences.xml | 5 +
|
||||
.../browser/settings/AdBlockEditor.java | 92 ++++++
|
||||
.../browser/settings/AdBlockEditor.java | 91 ++++++
|
||||
.../browser/settings/AdBlockPreferences.java | 61 ++++
|
||||
.../chrome/browser/tabmodel/TabModelImpl.java | 2 +-
|
||||
chrome/app/generated_resources.grd | 10 +
|
||||
|
@ -24,7 +24,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
chrome/browser/browser_process.h | 6 +
|
||||
chrome/browser/browser_process_impl.cc | 20 ++
|
||||
chrome/browser/browser_process_impl.h | 2 +
|
||||
chrome/browser/chrome_browser_main.cc | 2 +
|
||||
chrome/browser/chrome_browser_main.cc | 3 +
|
||||
.../flags/android/cached_feature_flags.cc | 11 +
|
||||
.../browser/flags/CachedFeatureFlags.java | 10 +
|
||||
.../net/system_network_context_manager.cc | 4 +
|
||||
|
@ -34,7 +34,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
chrome/common/pref_names.h | 1 +
|
||||
components/component_updater/BUILD.gn | 7 +
|
||||
.../adblock_updater_service.cc | 271 ++++++++++++++++++
|
||||
.../adblock_updater_service.h | 99 +++++++
|
||||
.../adblock_updater_service.h | 100 +++++++
|
||||
.../download_filters_task.cc | 224 +++++++++++++++
|
||||
.../component_updater/download_filters_task.h | 130 +++++++++
|
||||
...ent_subresource_filter_throttle_manager.cc | 11 +
|
||||
|
@ -45,7 +45,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
.../browser/subresource_filter_features.cc | 113 +-------
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../navigation_throttle_runner.cc | 5 -
|
||||
36 files changed, 1157 insertions(+), 124 deletions(-)
|
||||
36 files changed, 1158 insertions(+), 124 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
|
@ -58,7 +58,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -560,6 +560,7 @@ chrome_java_resources = [
|
||||
@@ -486,6 +486,7 @@ chrome_java_resources = [
|
||||
"java/res/layout/account_chooser_dialog_title.xml",
|
||||
"java/res/layout/account_divider_preference.xml",
|
||||
"java/res/layout/account_management_account_row.xml",
|
||||
|
@ -66,9 +66,9 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
|||
"java/res/layout/auto_sign_in_first_run_dialog.xml",
|
||||
"java/res/layout/autofill_billing_address_dropdown.xml",
|
||||
"java/res/layout/autofill_card_unmask_prompt.xml",
|
||||
@@ -773,6 +774,7 @@ chrome_java_resources = [
|
||||
@@ -680,6 +681,7 @@ chrome_java_resources = [
|
||||
"java/res/values/values.xml",
|
||||
"java/res/xml/about_chrome_preferences.xml",
|
||||
"java/res/xml/accessibility_preferences.xml",
|
||||
"java/res/xml/account_management_preferences.xml",
|
||||
+ "java/res/xml/adblock_preferences.xml",
|
||||
"java/res/xml/autofill_assistant_preferences.xml",
|
||||
|
@ -77,7 +77,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
|||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -978,6 +978,8 @@ chrome_java_sources = [
|
||||
@@ -898,6 +898,8 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
|
||||
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
|
||||
|
@ -85,7 +85,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
|||
+ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
|
||||
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
|
||||
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderServiceImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/previews/HttpsImageCompressionUtils.java",
|
||||
"java/src/org/chromium/chrome/browser/printing/PrintShareActivity.java",
|
||||
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
@ -161,7 +161,7 @@ new file mode 100644
|
|||
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
|
||||
--- a/chrome/android/java/res/values/styles.xml
|
||||
+++ b/chrome/android/java/res/values/styles.xml
|
||||
@@ -198,6 +198,24 @@
|
||||
@@ -194,6 +194,24 @@
|
||||
</item>
|
||||
</style>
|
||||
|
||||
|
@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBloc
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
@@ -0,0 +1,92 @@
|
||||
@@ -0,0 +1,91 @@
|
||||
+// Copyright 2015 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
|
@ -316,7 +316,6 @@ new file mode 100644
|
|||
+ @Override
|
||||
+ public void onClick(View v) {
|
||||
+ mAdBlockFiltersUrlEdit.setText(CachedFeatureFlags.getAdBlockFiltersURL());
|
||||
+ getActivity().finish();
|
||||
+ }
|
||||
+ });
|
||||
+
|
||||
|
@ -421,7 +420,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
|
|||
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
|
||||
--- a/chrome/app/generated_resources.grd
|
||||
+++ b/chrome/app/generated_resources.grd
|
||||
@@ -11157,6 +11157,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
@@ -11534,6 +11534,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
|
||||
Never show this again.
|
||||
</message>
|
||||
|
||||
|
@ -459,7 +458,7 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
|
|||
+
|
||||
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
|
||||
// of lacros-chrome is complete.
|
||||
#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
--- a/chrome/browser/browser_process.h
|
||||
+++ b/chrome/browser/browser_process.h
|
||||
|
@ -471,7 +470,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
|
||||
class BackgroundModeManager;
|
||||
class BrowserProcessPlatformPart;
|
||||
@@ -69,6 +70,10 @@ namespace component_updater {
|
||||
@@ -66,6 +67,10 @@ namespace component_updater {
|
||||
class ComponentUpdateService;
|
||||
}
|
||||
|
||||
|
@ -482,7 +481,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
namespace extensions {
|
||||
class EventRouterForwarder;
|
||||
}
|
||||
@@ -237,6 +242,7 @@ class BrowserProcess {
|
||||
@@ -229,6 +234,7 @@ class BrowserProcess {
|
||||
#endif
|
||||
|
||||
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
||||
|
@ -493,7 +492,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
|||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -1068,6 +1068,26 @@ BrowserProcessImpl::component_updater() {
|
||||
@@ -1065,6 +1065,26 @@ BrowserProcessImpl::component_updater() {
|
||||
return component_updater_.get();
|
||||
}
|
||||
|
||||
|
@ -523,7 +522,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
|
|||
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
|
||||
--- a/chrome/browser/browser_process_impl.h
|
||||
+++ b/chrome/browser/browser_process_impl.h
|
||||
@@ -203,6 +203,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -200,6 +200,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
#endif
|
||||
|
||||
component_updater::ComponentUpdateService* component_updater() override;
|
||||
|
@ -531,26 +530,27 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
|||
MediaFileSystemRegistry* media_file_system_registry() override;
|
||||
WebRtcLogUploader* webrtc_log_uploader() override;
|
||||
network_time::NetworkTimeTracker* network_time_tracker() override;
|
||||
@@ -385,6 +386,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -378,6 +379,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
// to concerns over integrity of data shared between profiles,
|
||||
// but some users of component updater only install per-user.
|
||||
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
|
||||
+ std::unique_ptr<adblock_updater::AdBlockUpdaterService> adblock_updater_;
|
||||
|
||||
#if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// Used to create a singleton instance of SodaInstallerImpl, which can be
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -1714,6 +1714,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
browser_process_->StartAutoupdateTimer();
|
||||
#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
|
||||
// BUILDFLAG(IS_CHROMEOS_LACROS))
|
||||
+ // force AdBlock updater initialisation
|
||||
+ g_browser_process->adblock_updater();
|
||||
@@ -1727,6 +1727,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
// will be initialized when the app enters foreground mode.
|
||||
variations_service->set_policy_pref_service(profile->GetPrefs());
|
||||
|
||||
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
|
||||
// of lacros-chrome is complete.
|
||||
+ // force AdBlock updater initialisation
|
||||
+ g_browser_process->adblock_updater();
|
||||
+
|
||||
#else
|
||||
// We are in regular browser boot sequence. Open initial tabs and enter the
|
||||
// main message loop.
|
||||
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
--- a/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
|
@ -579,7 +579,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
@@ -270,6 +270,14 @@ public class CachedFeatureFlags {
|
||||
@@ -272,6 +272,14 @@ public class CachedFeatureFlags {
|
||||
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
|
||||
}
|
||||
|
||||
|
@ -594,7 +594,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|||
/**
|
||||
* Caches flags that must take effect on startup but are set via native code.
|
||||
*/
|
||||
@@ -487,5 +495,7 @@ public class CachedFeatureFlags {
|
||||
@@ -489,5 +497,7 @@ public class CachedFeatureFlags {
|
||||
@NativeMethods
|
||||
interface Natives {
|
||||
boolean isNetworkServiceWarmUpEnabled();
|
||||
|
@ -605,16 +605,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|||
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
|
||||
@@ -343,6 +343,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
|
||||
@@ -437,6 +437,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
ssl_config_service_manager_(local_state_),
|
||||
proxy_config_monitor_(local_state_),
|
||||
stub_resolver_config_reader_(local_state_) {
|
||||
+ local_state_->SetDefaultPrefValue(prefs::kAdBlockFiltersURL,
|
||||
+ base::Value("https://www.bromite.org/filters/filters.dat"));
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// QuicAllowed was not part of Android policy.
|
||||
const base::Value* value =
|
||||
@@ -413,6 +415,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
@@ -517,6 +519,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
|
||||
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
StubResolverConfigReader::RegisterPrefs(registry);
|
||||
|
||||
|
@ -664,7 +664,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
|||
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
|
||||
--- a/chrome/common/pref_names.cc
|
||||
+++ b/chrome/common/pref_names.cc
|
||||
@@ -2252,6 +2252,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
@@ -2280,6 +2280,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
|
||||
// capture devices without prompt.
|
||||
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
|
||||
|
||||
|
@ -989,7 +989,7 @@ diff --git a/components/component_updater/adblock_updater_service.h b/components
|
|||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/component_updater/adblock_updater_service.h
|
||||
@@ -0,0 +1,99 @@
|
||||
@@ -0,0 +1,100 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
|
@ -1019,6 +1019,7 @@ new file mode 100644
|
|||
+#include "base/callback_forward.h"
|
||||
+#include "base/gtest_prod_util.h"
|
||||
+#include "base/memory/ref_counted.h"
|
||||
+#include "base/observer_list.h"
|
||||
+#include "base/version.h"
|
||||
+#include "build/build_config.h"
|
||||
+#include "components/component_updater/update_scheduler.h"
|
||||
|
@ -1822,7 +1823,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
|
|||
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
|
||||
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
|
||||
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
|
||||
@@ -184,11 +184,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
|
||||
@@ -180,11 +180,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
|
||||
// than other throttles that might care about those navigations, e.g.
|
||||
// throttles handling pages with 407 errors that require extra authentication.
|
||||
AddThrottle(HttpErrorNavigationThrottle::MaybeCreateThrottleFor(*request));
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -9,7 +9,7 @@ Subject: Bromite package name
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -43,7 +43,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
assert(current_toolchain != android_secondary_abi_toolchain)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 9 May 2020 14:42:37 +0200
|
||||
Subject: Change default webRTC policy to not use any address
|
||||
|
||||
This prevents leakage of the local IP address.
|
||||
|
||||
See also: https://github.com/bromite/bromite/issues/553
|
||||
---
|
||||
.../peerconnection/peer_connection_dependency_factory.cc | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
|
||||
@@ -777,12 +777,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
port_config.enable_nonproxied_udp = false;
|
||||
break;
|
||||
case kDefault:
|
||||
- port_config.enable_multiple_routes = true;
|
||||
- port_config.enable_nonproxied_udp = true;
|
||||
+ port_config.enable_multiple_routes = false;
|
||||
+ port_config.enable_nonproxied_udp = false;
|
||||
+ port_config.enable_default_local_candidate = false;
|
||||
break;
|
||||
}
|
||||
|
||||
- VLOG(3) << "WebRTC routing preferences: "
|
||||
+ LOG(INFO) << "WebRTC routing preferences: "
|
||||
<< "policy: " << policy
|
||||
<< ", multiple_routes: " << port_config.enable_multiple_routes
|
||||
<< ", nonproxied_udp: " << port_config.enable_nonproxied_udp
|
||||
--
|
||||
2.25.1
|
|
@ -9,7 +9,7 @@ Subject: Chromium package name
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -43,7 +43,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
assert(current_toolchain != android_secondary_abi_toolchain)
|
||||
}
|
||||
|
||||
|
@ -18,5 +18,4 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
if (android_channel != "default" && android_channel != "stable") {
|
||||
# android-binary-size trybot may checks if an internal Chrome variant's
|
||||
# AndroidManifest is as expected by ensuring the differences between its
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
|
@ -6,15 +6,34 @@ Disable critical client hints
|
|||
Hard-code model to SAMSUNG SM-G960U
|
||||
use Google Chrome branding for client hints
|
||||
---
|
||||
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||
content/common/user_agent.cc | 7 +------
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
3 files changed, 3 insertions(+), 10 deletions(-)
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||
content/browser/client_hints/client_hints.cc | 3 ++-
|
||||
content/common/user_agent.cc | 9 +--------
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
services/network/public/cpp/client_hints.cc | 1 +
|
||||
services/network/public/cpp/features.cc | 2 +-
|
||||
third_party/blink/common/client_hints/client_hints.cc | 1 +
|
||||
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
|
||||
third_party/blink/common/features.cc | 4 ++--
|
||||
10 files changed, 14 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -747,7 +747,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
|
||||
registry->RegisterListPref(prefs::kUsedPolicyCertificates);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
- registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, true);
|
||||
+ registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, false);
|
||||
|
||||
registry->RegisterBooleanPref(kCloudPolicyOverridesPlatformPolicy, false);
|
||||
|
||||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
+++ b/components/embedder_support/user_agent_utils.cc
|
||||
@@ -168,9 +168,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
|
||||
@@ -225,9 +225,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
|
||||
int major_version_number = 0;
|
||||
DCHECK(base::StringToInt(major_version, &major_version_number));
|
||||
absl::optional<std::string> brand;
|
||||
|
@ -25,34 +44,132 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
|||
absl::optional<std::string> maybe_brand_override =
|
||||
base::GetFieldTrialParamValueByFeature(features::kGreaseUACH,
|
||||
"brand_override");
|
||||
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
|
||||
--- a/content/browser/client_hints/client_hints.cc
|
||||
+++ b/content/browser/client_hints/client_hints.cc
|
||||
@@ -424,7 +424,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
|
||||
is_dark_mode ? "dark" : "light");
|
||||
}
|
||||
|
||||
-bool IsValidURLForClientHints(const url::Origin& origin) {
|
||||
+bool IsValidURLForClientHints(const url::Origin& origin) { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
return network::IsOriginPotentiallyTrustworthy(origin);
|
||||
}
|
||||
|
||||
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
||||
--- a/content/common/user_agent.cc
|
||||
+++ b/content/common/user_agent.cc
|
||||
@@ -285,12 +285,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
|
||||
@@ -283,14 +283,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
|
||||
}
|
||||
|
||||
std::string BuildModelInfo() {
|
||||
std::string model;
|
||||
-#if defined(OS_ANDROID)
|
||||
- std::string model;
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- // Only send the model information if on the release build of Android,
|
||||
- // matching user agent behaviour.
|
||||
- if (base::SysInfo::GetAndroidBuildCodename() == "REL")
|
||||
- model = base::SysInfo::HardwareModelName();
|
||||
-#endif
|
||||
+ model = "SAMSUNG SM-G960U";
|
||||
return model;
|
||||
- return model;
|
||||
+ return "SAMSUNG SM-G960U";
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
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
|
||||
@@ -232,7 +232,7 @@ const base::Feature kCrashReporting{"CrashReporting",
|
||||
@@ -240,7 +240,7 @@ const base::Feature kCrashReporting{"CrashReporting",
|
||||
// Enables support for the `Critical-CH` response header.
|
||||
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
|
||||
const base::Feature kCriticalClientHint{"CriticalClientHint",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Enable cross-origin sharing of WebAssembly modules.
|
||||
const base::Feature kCrossOriginWebAssemblyModuleSharingEnabled{
|
||||
// Puts save-data header in the holdback mode. This disables sending of
|
||||
// save-data header to origins, and to the renderer processes within Chrome.
|
||||
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc
|
||||
--- a/services/network/public/cpp/client_hints.cc
|
||||
+++ b/services/network/public/cpp/client_hints.cc
|
||||
@@ -97,6 +97,7 @@ const DecodeMap& GetDecodeMap() {
|
||||
|
||||
absl::optional<std::vector<network::mojom::WebClientHintsType>>
|
||||
ParseClientHintsHeader(const std::string& header) {
|
||||
+ if ((true)) return absl::nullopt;
|
||||
// Accept-CH is an sh-list of tokens; see:
|
||||
// https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure-19#section-3.1
|
||||
absl::optional<net::structured_headers::List> maybe_list =
|
||||
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
|
||||
@@ -185,7 +185,7 @@ const base::Feature kWebSocketReassembleShortMessages{
|
||||
// See:
|
||||
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
|
||||
const base::Feature kAcceptCHFrame{"AcceptCHFrame",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kSCTAuditingRetryReports{"SCTAuditingRetryReports",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
|
||||
--- a/third_party/blink/common/client_hints/client_hints.cc
|
||||
+++ b/third_party/blink/common/client_hints/client_hints.cc
|
||||
@@ -116,6 +116,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
|
||||
std::size(kWebEffectiveConnectionTypeMapping);
|
||||
|
||||
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
|
||||
+ if ((true)) return false;
|
||||
switch (type) {
|
||||
case network::mojom::WebClientHintsType::kUA:
|
||||
case network::mojom::WebClientHintsType::kUAMobile:
|
||||
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
|
||||
@@ -22,6 +22,7 @@ namespace {
|
||||
using ::network::mojom::WebClientHintsType;
|
||||
|
||||
bool IsDisabledByFeature(const WebClientHintsType type) {
|
||||
+ if ((true)) return true;
|
||||
switch (type) {
|
||||
case WebClientHintsType::kUA:
|
||||
case WebClientHintsType::kUAArch:
|
||||
@@ -132,7 +133,7 @@ bool IsOriginTrialEnabled(const GURL& url,
|
||||
} // namespace
|
||||
|
||||
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
|
||||
- return enabled_types_[static_cast<int>(type)];
|
||||
+ return false;
|
||||
}
|
||||
|
||||
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
|
||||
@@ -165,6 +166,7 @@ void EnabledClientHints::SetIsEnabled(
|
||||
|
||||
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
|
||||
std::vector<WebClientHintsType> hints;
|
||||
+ if ((true)) return hints;
|
||||
for (const auto& elem : network::GetClientHintToNameMap()) {
|
||||
const auto& type = elem.first;
|
||||
if (IsEnabled(type))
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -161,7 +161,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
|
||||
// An experimental replacement for the `User-Agent` header, defined in
|
||||
// https://tools.ietf.org/html/draft-west-ua-client-hints.
|
||||
const base::Feature kUserAgentClientHint{"UserAgentClientHint",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Enable `sec-ch-ua-full-version-list` client hint.
|
||||
const base::Feature kUserAgentClientHintFullVersionList{
|
||||
@@ -773,7 +773,7 @@ const base::Feature kResamplingScrollEvents{"ResamplingScrollEvents",
|
||||
const base::Feature kAllowClientHintsToThirdParty {
|
||||
"AllowClientHintsToThirdParty",
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
|
|
1266
build/patches/Content-settings-infrastructure.patch
Normal file
1266
build/patches/Content-settings-infrastructure.patch
Normal file
File diff suppressed because it is too large
Load diff
|
@ -10,8 +10,8 @@ Subject: Disable AGSA by default
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -629,7 +629,7 @@ const base::Feature kEnhancedProtectionPromoCard{
|
||||
"EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
@@ -649,7 +649,7 @@ const base::Feature kEnableMixedContentDownloadDialog{
|
||||
"EnableMixedContentDownloadDialog", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
@ -22,9 +22,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
@@ -90,7 +90,7 @@ public class CachedFeatureFlags {
|
||||
@@ -91,7 +91,7 @@ public class CachedFeatureFlags {
|
||||
.put(ChromeFeatureList.READ_LATER, false)
|
||||
.put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true)
|
||||
.put(ChromeFeatureList.OFFLINE_MEASUREMENTS_BACKGROUND_TASK, false)
|
||||
.put(ChromeFeatureList.CCT_INCOGNITO, true)
|
||||
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
|
||||
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
|
||||
|
|
|
@ -3,14 +3,31 @@ Date: Mon, 8 Nov 2021 09:47:23 +0000
|
|||
Subject: Disable Accessibility service by default
|
||||
|
||||
---
|
||||
chrome/android/java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../browser/ui/android/strings/android_chrome_strings.grd | 6 ++++++
|
||||
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../browser_ui/accessibility/AccessibilitySettings.java | 3 +++
|
||||
.../browser/accessibility/WebContentsAccessibilityImpl.java | 5 +++++
|
||||
3 files changed, 16 insertions(+)
|
||||
4 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1416,6 +1416,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_SAFETY_CHECK_BUTTON" desc="Text for the button to start Safety check.">
|
||||
Check now
|
||||
</message>
|
||||
+ <message name="IDS_ENABLE_ACCESSIBILITY_TITLE" desc="Title of enable accessibility settings, which allows the user to enable service. [CHAR_LIMIT=32]">
|
||||
+ Enable Accessibility Service
|
||||
+ </message>
|
||||
+ <message name="IDS_ENABLE_ACCESSIBILITY_SUMMARY" desc="Summary of enable accessibility settings.">
|
||||
+ Activates or deactivates the communication of all user activities in ui to the Accessibility provider
|
||||
+ </message>
|
||||
<message name="IDS_SAFETY_CHECK_ERROR" desc="A generic error state.">
|
||||
An error occurred.
|
||||
</message>
|
||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -5,6 +5,11 @@
|
||||
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
@ -20,29 +37,26 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/
|
|||
+ android:summary="@string/enable_accessibility_summary"
|
||||
+ android:title="@string/enable_accessibility_title" />
|
||||
+
|
||||
<org.chromium.chrome.browser.accessibility.settings.TextScalePreference
|
||||
<org.chromium.components.browser_ui.accessibility.TextScalePreference
|
||||
android:key="text_scale"
|
||||
android:title="@string/font_size"
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1413,6 +1413,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
|
||||
Accessibility
|
||||
</message>
|
||||
+ <message name="IDS_ENABLE_ACCESSIBILITY_TITLE" desc="Title of enable accessibility settings, which allows the user to enable service. [CHAR_LIMIT=32]">
|
||||
+ Enable Accessibility Service
|
||||
+ </message>
|
||||
+ <message name="IDS_ENABLE_ACCESSIBILITY_SUMMARY" desc="Summary of enable accessibility settings.">
|
||||
+ Activates or deactivates the communication of all user activities in ui to the Accessibility provider
|
||||
+ </message>
|
||||
<message name="IDS_FONT_SIZE" desc="Title for font size preference.">
|
||||
Text scaling
|
||||
</message>
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
@@ -17,6 +17,9 @@ import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePr
|
||||
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
|
||||
import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
|
||||
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
||||
+
|
||||
/**
|
||||
* Fragment to keep track of all the accessibility related preferences.
|
||||
*/
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
|
||||
@@ -791,6 +791,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
|
||||
@@ -940,6 +940,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
|
||||
structure.setChildCount(0);
|
||||
return;
|
||||
}
|
||||
|
|
30
build/patches/Disable-AsyncDNS-by-default.patch
Normal file
30
build/patches/Disable-AsyncDNS-by-default.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 26 Mar 2022 16:41:55 +0100
|
||||
Subject: Disable AsyncDNS by default
|
||||
|
||||
This feature is detrimental to privacy, see also:
|
||||
* https://bugs.chromium.org/p/chromium/issues/detail?id=805020
|
||||
---
|
||||
chrome/common/chrome_features.cc | 8 ++------
|
||||
1 file changed, 2 insertions(+), 6 deletions(-)
|
||||
|
||||
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
|
||||
@@ -101,12 +101,8 @@ const base::Feature kArcPiGhostWindow{"ArcPiGhostWindow",
|
||||
|
||||
// Enables the built-in DNS resolver.
|
||||
const base::Feature kAsyncDns {
|
||||
- "AsyncDns",
|
||||
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
-#else
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif
|
||||
+ "AsyncDns", // Bromite guard for this feature to be always disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // ^
|
||||
};
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||||
--
|
||||
2.25.1
|
|
@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
|
|||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -655,7 +655,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
@@ -679,7 +679,7 @@ const base::Feature kMediaDrmPersistentLicense{
|
||||
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
|
||||
// which will trigger provisioning process after MediaDrmBridge is created.
|
||||
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
|
||||
|
|
290
build/patches/Disable-FLoC-and-privacy-sandbox.patch
Normal file
290
build/patches/Disable-FLoC-and-privacy-sandbox.patch
Normal file
|
@ -0,0 +1,290 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 13 Nov 2021 09:17:06 +0000
|
||||
Subject: Disable FLoC and privacy sandbox
|
||||
|
||||
Remove UI from the settings and set the flags to inactive
|
||||
Permanently removes FLoC support, disabling the download of LSH clusters,
|
||||
the marking the history navigation and the javascript API and permission policies.
|
||||
Also added the disabling of blink features through the DisabledForBromite tag
|
||||
---
|
||||
.../java/res/xml/privacy_preferences.xml | 4 ---
|
||||
.../privacy/settings/PrivacySettings.java | 22 ------------
|
||||
.../browser/chrome_content_browser_client.cc | 3 ++
|
||||
.../privacy_sandbox/generated_floc_pref.cc | 2 +-
|
||||
.../history/core/browser/history_backend.cc | 13 +------
|
||||
.../history/core/browser/history_service.cc | 2 +-
|
||||
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 +--
|
||||
.../privacy_sandbox_settings.cc | 36 +++++++++++--------
|
||||
.../privacy_sandbox_settings.h | 1 -
|
||||
9 files changed, 29 insertions(+), 58 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
|
||||
@@ -65,10 +65,6 @@
|
||||
android:title="@string/open_external_links_incognito_title"
|
||||
android:summary="@string/open_external_links_incognito_summary"
|
||||
android:defaultValue="false" />
|
||||
- <Preference
|
||||
- android:key="privacy_sandbox"
|
||||
- android:title="@string/prefs_privacy_sandbox"
|
||||
- android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
|
||||
<PreferenceCategory
|
||||
android:key="services_category"
|
||||
android:title="@string/services_category_title">
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -62,7 +62,6 @@ public class PrivacySettings
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
@@ -93,21 +92,6 @@ public class PrivacySettings
|
||||
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
|
||||
getActivity().setTitle(R.string.prefs_privacy_security);
|
||||
|
||||
- Preference sandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
|
||||
- // Hide the Privacy Sandbox if it is restricted.
|
||||
- if (PrivacySandboxBridge.isPrivacySandboxRestricted()) {
|
||||
- getPreferenceScreen().removePreference(sandboxPreference);
|
||||
- } else {
|
||||
- sandboxPreference.setSummary(
|
||||
- PrivacySandboxSettingsFragment.getStatusString(getContext()));
|
||||
- // Overwrite the click listener to pass a correct referrer to the fragment.
|
||||
- sandboxPreference.setOnPreferenceClickListener(preference -> {
|
||||
- PrivacySandboxSettingsFragmentV3.launchPrivacySandboxSettings(getContext(),
|
||||
- new SettingsLauncherImpl(), PrivacySandboxReferrer.PRIVACY_SETTINGS);
|
||||
- return true;
|
||||
- });
|
||||
- }
|
||||
-
|
||||
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
|
||||
getPreferenceScreen().removePreference(privacyReviewPreference);
|
||||
@@ -239,12 +223,6 @@ public class PrivacySettings
|
||||
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
|
||||
}
|
||||
|
||||
- Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
|
||||
- if (privacySandboxPreference != null) {
|
||||
- privacySandboxPreference.setSummary(
|
||||
- PrivacySandboxSettingsFragment.getStatusString(getContext()));
|
||||
- }
|
||||
-
|
||||
mIncognitoLockSettings.updateIncognitoReauthPreferenceIfNeeded(getActivity());
|
||||
}
|
||||
|
||||
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
|
||||
@@ -2829,6 +2829,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
|
||||
const url::Origin* impression_origin,
|
||||
const url::Origin* conversion_origin,
|
||||
const url::Origin* reporting_origin) {
|
||||
+ // make sure that this is always disabled in Bromite even if privacy sandbox is already disabled in the prefs
|
||||
+ if ((true))
|
||||
+ return false;
|
||||
Profile* profile = Profile::FromBrowserContext(browser_context);
|
||||
|
||||
auto* privacy_sandbox_settings =
|
||||
diff --git a/chrome/browser/privacy_sandbox/generated_floc_pref.cc b/chrome/browser/privacy_sandbox/generated_floc_pref.cc
|
||||
--- a/chrome/browser/privacy_sandbox/generated_floc_pref.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/generated_floc_pref.cc
|
||||
@@ -35,7 +35,7 @@ extensions::settings_private::SetPrefResult GeneratedFlocPref::SetPref(
|
||||
return extensions::settings_private::SetPrefResult::PREF_NOT_MODIFIABLE;
|
||||
|
||||
profile_->GetPrefs()->SetBoolean(prefs::kPrivacySandboxFlocEnabled,
|
||||
- value->GetBool());
|
||||
+ false);
|
||||
|
||||
return extensions::settings_private::SetPrefResult::SUCCESS;
|
||||
}
|
||||
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
|
||||
--- a/components/history/core/browser/history_backend.cc
|
||||
+++ b/components/history/core/browser/history_backend.cc
|
||||
@@ -496,18 +496,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
|
||||
if (!visit_id)
|
||||
return;
|
||||
|
||||
- // Only add to the annotations table if the visit_id exists in the visits
|
||||
- // table.
|
||||
- VisitContentAnnotations annotations;
|
||||
- if (db_->GetContentAnnotationsForVisit(visit_id, &annotations)) {
|
||||
- annotations.annotation_flags |=
|
||||
- VisitContentAnnotationFlag::kBrowsingTopicsEligible;
|
||||
- db_->UpdateContentAnnotationsForVisit(visit_id, annotations);
|
||||
- } else {
|
||||
- annotations.annotation_flags |=
|
||||
- VisitContentAnnotationFlag::kBrowsingTopicsEligible;
|
||||
- db_->AddContentAnnotationsForVisit(visit_id, annotations);
|
||||
- }
|
||||
+ // in Bromite disallow marking anything in history related to topics
|
||||
ScheduleCommit();
|
||||
}
|
||||
|
||||
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
|
||||
--- a/components/history/core/browser/history_service.cc
|
||||
+++ b/components/history/core/browser/history_service.cc
|
||||
@@ -393,7 +393,7 @@ void HistoryService::AddPage(const GURL& url,
|
||||
AddPage(HistoryAddPageArgs(
|
||||
url, time, context_id, nav_entry_id, referrer, redirects, transition,
|
||||
!ui::PageTransitionIsMainFrame(transition), visit_source,
|
||||
- did_replace_entry, /*consider_for_ntp_most_visited=*/true, floc_allowed));
|
||||
+ did_replace_entry, /*consider_for_ntp_most_visited=*/true, /*floc_allowed*/false));
|
||||
}
|
||||
|
||||
void HistoryService::AddPage(const GURL& url,
|
||||
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
||||
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
||||
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
|
||||
@@ -71,7 +71,7 @@ namespace privacy_sandbox {
|
||||
|
||||
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kPrivacySandboxApisEnabled, true,
|
||||
+ prefs::kPrivacySandboxApisEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2, false);
|
||||
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2Init, false);
|
||||
@@ -88,7 +88,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
|
||||
registry->RegisterTimePref(prefs::kPrivacySandboxTopicsDataAccessibleSince,
|
||||
base::Time());
|
||||
registry->RegisterBooleanPref(
|
||||
- prefs::kPrivacySandboxFlocEnabled, true,
|
||||
+ prefs::kPrivacySandboxFlocEnabled, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
registry->RegisterListPref(prefs::kPrivacySandboxBlockedTopics);
|
||||
registry->RegisterDictionaryPref(prefs::kPrivacySandboxFledgeJoinBlocked);
|
||||
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
--- a/components/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
+++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
@@ -67,8 +67,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
|
||||
: delegate_(std::move(delegate)),
|
||||
host_content_settings_map_(host_content_settings_map),
|
||||
cookie_settings_(cookie_settings),
|
||||
- pref_service_(pref_service),
|
||||
- incognito_profile_(incognito_profile) {
|
||||
+ pref_service_(pref_service) {
|
||||
DCHECK(pref_service_);
|
||||
DCHECK(host_content_settings_map_);
|
||||
DCHECK(cookie_settings_);
|
||||
@@ -88,7 +87,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
|
||||
|
||||
PrivacySandboxSettings::~PrivacySandboxSettings() = default;
|
||||
|
||||
-bool PrivacySandboxSettings::IsTopicsAllowed() const {
|
||||
+bool PrivacySandboxSettings::IsTopicsAllowed() const { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
// Topics API calculation should be prevented if the user has blocked 3PC
|
||||
// cookies, as there will be no context specific check.
|
||||
const auto cookie_controls_mode =
|
||||
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
|
||||
cookie_settings);
|
||||
}
|
||||
|
||||
-bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) {
|
||||
+bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
auto* blocked_topics =
|
||||
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
|
||||
|
||||
@@ -187,7 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
|
||||
|
||||
bool PrivacySandboxSettings::IsConversionMeasurementAllowed(
|
||||
const url::Origin& top_frame_origin,
|
||||
- const url::Origin& reporting_origin) const {
|
||||
+ const url::Origin& reporting_origin) const { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
ContentSettingsForOneType cookie_settings;
|
||||
cookie_settings_->GetCookieSettings(&cookie_settings);
|
||||
|
||||
@@ -291,7 +293,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
|
||||
}
|
||||
|
||||
bool PrivacySandboxSettings::IsFledgeJoiningAllowed(
|
||||
- const url::Origin& top_frame_origin) const {
|
||||
+ const url::Origin& top_frame_origin) const { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
DictionaryPrefUpdate scoped_pref_update(
|
||||
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
|
||||
auto* pref_data = scoped_pref_update.Get();
|
||||
@@ -338,7 +341,8 @@ std::vector<GURL> PrivacySandboxSettings::FilterFledgeAllowedParties(
|
||||
return allowed_parties;
|
||||
}
|
||||
|
||||
-bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
|
||||
+bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
// If the delegate is restricting access, or indicates confirmation has not
|
||||
// occurred, the Privacy Sandbox is disabled.
|
||||
if (delegate_->IsPrivacySandboxRestricted() ||
|
||||
@@ -356,7 +360,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
|
||||
// settings is available.
|
||||
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
|
||||
// For Privacy Sandbox Settings 3, APIs are disabled in incognito.
|
||||
- if (incognito_profile_)
|
||||
+ if ((true))
|
||||
return false;
|
||||
|
||||
if (should_override_setting_for_local_testing) {
|
||||
@@ -374,7 +378,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
|
||||
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
|
||||
}
|
||||
|
||||
-void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
|
||||
+void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) { // disabled in Bromite
|
||||
+ enabled = false;
|
||||
// Only apply the decision to the appropriate preference.
|
||||
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
|
||||
@@ -383,7 +388,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
|
||||
}
|
||||
}
|
||||
|
||||
-bool PrivacySandboxSettings::IsTrustTokensAllowed() {
|
||||
+bool PrivacySandboxSettings::IsTrustTokensAllowed() { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
// The PrivacySandboxSettings is only involved in Trust Token access
|
||||
// decisions when the Release 3 flag is enabled.
|
||||
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
|
||||
@@ -428,8 +434,8 @@ PrivacySandboxSettings::PrivacySandboxSettings() = default;
|
||||
bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
|
||||
const GURL& url,
|
||||
const absl::optional<url::Origin>& top_frame_origin,
|
||||
- const ContentSettingsForOneType& cookie_settings) const {
|
||||
- if (!IsPrivacySandboxEnabled())
|
||||
+ const ContentSettingsForOneType& cookie_settings) const { // always disable this in Bromite
|
||||
+ if ((true))
|
||||
return false;
|
||||
|
||||
// Third party cookies must also be available for this context. An empty site
|
||||
@@ -438,9 +444,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
|
||||
top_frame_origin);
|
||||
}
|
||||
|
||||
-void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const {
|
||||
- pref_service_->SetTime(prefs::kPrivacySandboxTopicsDataAccessibleSince,
|
||||
- base::Time::Now());
|
||||
+void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const { // disabled in Bromite
|
||||
+ pref_service_->ClearPref(prefs::kPrivacySandboxTopicsDataAccessibleSince);
|
||||
+ if ((true)) return;
|
||||
|
||||
for (auto& observer : observers_)
|
||||
observer.OnTopicsDataAccessibleSinceUpdated();
|
||||
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.h b/components/privacy_sandbox/privacy_sandbox_settings.h
|
||||
--- a/components/privacy_sandbox/privacy_sandbox_settings.h
|
||||
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h
|
||||
@@ -217,7 +217,6 @@ class PrivacySandboxSettings : public KeyedService {
|
||||
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
|
||||
raw_ptr<PrefService> pref_service_;
|
||||
PrefChangeRegistrar pref_change_registrar_;
|
||||
- bool incognito_profile_;
|
||||
};
|
||||
|
||||
} // namespace privacy_sandbox
|
||||
--
|
||||
2.25.1
|
|
@ -1,518 +0,0 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 13 Nov 2021 18:02:15 +0000
|
||||
Subject: Disable FLoC
|
||||
|
||||
Permanently removes floc support, disabling the download of lsh clusters,
|
||||
the marking the history navigation and the javascript api and permission policies.
|
||||
Also added the disabling of blink features through the DisabledForBromite tag
|
||||
---
|
||||
.../browser/chrome_content_browser_client.cc | 4 ++
|
||||
.../floc_component_installer.cc | 10 +---
|
||||
.../floc_eligibility_observer.cc | 58 +------------------
|
||||
.../floc_id_provider_impl.cc | 4 +-
|
||||
.../privacy_sandbox_settings.cc | 14 +++--
|
||||
.../federated_learning/features/features.cc | 12 ++--
|
||||
components/federated_learning/floc_id.cc | 19 +++---
|
||||
.../history/core/browser/history_backend.cc | 13 +----
|
||||
.../history/core/browser/history_service.cc | 9 +--
|
||||
components/history/core/browser/url_row.h | 1 -
|
||||
third_party/blink/common/features.cc | 4 +-
|
||||
.../permissions_policy_feature.mojom | 5 --
|
||||
.../renderer/bindings/generated_in_core.gni | 2 -
|
||||
.../blink/renderer/core/dom/document.cc | 31 +---------
|
||||
.../blink/renderer/core/dom/document.idl | 1 -
|
||||
.../renderer/core/dom/interest_cohort.idl | 4 --
|
||||
.../permissions_policy_features.json5 | 6 --
|
||||
.../platform/runtime_enabled_features.json5 | 5 +-
|
||||
18 files changed, 38 insertions(+), 164 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -2798,6 +2798,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
|
||||
const url::Origin* impression_origin,
|
||||
const url::Origin* conversion_origin,
|
||||
const url::Origin* reporting_origin) {
|
||||
+ // redundant code, privacy sandbox is already disabled in the prefs
|
||||
+ // but I leave it anyway for now
|
||||
+ if ((true))
|
||||
+ return false;
|
||||
Profile* profile = Profile::FromBrowserContext(browser_context);
|
||||
|
||||
PrivacySandboxSettings* privacy_sandbox_settings =
|
||||
diff --git a/chrome/browser/component_updater/floc_component_installer.cc b/chrome/browser/component_updater/floc_component_installer.cc
|
||||
--- a/chrome/browser/component_updater/floc_component_installer.cc
|
||||
+++ b/chrome/browser/component_updater/floc_component_installer.cc
|
||||
@@ -19,7 +19,7 @@ namespace component_updater {
|
||||
// The extension id is: cmahhnpholdijhjokonmfdjbfmklppij
|
||||
constexpr uint8_t kFlocComponentPublicKeySHA256[32] = {
|
||||
0x2c, 0x07, 0x7d, 0xf7, 0xeb, 0x38, 0x97, 0x9e, 0xae, 0xdc, 0x53,
|
||||
- 0x91, 0x5c, 0xab, 0xff, 0x89, 0xbc, 0xf0, 0xd9, 0x30, 0xd2, 0x2e,
|
||||
+ 0x01, 0x02, 0x03, 0x04, 0x89, 0xbc, 0xf0, 0xd9, 0x30, 0xd2, 0x2e,
|
||||
0x8f, 0x68, 0x3a, 0xf9, 0x21, 0x91, 0x9f, 0xc1, 0x84, 0xa1};
|
||||
|
||||
constexpr char kFlocComponentFetcherManifestName[] =
|
||||
@@ -56,10 +56,6 @@ void FlocComponentInstallerPolicy::ComponentReady(
|
||||
const base::FilePath& install_dir,
|
||||
base::Value manifest) {
|
||||
DCHECK(!install_dir.empty());
|
||||
-
|
||||
- floc_sorting_lsh_clusters_service_->OnSortingLshClustersFileReady(
|
||||
- install_dir.Append(federated_learning::kSortingLshClustersFileName),
|
||||
- version);
|
||||
}
|
||||
|
||||
// Called during startup and installation before ComponentReady().
|
||||
@@ -102,10 +98,6 @@ void RegisterFlocComponent(
|
||||
ComponentUpdateService* cus,
|
||||
federated_learning::FlocSortingLshClustersService*
|
||||
floc_sorting_lsh_clusters_service) {
|
||||
- auto installer = base::MakeRefCounted<ComponentInstaller>(
|
||||
- std::make_unique<FlocComponentInstallerPolicy>(
|
||||
- floc_sorting_lsh_clusters_service));
|
||||
- installer->Register(cus, base::OnceClosure());
|
||||
}
|
||||
|
||||
} // namespace component_updater
|
||||
diff --git a/chrome/browser/federated_learning/floc_eligibility_observer.cc b/chrome/browser/federated_learning/floc_eligibility_observer.cc
|
||||
--- a/chrome/browser/federated_learning/floc_eligibility_observer.cc
|
||||
+++ b/chrome/browser/federated_learning/floc_eligibility_observer.cc
|
||||
@@ -17,55 +17,14 @@
|
||||
|
||||
namespace federated_learning {
|
||||
|
||||
-namespace {
|
||||
-
|
||||
-history::HistoryService* GetHistoryService(content::WebContents* web_contents) {
|
||||
- DCHECK(web_contents);
|
||||
-
|
||||
- Profile* profile =
|
||||
- Profile::FromBrowserContext(web_contents->GetBrowserContext());
|
||||
- if (profile->IsOffTheRecord())
|
||||
- return nullptr;
|
||||
-
|
||||
- return HistoryServiceFactory::GetForProfile(
|
||||
- profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
-}
|
||||
-
|
||||
-} // namespace
|
||||
-
|
||||
FlocEligibilityObserver::~FlocEligibilityObserver() = default;
|
||||
|
||||
page_load_metrics::PageLoadMetricsObserver::ObservePolicy
|
||||
FlocEligibilityObserver::OnCommit(
|
||||
content::NavigationHandle* navigation_handle) {
|
||||
- // At this point the add-page-to-history decision should have been made,
|
||||
- // because history is added in HistoryTabHelper::DidFinishNavigation, and this
|
||||
- // OnEligibleCommit method is invoked in the same broadcasting family through
|
||||
- // MetricsWebContentsObserver::DidFinishNavigation.
|
||||
-
|
||||
- // TODO(yaoxia): Perhaps we want an explicit signal for "the page was added
|
||||
- // to history or was ineligible". This way we don't need to count on the above
|
||||
- // relation, and can also stop observing if the history was not added.
|
||||
-
|
||||
- // If the IP was not publicly routable, the navigation history is not eligible
|
||||
- // for floc. We can stop observing now.
|
||||
- if (!navigation_handle->GetSocketAddress().address().IsPubliclyRoutable() &&
|
||||
- !base::FeatureList::IsEnabled(kFlocBypassIPIsPubliclyRoutableCheck)) {
|
||||
- return ObservePolicy::STOP_OBSERVING;
|
||||
- }
|
||||
-
|
||||
- // If the interest-cohort permissions policy in the main document disallows
|
||||
- // the floc inclusion, the navigation history is not eligible for floc. We can
|
||||
- // stop observing now.
|
||||
- if (!navigation_handle->GetRenderFrameHost()->IsFeatureEnabled(
|
||||
- blink::mojom::PermissionsPolicyFeature::kInterestCohort)) {
|
||||
- return ObservePolicy::STOP_OBSERVING;
|
||||
- }
|
||||
-
|
||||
- DCHECK(!eligible_commit_);
|
||||
- eligible_commit_ = true;
|
||||
-
|
||||
- return ObservePolicy::CONTINUE_OBSERVING;
|
||||
+ // do not mark navigation as interesting for floc
|
||||
+ // see https://github.com/WICG/floc#sites-which-interest-cohorts-will-be-calculated-on
|
||||
+ return ObservePolicy::STOP_OBSERVING;
|
||||
}
|
||||
|
||||
void FlocEligibilityObserver::OnAdResource() {
|
||||
@@ -86,17 +45,6 @@ FlocEligibilityObserver::FlocEligibilityObserver(content::RenderFrameHost* rfh)
|
||||
web_contents_(content::WebContents::FromRenderFrameHost(rfh)) {}
|
||||
|
||||
void FlocEligibilityObserver::OnOptInSignalObserved() {
|
||||
- if (!eligible_commit_ || observed_opt_in_signal_)
|
||||
- return;
|
||||
-
|
||||
- if (history::HistoryService* hs = GetHistoryService(web_contents_)) {
|
||||
- hs->SetFlocAllowed(
|
||||
- history::ContextIDForWebContents(web_contents_),
|
||||
- web_contents_->GetController().GetLastCommittedEntry()->GetUniqueID(),
|
||||
- web_contents_->GetLastCommittedURL());
|
||||
- }
|
||||
-
|
||||
- observed_opt_in_signal_ = true;
|
||||
}
|
||||
|
||||
DOCUMENT_USER_DATA_KEY_IMPL(FlocEligibilityObserver);
|
||||
diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome/browser/federated_learning/floc_id_provider_impl.cc
|
||||
--- a/chrome/browser/federated_learning/floc_id_provider_impl.cc
|
||||
+++ b/chrome/browser/federated_learning/floc_id_provider_impl.cc
|
||||
@@ -396,10 +396,8 @@ void FlocIdProviderImpl::OnGetRecentlyVisitedURLsCompleted(
|
||||
base::Time history_end_time = base::Time::Min();
|
||||
|
||||
for (const history::URLResult& url_result : results) {
|
||||
- if (!(url_result.content_annotations().annotation_flags &
|
||||
- history::VisitContentAnnotationFlag::kFlocEligibleRelaxed)) {
|
||||
+ if ((true))
|
||||
continue;
|
||||
- }
|
||||
|
||||
if (url_result.visit_time() < history_begin_time)
|
||||
history_begin_time = url_result.visit_time();
|
||||
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
@@ -181,6 +181,9 @@ PrivacySandboxSettings::PrivacySandboxSettings(
|
||||
|
||||
// as default, privacy sandbox is disabled
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
|
||||
+ // as default, floc is not enabled
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxFlocEnabled, false);
|
||||
+
|
||||
// On first entering the privacy sandbox experiment, users may have the
|
||||
// privacy sandbox disabled (or "reconciled") based on their current cookie
|
||||
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
|
||||
@@ -291,7 +294,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const {
|
||||
}
|
||||
|
||||
void PrivacySandboxSettings::SetFlocPrefEnabled(bool enabled) const {
|
||||
- pref_service_->SetBoolean(prefs::kPrivacySandboxFlocEnabled, enabled);
|
||||
+ // never enable floc
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxFlocEnabled, false);
|
||||
base::RecordAction(base::UserMetricsAction(
|
||||
enabled ? "Settings.PrivacySandbox.FlocEnabled"
|
||||
: "Settings.PrivacySandbox.FlocDisabled"));
|
||||
@@ -444,6 +448,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
|
||||
// this code could be eliminated in the future, as initially
|
||||
// the feauture was tied to the cookies flag
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxFlocEnabled, false);
|
||||
if((true))
|
||||
return;
|
||||
|
||||
@@ -542,11 +547,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() {
|
||||
|
||||
void PrivacySandboxSettings::SetFlocDataAccessibleFromNow(
|
||||
bool reset_calculate_timer) const {
|
||||
- pref_service_->SetTime(prefs::kPrivacySandboxFlocDataAccessibleSince,
|
||||
- base::Time::Now());
|
||||
-
|
||||
- for (auto& observer : observers_)
|
||||
- observer.OnFlocDataAccessibleSinceUpdated(reset_calculate_timer);
|
||||
+ // don't tell anyone, thanks.
|
||||
+ pref_service_->ClearPref(prefs::kPrivacySandboxFlocDataAccessibleSince);
|
||||
}
|
||||
|
||||
void PrivacySandboxSettings::StopObserving() {
|
||||
diff --git a/components/federated_learning/features/features.cc b/components/federated_learning/features/features.cc
|
||||
--- a/components/federated_learning/features/features.cc
|
||||
+++ b/components/federated_learning/features/features.cc
|
||||
@@ -12,13 +12,13 @@ namespace federated_learning {
|
||||
// bypassed when determining the eligibility for a page to be included in floc
|
||||
// computation. This is useful for developers to test FLoC in local environment.
|
||||
const base::Feature kFlocBypassIPIsPubliclyRoutableCheck{
|
||||
- "FlocBypassIPIsPubliclyRoutableCheck", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "FlocBypassIPIsPubliclyRoutableCheck", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
// Enables or disables the FlocIdComputed event logging, which happens when a
|
||||
// floc id is first computed for a browsing session or is refreshed due to a
|
||||
// long period of time has passed since the last computation.
|
||||
const base::Feature kFlocIdComputedEventLogging{
|
||||
- "FlocIdComputedEventLogging", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "FlocIdComputedEventLogging", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// If enabled, pages that had ad resources will be included in floc computation;
|
||||
// otherwise, only pages that used the document.interestCohort API will be
|
||||
@@ -27,18 +27,18 @@ const base::Feature kFlocIdComputedEventLogging{
|
||||
// criteria.
|
||||
const base::Feature kFlocPagesWithAdResourcesDefaultIncludedInFlocComputation{
|
||||
"FlocPagesWithAdResourcesDefaultIncludedInFlocComputation",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
// The main floc feature for all the subsidiary control and setting params. It's
|
||||
// controlling the floc update rate, and the minimum history domain size
|
||||
// required.
|
||||
// TODO(yaoxia): merge other floc features into this one.
|
||||
const base::Feature kFederatedLearningOfCohorts{
|
||||
- "FederatedLearningOfCohorts", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "FederatedLearningOfCohorts", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
constexpr base::FeatureParam<base::TimeDelta> kFlocIdScheduledUpdateInterval{
|
||||
- &kFederatedLearningOfCohorts, "update_interval", base::Days(7)};
|
||||
+ &kFederatedLearningOfCohorts, "update_interval", base::Days(1)};
|
||||
constexpr base::FeatureParam<int> kFlocIdMinimumHistoryDomainSizeRequired{
|
||||
- &kFederatedLearningOfCohorts, "minimum_history_domain_size_required", 3};
|
||||
+ &kFederatedLearningOfCohorts, "minimum_history_domain_size_required", 99999};
|
||||
constexpr base::FeatureParam<int> kFlocIdFinchConfigVersion{
|
||||
&kFederatedLearningOfCohorts, "finch_config_version", 1};
|
||||
|
||||
diff --git a/components/federated_learning/floc_id.cc b/components/federated_learning/floc_id.cc
|
||||
--- a/components/federated_learning/floc_id.cc
|
||||
+++ b/components/federated_learning/floc_id.cc
|
||||
@@ -38,9 +38,8 @@ FlocId FlocId::CreateValid(uint64_t id,
|
||||
base::Time history_begin_time,
|
||||
base::Time history_end_time,
|
||||
uint32_t sorting_lsh_version) {
|
||||
- return FlocId(id, Status::kValid, history_begin_time, history_end_time,
|
||||
- kFlocIdFinchConfigVersion.Get(), sorting_lsh_version,
|
||||
- /*compute_time=*/base::Time::Now());
|
||||
+ // always return an invalid floc id
|
||||
+ return CreateInvalid(Status::kInvalidBlocked);
|
||||
}
|
||||
|
||||
FlocId::FlocId(const FlocId& id) = default;
|
||||
@@ -100,15 +99,7 @@ void FlocId::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
}
|
||||
|
||||
void FlocId::SaveToPrefs(PrefService* prefs) {
|
||||
- DCHECK_NE(status_, Status::kInvalidNoStatusPrefs);
|
||||
-
|
||||
- prefs->SetUint64(kFlocIdValuePrefKey, id_);
|
||||
- prefs->SetInteger(kFlocIdStatusPrefKey, static_cast<int>(status_));
|
||||
- prefs->SetTime(kFlocIdHistoryBeginTimePrefKey, history_begin_time_);
|
||||
- prefs->SetTime(kFlocIdHistoryEndTimePrefKey, history_end_time_);
|
||||
- prefs->SetUint64(kFlocIdFinchConfigVersionPrefKey, finch_config_version_);
|
||||
- prefs->SetUint64(kFlocIdSortingLshVersionPrefKey, sorting_lsh_version_);
|
||||
- prefs->SetTime(kFlocIdComputeTimePrefKey, compute_time_);
|
||||
+ // don't save anything
|
||||
}
|
||||
|
||||
void FlocId::UpdateStatusAndSaveToPrefs(PrefService* prefs, Status status) {
|
||||
@@ -126,6 +117,10 @@ void FlocId::ResetComputeTimeAndSaveToPrefs(base::Time compute_time,
|
||||
|
||||
// static
|
||||
FlocId FlocId::ReadFromPrefs(PrefService* prefs) {
|
||||
+ // don't load anything
|
||||
+ if ((true))
|
||||
+ return CreateInvalid(FlocId::Status::kInvalidBlocked);
|
||||
+
|
||||
Status status = Status::kInvalidNoStatusPrefs;
|
||||
|
||||
// We rely on the time to tell whether it's a fresh profile.
|
||||
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
|
||||
--- a/components/history/core/browser/history_backend.cc
|
||||
+++ b/components/history/core/browser/history_backend.cc
|
||||
@@ -486,18 +486,7 @@ void HistoryBackend::SetFlocAllowed(ContextID context_id,
|
||||
if (!visit_id)
|
||||
return;
|
||||
|
||||
- // Only add to the annotations table if the visit_id exists in the visits
|
||||
- // table.
|
||||
- VisitContentAnnotations annotations;
|
||||
- if (db_->GetContentAnnotationsForVisit(visit_id, &annotations)) {
|
||||
- annotations.annotation_flags |=
|
||||
- VisitContentAnnotationFlag::kFlocEligibleRelaxed;
|
||||
- db_->UpdateContentAnnotationsForVisit(visit_id, annotations);
|
||||
- } else {
|
||||
- annotations.annotation_flags |=
|
||||
- VisitContentAnnotationFlag::kFlocEligibleRelaxed;
|
||||
- db_->AddContentAnnotationsForVisit(visit_id, annotations);
|
||||
- }
|
||||
+ // we don't want anyone to mark history as floc enabled
|
||||
ScheduleCommit();
|
||||
}
|
||||
|
||||
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
|
||||
--- a/components/history/core/browser/history_service.cc
|
||||
+++ b/components/history/core/browser/history_service.cc
|
||||
@@ -383,7 +383,7 @@ void HistoryService::AddPage(const GURL& url,
|
||||
AddPage(HistoryAddPageArgs(
|
||||
url, time, context_id, nav_entry_id, referrer, redirects, transition,
|
||||
!ui::PageTransitionIsMainFrame(transition), visit_source,
|
||||
- did_replace_entry, /*consider_for_ntp_most_visited=*/true, floc_allowed));
|
||||
+ did_replace_entry, /*consider_for_ntp_most_visited=*/true, /*floc_allowed*/false));
|
||||
}
|
||||
|
||||
void HistoryService::AddPage(const GURL& url,
|
||||
@@ -463,12 +463,7 @@ void HistoryService::UpdateWithPageEndTime(ContextID context_id,
|
||||
void HistoryService::SetFlocAllowed(ContextID context_id,
|
||||
int nav_entry_id,
|
||||
const GURL& url) {
|
||||
- TRACE_EVENT0("browser", "HistoryService::SetFlocAllowed");
|
||||
- DCHECK(backend_task_runner_) << "History service being called after cleanup";
|
||||
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
- ScheduleTask(PRIORITY_NORMAL,
|
||||
- base::BindOnce(&HistoryBackend::SetFlocAllowed, history_backend_,
|
||||
- context_id, nav_entry_id, url));
|
||||
+ // we don't want anyone to mark history as floc enabled
|
||||
}
|
||||
|
||||
void HistoryService::AddContentModelAnnotationsForVisit(
|
||||
diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h
|
||||
--- a/components/history/core/browser/url_row.h
|
||||
+++ b/components/history/core/browser/url_row.h
|
||||
@@ -166,7 +166,6 @@ enum VisitContentAnnotationFlag : uint64_t {
|
||||
// 3. Page opted in / Either one of the following holds:
|
||||
// - document.interestCohort API is used in the page
|
||||
// - the page has heuristically detected ad resources
|
||||
- kFlocEligibleRelaxed = 1 << 0,
|
||||
};
|
||||
|
||||
using VisitContentAnnotationFlags = uint64_t;
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -890,11 +890,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{
|
||||
// API exposure will be disabled regardless of the OT config.
|
||||
// (See https://github.com/WICG/floc.)
|
||||
const base::Feature kInterestCohortAPIOriginTrial{
|
||||
- "InterestCohortAPIOriginTrial", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "InterestCohortAPIOriginTrial", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
// Enable the availability of the "interest-cohort" permissions policy.
|
||||
const base::Feature kInterestCohortFeaturePolicy{
|
||||
- "InterestCohortFeaturePolicy", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "InterestCohortFeaturePolicy", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
const base::Feature kDisableDocumentDomainByDefault{
|
||||
"DisableDocumentDomainByDefault", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
diff --git a/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom b/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
|
||||
--- a/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
|
||||
+++ b/third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
|
||||
@@ -125,11 +125,6 @@ enum PermissionsPolicyFeature {
|
||||
// Controls access to screen capture via getDisplayMedia().
|
||||
kDisplayCapture = 81,
|
||||
|
||||
- // Controls the access to the interest cohort as well as the eligibility for
|
||||
- // the navigation history entry to be included in the interest cohort
|
||||
- // computation. (https://github.com/WICG/floc)
|
||||
- kInterestCohort = 82,
|
||||
-
|
||||
// Controls whether Autofill may fill fields in that frame when triggered on
|
||||
// a field with the main frame's origin.
|
||||
kSharedAutofill = 83,
|
||||
diff --git a/third_party/blink/renderer/bindings/generated_in_core.gni b/third_party/blink/renderer/bindings/generated_in_core.gni
|
||||
--- a/third_party/blink/renderer/bindings/generated_in_core.gni
|
||||
+++ b/third_party/blink/renderer/bindings/generated_in_core.gni
|
||||
@@ -203,8 +203,6 @@ generated_dictionary_sources_in_core = [
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_device_capabilities_init.h",
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.cc",
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.h",
|
||||
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.cc",
|
||||
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h",
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.cc",
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.h",
|
||||
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intrinsic_sizes_result_options.cc",
|
||||
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
|
||||
@@ -79,7 +79,6 @@
|
||||
#include "third_party/blink/renderer/bindings/core/v8/source_location.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/v8_element_creation_options.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/v8_element_registration_options.h"
|
||||
-#include "third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/v8_throw_dom_exception.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/v8_union_elementcreationoptions_string.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlscriptelement_svgscriptelement.h"
|
||||
@@ -6043,8 +6042,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
|
||||
return ScriptPromise();
|
||||
}
|
||||
|
||||
- if (!GetExecutionContext()->IsFeatureEnabled(
|
||||
- mojom::blink::PermissionsPolicyFeature::kInterestCohort)) {
|
||||
+ if ((true)) {
|
||||
exception_state.ThrowDOMException(
|
||||
DOMExceptionCode::kInvalidAccessError,
|
||||
"The \"interest-cohort\" Permissions Policy denied the use of "
|
||||
@@ -6056,33 +6054,6 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
|
||||
MakeGarbageCollected<ScriptPromiseResolver>(script_state);
|
||||
|
||||
ScriptPromise promise = resolver->Promise();
|
||||
-
|
||||
- GetFlocService(ExecutionContext::From(script_state))
|
||||
- ->GetInterestCohort(WTF::Bind(
|
||||
- [](ScriptPromiseResolver* resolver, Document* document,
|
||||
- mojom::blink::InterestCohortPtr interest_cohort) {
|
||||
- DCHECK(resolver);
|
||||
- DCHECK(document);
|
||||
-
|
||||
- if (interest_cohort->version.IsEmpty()) {
|
||||
- ScriptState* state = resolver->GetScriptState();
|
||||
- ScriptState::Scope scope(state);
|
||||
-
|
||||
- resolver->Reject(V8ThrowDOMException::CreateOrEmpty(
|
||||
- state->GetIsolate(), DOMExceptionCode::kDataError,
|
||||
- "Failed to get the interest cohort: either it is "
|
||||
- "unavailable, or preferences or content settings have "
|
||||
- "denied access."));
|
||||
- } else {
|
||||
- InterestCohort* result = InterestCohort::Create();
|
||||
- result->setId(interest_cohort->id);
|
||||
- result->setVersion(interest_cohort->version);
|
||||
-
|
||||
- resolver->Resolve(result);
|
||||
- }
|
||||
- },
|
||||
- WrapPersistent(resolver), WrapPersistent(this)));
|
||||
-
|
||||
return promise;
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/dom/document.idl b/third_party/blink/renderer/core/dom/document.idl
|
||||
--- a/third_party/blink/renderer/core/dom/document.idl
|
||||
+++ b/third_party/blink/renderer/core/dom/document.idl
|
||||
@@ -193,7 +193,6 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
|
||||
|
||||
// Interest Cohort API
|
||||
// TODO(yaoxia): Add web tests. http://crbug/1130074.
|
||||
- [CallWith=ScriptState, RaisesException, NewObject, SecureContext, RuntimeEnabled=InterestCohortAPI, MeasureAs=InterestCohortAPI_interestCohort_Method] Promise<InterestCohort> interestCohort();
|
||||
|
||||
// Text fragment directive API
|
||||
// https://wicg.github.io/scroll-to-text-fragment/#feature-detectability
|
||||
diff --git a/third_party/blink/renderer/core/dom/interest_cohort.idl b/third_party/blink/renderer/core/dom/interest_cohort.idl
|
||||
--- a/third_party/blink/renderer/core/dom/interest_cohort.idl
|
||||
+++ b/third_party/blink/renderer/core/dom/interest_cohort.idl
|
||||
@@ -4,7 +4,3 @@
|
||||
|
||||
// https://wicg.github.io/floc/#dictdef-interestcohort
|
||||
|
||||
-dictionary InterestCohort {
|
||||
- DOMString id;
|
||||
- DOMString version;
|
||||
-};
|
||||
diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
|
||||
--- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
|
||||
+++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
|
||||
@@ -240,12 +240,6 @@
|
||||
permissions_policy_name: "idle-detection",
|
||||
depends_on: ["IdleDetection"],
|
||||
},
|
||||
- {
|
||||
- name: "InterestCohort",
|
||||
- permissions_policy_name: "interest-cohort",
|
||||
- feature_default: "EnableForAll",
|
||||
- depends_on: ["InterestCohortFeaturePolicy"],
|
||||
- },
|
||||
{
|
||||
name: "JoinAdInterestGroup",
|
||||
permissions_policy_name: "join-ad-interest-group",
|
||||
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
|
||||
@@ -1259,12 +1259,11 @@
|
||||
},
|
||||
{
|
||||
name: "InterestCohortAPI",
|
||||
- origin_trial_feature_name: "InterestCohortAPI",
|
||||
- origin_trial_allows_third_party: true,
|
||||
+ depends_on: ["DisabledForBromite"]
|
||||
},
|
||||
{
|
||||
name: "InterestCohortFeaturePolicy",
|
||||
- status: "experimental",
|
||||
+ depends_on: ["DisabledForBromite"]
|
||||
},
|
||||
{
|
||||
name: "IntersectionObserverDocumentScrollingElementRoot",
|
||||
--
|
||||
2.25.1
|
|
@ -3,10 +3,41 @@ Date: Thu, 12 Oct 2017 08:15:17 +0200
|
|||
Subject: Disable NTP remote suggestions by default
|
||||
|
||||
---
|
||||
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
|
||||
components/ntp_snippets/features.cc | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
.../chrome/browser/feed/FeedSurfaceMediator.java | 13 ++++++++++---
|
||||
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
|
||||
components/ntp_snippets/features.cc | 4 ++--
|
||||
3 files changed, 14 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
|
||||
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
|
||||
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
|
||||
@@ -294,9 +294,13 @@ public class FeedSurfaceMediator
|
||||
/** Update the content based on supervised user or enterprise policy. */
|
||||
void updateContent() {
|
||||
mFeedEnabled = FeedFeatures.isFeedEnabled();
|
||||
- if (mFeedEnabled == !mTabToStreamMap.isEmpty()) {
|
||||
- return;
|
||||
- }
|
||||
+ // Bromite needs the next lines removed because mFeedEnabled
|
||||
+ // is always false and mTabToStreamMap never empty
|
||||
+ //
|
||||
+ // addHeaderAndStream is called at least once
|
||||
+ // if (mFeedEnabled == !mTabToStreamMap.isEmpty()) {
|
||||
+ // return;
|
||||
+ // }
|
||||
|
||||
RecyclerView recyclerView = mCoordinator.getRecyclerView();
|
||||
if (mSnapScrollHelper != null && recyclerView != null) {
|
||||
@@ -450,6 +454,9 @@ public class FeedSurfaceMediator
|
||||
}
|
||||
|
||||
private void addHeaderAndStream(String headerText, Stream stream) {
|
||||
+ // Bromite also needs this early return because
|
||||
+ // the first item inserted is the feed setting
|
||||
+ if (FeedFeatures.isFeedEnabled() == false) return;
|
||||
int tabId = mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY).size();
|
||||
mTabToStreamMap.put(tabId, stream);
|
||||
|
||||
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
|
||||
--- a/components/feed/core/shared_prefs/pref_names.cc
|
||||
+++ b/components/feed/core/shared_prefs/pref_names.cc
|
||||
|
@ -24,7 +55,7 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
|
|||
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
|
||||
@@ -39,7 +39,7 @@ const base::Feature* const kAllFeatures[] = {
|
||||
@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[] = {
|
||||
&kOptionalImagesEnabledFeature};
|
||||
|
||||
const base::Feature kArticleSuggestionsFeature{
|
||||
|
@ -33,7 +64,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
|
|||
|
||||
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
|
||||
"RemoteSuggestionsEmulateM58FetchingSchedule",
|
||||
@@ -69,7 +69,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
|
||||
@@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
|
||||
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
|
||||
|
||||
const base::Feature kKeepPrefetchedContentSuggestions{
|
||||
|
|
292
build/patches/Disable-TLS-resumption.patch
Normal file
292
build/patches/Disable-TLS-resumption.patch
Normal file
|
@ -0,0 +1,292 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Thu, 24 Mar 2022 10:08:00 +0000
|
||||
Subject: Disable TLS resumption
|
||||
|
||||
Disable resumption feature for all HTTPS and QUIC connections;
|
||||
the feature could be used to track users even without cookies.
|
||||
|
||||
Sessions are not currently saved to disk in Chromium (although
|
||||
there is support for it) but are long enough to constitute a
|
||||
privacy risk (2h for TLS 1.2 and 7 days for TLS 1.3) if user
|
||||
does not frequently close the browser.
|
||||
|
||||
Since session information is not kept in the HTTP cache it is
|
||||
not cleared when deleting navigation data (although it is possible
|
||||
to clear it by selecting "passwords").
|
||||
|
||||
Two new user configurable flags are introduced:
|
||||
* kDisableTLSResumption, active by default
|
||||
* kLogTLSResumption, that would allow to find in logcat reused
|
||||
sessions in lines matching "SSL Log:"
|
||||
|
||||
See also:
|
||||
* https://arxiv.org/abs/1810.07304
|
||||
---
|
||||
chrome/browser/about_flags.cc | 6 +++
|
||||
chrome/browser/flag_descriptions.cc | 8 ++++
|
||||
chrome/browser/flag_descriptions.h | 6 +++
|
||||
net/base/features.cc | 6 +++
|
||||
net/base/features.h | 6 +++
|
||||
net/http/http_network_session.cc | 1 +
|
||||
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
|
||||
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
|
||||
net/socket/ssl_client_socket_impl.h | 2 +
|
||||
9 files changed, 128 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
|
||||
@@ -4342,6 +4342,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
|
||||
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
|
||||
+ {"disable-tls-resumption", flag_descriptions::kDisableTLSResumptionName,
|
||||
+ flag_descriptions::kDisableTLSResumptionDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(net::features::kDisableTLSResumption)},
|
||||
+ {"log-tls-resumption", flag_descriptions::kLogTLSResumptionName,
|
||||
+ flag_descriptions::kLogTLSResumptionDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(net::features::kLogTLSResumption)},
|
||||
{"post-quantum-cecpq2", flag_descriptions::kPostQuantumCECPQ2Name,
|
||||
flag_descriptions::kPostQuantumCECPQ2Description, kOsAll,
|
||||
FEATURE_VALUE_TYPE(net::features::kPostQuantumCECPQ2)},
|
||||
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
|
||||
@@ -950,6 +950,14 @@ const char kEnableTLS13EarlyDataDescription[] =
|
||||
"during the handshake when resuming a connection to a compatible TLS 1.3 "
|
||||
"server.";
|
||||
|
||||
+const char kDisableTLSResumptionName[] = "Disable TLS Session Resumption";
|
||||
+const char kDisableTLSResumptionDescription[] =
|
||||
+ "Disable TLS session resumption.";
|
||||
+
|
||||
+const char kLogTLSResumptionName[] = "Log TLS Session Resumption";
|
||||
+const char kLogTLSResumptionDescription[] =
|
||||
+ "Log TLS session resumption";
|
||||
+
|
||||
const char kEnhancedNetworkVoicesName[] = "Enhanced network voices";
|
||||
const char kEnhancedNetworkVoicesDescription[] =
|
||||
"This option enables high-quality, network-based voices in "
|
||||
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
|
||||
@@ -549,6 +549,12 @@ extern const char kEnableSyncRequiresPoliciesLoadedDescription[];
|
||||
extern const char kEnableTLS13EarlyDataName[];
|
||||
extern const char kEnableTLS13EarlyDataDescription[];
|
||||
|
||||
+extern const char kDisableTLSResumptionName[];
|
||||
+extern const char kDisableTLSResumptionDescription[];
|
||||
+
|
||||
+extern const char kLogTLSResumptionName[];
|
||||
+extern const char kLogTLSResumptionDescription[];
|
||||
+
|
||||
extern const char kEnhancedNetworkVoicesName[];
|
||||
extern const char kEnhancedNetworkVoicesDescription[];
|
||||
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -92,6 +92,12 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
|
||||
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
+const base::Feature kDisableTLSResumption{"DisableTLSResumption",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
+const base::Feature kLogTLSResumption{"LogTLSResumption",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+
|
||||
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
+++ b/net/base/features.h
|
||||
@@ -153,6 +153,12 @@ NET_EXPORT extern const base::FeatureParam<int>
|
||||
// Enables TLS 1.3 early data.
|
||||
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
|
||||
|
||||
+// Disables TLS resumption.
|
||||
+NET_EXPORT extern const base::Feature kDisableTLSResumption;
|
||||
+
|
||||
+// Log TLS resumption.
|
||||
+NET_EXPORT extern const base::Feature kLogTLSResumption;
|
||||
+
|
||||
// Enables the TLS Encrypted ClientHello feature.
|
||||
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13
|
||||
//
|
||||
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
|
||||
--- a/net/http/http_network_session.cc
|
||||
+++ b/net/http/http_network_session.cc
|
||||
@@ -233,6 +233,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
|
||||
|
||||
next_protos_.push_back(kProtoHTTP11);
|
||||
|
||||
+ DCHECK(context.quic_context->params()->max_server_configs_stored_in_properties == 0);
|
||||
http_server_properties_->SetMaxServerConfigsStoredInProperties(
|
||||
context.quic_context->params()->max_server_configs_stored_in_properties);
|
||||
http_server_properties_->SetBrokenAlternativeServicesDelayParams(
|
||||
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
|
||||
--- a/net/quic/quic_stream_factory.cc
|
||||
+++ b/net/quic/quic_stream_factory.cc
|
||||
@@ -73,6 +73,7 @@
|
||||
#include "net/third_party/quiche/src/quic/core/quic_utils.h"
|
||||
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
|
||||
#include "third_party/boringssl/src/include/openssl/aead.h"
|
||||
+#include "third_party/boringssl/src/include/openssl/ssl.h"
|
||||
#include "url/gurl.h"
|
||||
#include "url/scheme_host_port.h"
|
||||
#include "url/url_constants.h"
|
||||
@@ -229,6 +230,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
|
||||
|
||||
} // namespace
|
||||
|
||||
+class BromiteSessionCache : public quic::QuicClientSessionCache {
|
||||
+ public:
|
||||
+ BromiteSessionCache() = default;
|
||||
+ ~BromiteSessionCache() override = default;
|
||||
+
|
||||
+ void Insert(const quic::QuicServerId& server_id,
|
||||
+ bssl::UniquePtr<SSL_SESSION> session,
|
||||
+ const quic::TransportParameters& params,
|
||||
+ const quic::ApplicationState* application_state) override {
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kDisableTLSResumption))
|
||||
+ SSL_SESSION_set_timeout(session.get(), 0);
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kLogTLSResumption)) {
|
||||
+ LOG(INFO) << "SSL Log: new quic session created "
|
||||
+ << server_id.host();
|
||||
+ }
|
||||
+ quic::QuicClientSessionCache::Insert(server_id,
|
||||
+ std::move(session), params, application_state);
|
||||
+ }
|
||||
+
|
||||
+ std::unique_ptr<quic::QuicResumptionState> Lookup(
|
||||
+ const quic::QuicServerId& server_id, quic::QuicWallTime now,
|
||||
+ const SSL_CTX* ctx) override {
|
||||
+ auto value = quic::QuicClientSessionCache::Lookup(server_id, now, ctx);
|
||||
+ if (value != nullptr &&
|
||||
+ base::FeatureList::IsEnabled(net::features::kLogTLSResumption)) {
|
||||
+ LOG(INFO) << "SSL Log: QUIC session resumed "
|
||||
+ << server_id.host();
|
||||
+ }
|
||||
+ return value;
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
|
||||
// consumers are using it currently. When the last reference is freed, the
|
||||
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
|
||||
@@ -2213,7 +2246,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
|
||||
sct_auditing_delegate_,
|
||||
HostsFromOrigins(params_.origins_to_force_quic_on),
|
||||
actual_network_isolation_key),
|
||||
- std::make_unique<quic::QuicClientSessionCache>(), this);
|
||||
+ std::make_unique<BromiteSessionCache>(), this);
|
||||
|
||||
quic::QuicCryptoClientConfig* crypto_config = crypto_config_owner->config();
|
||||
crypto_config->set_user_agent_id(params_.user_agent_id);
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
@@ -404,7 +404,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
|
||||
CHECK(context_);
|
||||
}
|
||||
|
||||
+void SSLClientSocketImpl::Log_ssl_session_data(const std::string& tag, SSL_SESSION* session) {
|
||||
+ if (session == NULL) {
|
||||
+ LOG(INFO) << "SSL Log: "
|
||||
+ << tag
|
||||
+ << " host: " << host_and_port_.ToString()
|
||||
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ unsigned len;
|
||||
+ auto* session_id = SSL_SESSION_get_id(session, &len);
|
||||
+
|
||||
+ const uint8_t *ticket;
|
||||
+ size_t ticklen;
|
||||
+ SSL_SESSION_get0_ticket(session, &ticket, &ticklen);
|
||||
+
|
||||
+ LOG(INFO) << "SSL Log: "
|
||||
+ << tag
|
||||
+ << " host: " << host_and_port_.ToString()
|
||||
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString()
|
||||
+ << " sessionid: " << base::HexEncode(session_id, len)
|
||||
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
|
||||
+}
|
||||
+
|
||||
SSLClientSocketImpl::~SSLClientSocketImpl() {
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kLogTLSResumption))
|
||||
+ Log_ssl_session_data("Disconnect", NULL);
|
||||
Disconnect();
|
||||
}
|
||||
|
||||
@@ -803,6 +829,8 @@ int SSLClientSocketImpl::Init() {
|
||||
}
|
||||
if (session)
|
||||
SSL_set_session(ssl_.get(), session.get());
|
||||
+ if (session && base::FeatureList::IsEnabled(net::features::kLogTLSResumption))
|
||||
+ Log_ssl_session_data("Old session resumed", session.get());
|
||||
}
|
||||
|
||||
transport_adapter_ = std::make_unique<SocketBIOAdapter>(
|
||||
@@ -1091,6 +1119,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
|
||||
: SSLHandshakeDetails::kTLS13Full;
|
||||
}
|
||||
}
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kLogTLSResumption)) {
|
||||
+ switch(details)
|
||||
+ {
|
||||
+ case SSLHandshakeDetails::kTLS13Early:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS13Early mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS13ResumeWithHelloRetryRequest:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS13ResumeWithHelloRetryRequest mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS13Resume:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS13Resume mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS12Resume:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS12Resume mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS12Full:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS12Full mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS12FalseStart:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS12FalseStart mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS13Full:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS13Full mode", NULL);
|
||||
+ break;
|
||||
+ case SSLHandshakeDetails::kTLS13FullWithHelloRetryRequest:
|
||||
+ Log_ssl_session_data("SSL Log: session reused: kTLS13FullWithHelloRetryRequest mode", NULL);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
|
||||
|
||||
// Measure TLS connections that implement the renegotiation_info extension.
|
||||
@@ -1764,6 +1821,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
|
||||
}
|
||||
|
||||
bool SSLClientSocketImpl::IsCachingEnabled() const {
|
||||
+ if (base::FeatureList::IsEnabled(net::features::kDisableTLSResumption))
|
||||
+ return false;
|
||||
return context_->ssl_client_session_cache() != nullptr;
|
||||
}
|
||||
|
||||
diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h
|
||||
--- a/net/socket/ssl_client_socket_impl.h
|
||||
+++ b/net/socket/ssl_client_socket_impl.h
|
||||
@@ -129,6 +129,8 @@ class SSLClientSocketImpl : public SSLClientSocket,
|
||||
friend class SSLClientSocket;
|
||||
friend class SSLContext;
|
||||
|
||||
+ void Log_ssl_session_data(const std::string& tag, SSL_SESSION* session);
|
||||
+
|
||||
int Init();
|
||||
void DoReadCallback(int result);
|
||||
void DoWriteCallback(int result);
|
||||
--
|
||||
2.25.1
|
58
build/patches/Disable-UA-full-version.patch
Normal file
58
build/patches/Disable-UA-full-version.patch
Normal file
|
@ -0,0 +1,58 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Wed, 16 Feb 2022 14:28:58 +0000
|
||||
Subject: Disable UA full version
|
||||
|
||||
getHighEntropyValues will return only the major version
|
||||
---
|
||||
.../renderer/core/frame/navigator_ua_data.cc | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.cc b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||
--- a/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/navigator_ua_data.cc
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
+#include "base/version.h"
|
||||
+#include "base/strings/strcat.h"
|
||||
#include "third_party/blink/public/common/privacy_budget/identifiability_metric_builder.h"
|
||||
#include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h"
|
||||
#include "third_party/blink/public/common/privacy_budget/identifiable_surface.h"
|
||||
@@ -37,6 +39,16 @@ void MaybeRecordMetric(bool record_identifiability,
|
||||
.Record(execution_context->UkmRecorder());
|
||||
}
|
||||
|
||||
+const String GetReducedVersionNumber(const std::string& fullVersion) {
|
||||
+ base::Version version(fullVersion);
|
||||
+ std::string version_str;
|
||||
+ const std::vector<uint32_t>& components = version.components();
|
||||
+ if (components.size() > 0) {
|
||||
+ version_str = base::StrCat({base::NumberToString(components[0]), ".0.0.0"});
|
||||
+ }
|
||||
+ return String::FromUTF8(version_str);
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
NavigatorUAData::NavigatorUAData(ExecutionContext* context)
|
||||
@@ -75,7 +87,7 @@ void NavigatorUAData::SetFullVersionList(
|
||||
const UserAgentBrandList& full_version_list) {
|
||||
for (const auto& brand_version : full_version_list) {
|
||||
AddBrandFullVersion(String::FromUTF8(brand_version.brand),
|
||||
- String::FromUTF8(brand_version.version));
|
||||
+ GetReducedVersionNumber(brand_version.version));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,7 +109,7 @@ void NavigatorUAData::SetModel(const String& model) {
|
||||
}
|
||||
|
||||
void NavigatorUAData::SetUAFullVersion(const String& ua_full_version) {
|
||||
- ua_full_version_ = ua_full_version;
|
||||
+ ua_full_version_ = GetReducedVersionNumber(ua_full_version.Ascii());
|
||||
}
|
||||
|
||||
void NavigatorUAData::SetBitness(const String& bitness) {
|
||||
--
|
||||
2.25.1
|
255
build/patches/Disable-all-predictors-code.patch
Normal file
255
build/patches/Disable-all-predictors-code.patch
Normal file
|
@ -0,0 +1,255 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 12:22:52 +0000
|
||||
Subject: Disable all predictors code
|
||||
|
||||
---
|
||||
.../chrome_hints_manager.cc | 1 +
|
||||
.../optimization_guide_keyed_service.cc | 1 -
|
||||
chrome/common/chrome_features.cc | 4 ++--
|
||||
.../optimization_guide/core/hints_fetcher.cc | 1 +
|
||||
.../optimization_guide/core/hints_manager.cc | 3 +++
|
||||
.../core/optimization_guide_features.cc | 20 +++++++++----------
|
||||
.../core/prediction_model_download_manager.cc | 4 +++-
|
||||
.../core/prediction_model_fetcher_impl.cc | 1 +
|
||||
components/optimization_guide/features.gni | 3 +--
|
||||
components/permissions/features.cc | 2 +-
|
||||
.../segmentation_platform/public/features.cc | 2 +-
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
12 files changed, 25 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
|
||||
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
|
||||
+++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
|
||||
@@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction(
|
||||
const absl::optional<NavigationPredictorKeyedService::Prediction>
|
||||
prediction) {
|
||||
DCHECK(prediction);
|
||||
+ if ((true)) return false;
|
||||
|
||||
if (prediction->prediction_source() !=
|
||||
NavigationPredictorKeyedService::PredictionSource::
|
||||
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
@@ -326,7 +326,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
|
||||
const std::vector<optimization_guide::proto::OptimizationType>&
|
||||
optimization_types) {
|
||||
- hints_manager_->RegisterOptimizationTypes(optimization_types);
|
||||
}
|
||||
|
||||
optimization_guide::OptimizationGuideDecision
|
||||
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
|
||||
@@ -781,7 +781,7 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
|
||||
// Enables using the prediction service for permission prompts. We will keep
|
||||
// this feature in order to allow us to update the holdback chance via finch.
|
||||
const base::Feature kPermissionPredictions{"PermissionPredictions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// The holdback chance is 30% but it can also be configured/updated
|
||||
// through finch if needed.
|
||||
@@ -792,7 +792,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
|
||||
|
||||
// Enables using the prediction service for geolocation permission prompts.
|
||||
const base::Feature kPermissionGeolocationPredictions{
|
||||
- "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
const base::FeatureParam<double>
|
||||
kPermissionGeolocationPredictionsHoldbackChance(
|
||||
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
|
||||
--- a/components/optimization_guide/core/hints_fetcher.cc
|
||||
+++ b/components/optimization_guide/core/hints_fetcher.cc
|
||||
@@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
|
||||
optimization_guide::proto::RequestContext request_context,
|
||||
const std::string& locale,
|
||||
HintsFetchedCallback hints_fetched_callback) {
|
||||
+ if ((true)) return false;
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
DCHECK_GT(optimization_types.size(), 0u);
|
||||
request_context_ = request_context;
|
||||
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
|
||||
--- a/components/optimization_guide/core/hints_manager.cc
|
||||
+++ b/components/optimization_guide/core/hints_manager.cc
|
||||
@@ -1183,6 +1183,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
|
||||
proto::OptimizationType optimization_type,
|
||||
OptimizationMetadata* optimization_metadata) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+ if ((true)) {
|
||||
+ return OptimizationTypeDecision::kNoHintAvailable;
|
||||
+ }
|
||||
|
||||
ScopedCanApplyOptimizationLogger scoped_logger(
|
||||
optimization_type, navigation_url, optimization_guide_logger_);
|
||||
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
|
||||
--- a/components/optimization_guide/core/optimization_guide_features.cc
|
||||
+++ b/components/optimization_guide/core/optimization_guide_features.cc
|
||||
@@ -64,7 +64,7 @@ bool IsSupportedLocaleForFeature(const std::string locale,
|
||||
// Enables the syncing of the Optimization Hints component, which provides
|
||||
// hints for what optimizations can be applied on a page load.
|
||||
const base::Feature kOptimizationHints{"OptimizationHints",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Feature flag that contains a feature param that specifies the field trials
|
||||
// that are allowed to be sent up to the Optimization Guide Server.
|
||||
@@ -73,12 +73,12 @@ const base::Feature kOptimizationHintsFieldTrials{
|
||||
|
||||
// Enables fetching from a remote Optimization Guide Service.
|
||||
const base::Feature kRemoteOptimizationGuideFetching{
|
||||
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent {
|
||||
"OptimizationHintsFetchingAnonymousDataConsent",
|
||||
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
@@ -92,15 +92,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
|
||||
|
||||
// Enables the prediction of optimization targets.
|
||||
const base::Feature kOptimizationTargetPrediction{
|
||||
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
// Enables the downloading of models.
|
||||
const base::Feature kOptimizationGuideModelDownloading {
|
||||
"OptimizationGuideModelDownloading",
|
||||
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
-#else // BUILD_WITH_TFLITE_LIB
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
+#else // BUILD_WITH_TFLITE_LIB
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this
|
||||
#endif // !BUILD_WITH_TFLITE_LIB
|
||||
};
|
||||
|
||||
@@ -126,7 +126,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
|
||||
|
||||
// Enables push notification of hints.
|
||||
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
// This feature flag does not turn off any behavior, it is only used for
|
||||
// experiment parameters.
|
||||
@@ -138,12 +138,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
|
||||
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kPageTopicsBatchAnnotations{
|
||||
- "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ "PageTopicsBatchAnnotations", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
const base::Feature kPageVisibilityBatchAnnotations{
|
||||
"PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kUseLocalPageEntitiesMetadataProvider{
|
||||
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
const base::Feature kBatchAnnotationsValidation{
|
||||
"BatchAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
@@ -370,7 +370,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
|
||||
bool ShouldPersistHintsToDisk() {
|
||||
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
|
||||
- "persist_hints_to_disk", true);
|
||||
+ "persist_hints_to_disk", false);
|
||||
}
|
||||
|
||||
bool ShouldOverrideOptimizationTargetDecisionForMetricsPurposes(
|
||||
diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc
|
||||
--- a/components/optimization_guide/core/prediction_model_download_manager.cc
|
||||
+++ b/components/optimization_guide/core/prediction_model_download_manager.cc
|
||||
@@ -47,7 +47,7 @@ constexpr char kGoogApiKey[] = "X-Goog-Api-Key";
|
||||
// we require models to come from.
|
||||
constexpr uint8_t kPublisherKeyHash[] = {
|
||||
0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
|
||||
- 0xa3, 0x70, 0x71, 0x42, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02,
|
||||
+ 0x01, 0x02, 0x03, 0x04, 0x16, 0x0d, 0x2d, 0x68, 0xb0, 0x53, 0x02,
|
||||
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
|
||||
const net::NetworkTrafficAnnotationTag
|
||||
kOptimizationGuidePredictionModelsTrafficAnnotation =
|
||||
@@ -104,6 +104,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default;
|
||||
void PredictionModelDownloadManager::StartDownload(
|
||||
const GURL& download_url,
|
||||
proto::OptimizationTarget optimization_target) {
|
||||
+ if ((true)) return;
|
||||
download::DownloadParams download_params;
|
||||
download_params.client =
|
||||
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
|
||||
@@ -229,6 +230,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(const std::string& guid) {
|
||||
absl::optional<std::pair<base::FilePath, base::FilePath>>
|
||||
PredictionModelDownloadManager::ProcessDownload(
|
||||
const base::FilePath& file_path) {
|
||||
+ if ((true)) return absl::nullopt;
|
||||
DCHECK(background_task_runner_->RunsTasksInCurrentSequence());
|
||||
|
||||
if (!switches::ShouldSkipModelDownloadVerificationForTesting()) {
|
||||
diff --git a/components/optimization_guide/core/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
|
||||
--- a/components/optimization_guide/core/prediction_model_fetcher_impl.cc
|
||||
+++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
|
||||
@@ -50,6 +50,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
|
||||
proto::RequestContext request_context,
|
||||
const std::string& locale,
|
||||
ModelsFetchedCallback models_fetched_callback) {
|
||||
+ if ((true)) return false;
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
|
||||
if (url_loader_)
|
||||
diff --git a/components/optimization_guide/features.gni b/components/optimization_guide/features.gni
|
||||
--- a/components/optimization_guide/features.gni
|
||||
+++ b/components/optimization_guide/features.gni
|
||||
@@ -7,8 +7,7 @@ import("//build/config/chrome_build.gni")
|
||||
declare_args() {
|
||||
# This enables build with TFLite library.
|
||||
# Currently only available for Desktop and Android.
|
||||
- build_with_tflite_lib = is_android || (is_win && target_cpu != "arm64") ||
|
||||
- is_linux || is_mac || is_chromeos || is_fuchsia
|
||||
+ build_with_tflite_lib = false
|
||||
|
||||
# You can set the variable 'build_with_internal_optimization_guide' to true
|
||||
# even in a developer build in args.gn. Setting this variable explicitly to true will
|
||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
||||
--- a/components/permissions/features.cc
|
||||
+++ b/components/permissions/features.cc
|
||||
@@ -69,7 +69,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
|
||||
|
||||
const base::Feature kPermissionOnDeviceNotificationPredictions{
|
||||
"PermissionOnDeviceNotificationPredictions",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
|
||||
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
|
||||
--- a/components/segmentation_platform/public/features.cc
|
||||
+++ b/components/segmentation_platform/public/features.cc
|
||||
@@ -12,7 +12,7 @@ namespace features {
|
||||
const base::Feature kSegmentationPlatformFeature {
|
||||
"SegmentationPlatform",
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -185,7 +185,7 @@ const base::Feature kViewportHeightClientHintHeader{
|
||||
const base::Feature kNavigationPredictor {
|
||||
"NavigationPredictor",
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
|
@ -9,7 +9,7 @@ Subject: Disable all promo dialogs
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -851,7 +851,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -876,7 +876,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
* displayed.
|
||||
*/
|
||||
private boolean triggerPromo(boolean intentWithEffect) {
|
||||
|
@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
|||
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
|
||||
return false;
|
||||
}
|
||||
@@ -886,8 +886,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -911,8 +911,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
preferenceManager.writeBoolean(
|
||||
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
}
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 19 Dec 2019 21:46:10 +0100
|
||||
Subject: Disable autofill assistant by default
|
||||
|
||||
---
|
||||
.../autofill_assistant/AutofillAssistantPreferencesUtil.java | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
|
||||
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
|
||||
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
|
||||
@@ -22,7 +22,7 @@ public class AutofillAssistantPreferencesUtil {
|
||||
/** Checks whether the Autofill Assistant switch preference in settings is on. */
|
||||
static boolean isAutofillAssistantSwitchOn() {
|
||||
return SharedPreferencesManager.getInstance().readBoolean(
|
||||
- ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, true);
|
||||
+ ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, false);
|
||||
}
|
||||
|
||||
/** Checks whether proactive help is enabled. */
|
||||
--
|
||||
2.25.1
|
|
@ -13,24 +13,25 @@ being sent and being saved to disk, although it is currently in uncalled code.
|
|||
.../flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../embedder_support/origin_trials/features.cc | 3 ++-
|
||||
.../render_view_context_menu_base.cc | 3 ---
|
||||
.../aggregatable_report_sender.cc | 17 ++++++++---------
|
||||
.../browser/android/navigation_handle_proxy.cc | 10 ----------
|
||||
.../attribution_reporting/attribution_host.cc | 8 --------
|
||||
.../attribution_reporting/attribution_host.cc | 9 ---------
|
||||
.../attribution_reporting/attribution_host.h | 3 ---
|
||||
.../attribution_host_utils.cc | 6 ++++++
|
||||
.../attribution_network_sender_impl.cc | 17 ++++++++++-------
|
||||
.../attribution_report_network_sender.cc | 15 ++++++++-------
|
||||
.../attribution_storage_sql.cc | 2 +-
|
||||
.../navigation_controller_android.cc | 16 ----------------
|
||||
content/browser/storage_partition_impl.cc | 7 +------
|
||||
.../browser/AttributionReporterImpl.java | 4 ----
|
||||
content/public/browser/navigation_controller.cc | 1 -
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
.../platform/runtime_enabled_features.json5 | 13 +++++++++----
|
||||
17 files changed, 32 insertions(+), 82 deletions(-)
|
||||
.../platform/runtime_enabled_features.json5 | 9 ++++++++-
|
||||
18 files changed, 37 insertions(+), 89 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
|
||||
@@ -1264,14 +1264,6 @@ by a child template that "extends" this file.
|
||||
@@ -1300,14 +1300,6 @@ by a child template that "extends" this file.
|
||||
android:readPermission="android.permission.GLOBAL_SEARCH" />
|
||||
</provider>
|
||||
|
||||
|
@ -67,7 +68,7 @@ diff --git a/chrome/browser/attribution_reporting/android/internal/java/src/org/
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -428,7 +428,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
|
||||
@@ -452,7 +452,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
|
||||
|
@ -93,7 +94,7 @@ diff --git a/components/embedder_support/origin_trials/features.cc b/components/
|
|||
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
|
||||
--- a/components/renderer_context_menu/render_view_context_menu_base.cc
|
||||
+++ b/components/renderer_context_menu/render_view_context_menu_base.cc
|
||||
@@ -485,9 +485,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders(
|
||||
@@ -486,9 +486,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders(
|
||||
|
||||
open_url_params.source_site_instance = site_instance_;
|
||||
|
||||
|
@ -103,10 +104,47 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b
|
|||
source_web_contents_->OpenURL(open_url_params);
|
||||
}
|
||||
|
||||
diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc
|
||||
--- a/content/browser/aggregation_service/aggregatable_report_sender.cc
|
||||
+++ b/content/browser/aggregation_service/aggregatable_report_sender.cc
|
||||
@@ -137,19 +137,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
|
||||
// Allow bodies of non-2xx responses to be returned.
|
||||
simple_url_loader_ptr->SetAllowHttpErrorResults(true);
|
||||
|
||||
- // Unretained is safe because the URLLoader is owned by `this` and will be
|
||||
- // deleted before `this`.
|
||||
- simple_url_loader_ptr->DownloadHeadersOnly(
|
||||
- url_loader_factory_.get(),
|
||||
- base::BindOnce(&AggregatableReportSender::OnReportSent,
|
||||
- base::Unretained(this), std::move(it),
|
||||
- std::move(callback)));
|
||||
+ // this is never called on Bromite but nothing would be sent if it were
|
||||
+ OnReportSent(std::move(it), std::move(callback), nullptr);
|
||||
}
|
||||
|
||||
void AggregatableReportSender::OnReportSent(
|
||||
UrlLoaderList::iterator it,
|
||||
ReportSentCallback callback,
|
||||
- scoped_refptr<net::HttpResponseHeaders> headers) {
|
||||
+ scoped_refptr<net::HttpResponseHeaders> headers) { // disable in Bromite
|
||||
+ if ((true)) {
|
||||
+ std::move(callback).Run(RequestStatus::kOk);
|
||||
+ return;
|
||||
+ }
|
||||
RequestStatus status;
|
||||
|
||||
absl::optional<int> http_response_code;
|
||||
@@ -189,4 +188,4 @@ void AggregatableReportSender::OnReportSent(
|
||||
std::move(callback).Run(status);
|
||||
}
|
||||
|
||||
-} // namespace content
|
||||
\ No newline at end of file
|
||||
+} // namespace content
|
||||
diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browser/android/navigation_handle_proxy.cc
|
||||
--- a/content/browser/android/navigation_handle_proxy.cc
|
||||
+++ b/content/browser/android/navigation_handle_proxy.cc
|
||||
@@ -30,16 +30,6 @@ NavigationHandleProxy::NavigationHandleProxy(
|
||||
@@ -31,16 +31,6 @@ NavigationHandleProxy::NavigationHandleProxy(
|
||||
base::android::ScopedJavaLocalRef<jobject> impression_byte_buffer = nullptr;
|
||||
|
||||
// Scoped to out-live the java call as this uses a DirectByteBuffer.
|
||||
|
@ -126,7 +164,7 @@ diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browse
|
|||
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_host.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_host.cc
|
||||
@@ -420,14 +420,6 @@ void AttributionHost::BindReceiver(
|
||||
@@ -444,15 +444,6 @@ void AttributionHost::BindReceiver(
|
||||
conversion_host->receivers_.Bind(rfh, std::move(receiver));
|
||||
}
|
||||
|
||||
|
@ -135,29 +173,30 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
|
|||
- const blink::Impression& impression) {
|
||||
- return blink::mojom::Impression::New(
|
||||
- impression.conversion_destination, impression.reporting_origin,
|
||||
- impression.impression_data, impression.expiry, impression.priority);
|
||||
- impression.impression_data, impression.expiry, impression.priority,
|
||||
- impression.attribution_src_token);
|
||||
-}
|
||||
-
|
||||
// static
|
||||
void AttributionHost::SetReceiverImplForTesting(AttributionHost* impl) {
|
||||
g_receiver_for_testing = impl;
|
||||
WEB_CONTENTS_USER_DATA_KEY_IMPL(AttributionHost);
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/browser/attribution_reporting/attribution_host.h b/content/browser/attribution_reporting/attribution_host.h
|
||||
--- a/content/browser/attribution_reporting/attribution_host.h
|
||||
+++ b/content/browser/attribution_reporting/attribution_host.h
|
||||
@@ -58,9 +58,6 @@ class CONTENT_EXPORT AttributionHost
|
||||
@@ -57,9 +57,6 @@ class CONTENT_EXPORT AttributionHost
|
||||
const url::Origin& impression_origin,
|
||||
const blink::Impression& impression);
|
||||
|
||||
- static blink::mojom::ImpressionPtr MojoImpressionFromImpression(
|
||||
- const blink::Impression& impression) WARN_UNUSED_RESULT;
|
||||
- const blink::Impression& impression);
|
||||
-
|
||||
// Overrides the target object to bind |receiver| to in BindReceiver().
|
||||
static void SetReceiverImplForTesting(AttributionHost* impl);
|
||||
|
||||
private:
|
||||
friend class AttributionHostTestPeer;
|
||||
friend class WebContentsUserData<AttributionHost>;
|
||||
diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/content/browser/attribution_reporting/attribution_host_utils.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_host_utils.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_host_utils.cc
|
||||
@@ -19,6 +19,8 @@
|
||||
@@ -20,6 +20,8 @@
|
||||
#include "url/gurl.h"
|
||||
#include "url/origin.h"
|
||||
|
||||
|
@ -166,7 +205,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c
|
|||
namespace content {
|
||||
|
||||
namespace attribution_host_utils {
|
||||
@@ -81,6 +83,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
|
||||
@@ -68,6 +70,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
|
||||
// Java API should have rejected these already.
|
||||
DCHECK(!source_event_id.empty() && !destination.empty());
|
||||
|
||||
|
@ -177,35 +216,33 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c
|
|||
blink::Impression impression;
|
||||
if (!base::StringToUint64(source_event_id, &impression.impression_data))
|
||||
return absl::nullopt;
|
||||
diff --git a/content/browser/attribution_reporting/attribution_network_sender_impl.cc b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_network_sender_impl.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
|
||||
@@ -143,13 +143,9 @@ void AttributionNetworkSenderImpl::SendReport(
|
||||
|
||||
LogMetricsOnReportSend(report);
|
||||
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc
|
||||
@@ -118,13 +118,8 @@ void AttributionReportNetworkSender::SendReport(
|
||||
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
|
||||
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
|
||||
|
||||
- // Unretained is safe because the URLLoader is owned by |this| and will be
|
||||
- // deleted before |this|.
|
||||
- simple_url_loader_ptr->DownloadHeadersOnly(
|
||||
- url_loader_factory_.get(),
|
||||
- base::BindOnce(&AttributionNetworkSenderImpl::OnReportSent,
|
||||
- base::BindOnce(&AttributionReportNetworkSender::OnReportSent,
|
||||
- base::Unretained(this), std::move(it), std::move(report),
|
||||
- std::move(sent_callback)));
|
||||
+ // this code is never called but if it were, nothing would be sent
|
||||
+ OnReportSent(std::move(it), std::move(report), std::move(sent_callback),
|
||||
+ nullptr);
|
||||
- is_debug_report, std::move(sent_callback)));
|
||||
+ // this is never called on Bromite but nothing would be sent if it were
|
||||
+ OnReportSent(std::move(it), report, is_debug_report, std::move(sent_callback), nullptr);
|
||||
}
|
||||
|
||||
void AttributionNetworkSenderImpl::SetURLLoaderFactoryForTesting(
|
||||
@@ -162,6 +158,13 @@ void AttributionNetworkSenderImpl::OnReportSent(
|
||||
AttributionReport report,
|
||||
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting(
|
||||
@@ -138,6 +133,12 @@ void AttributionReportNetworkSender::OnReportSent(
|
||||
bool is_debug_report,
|
||||
ReportSentCallback sent_callback,
|
||||
scoped_refptr<net::HttpResponseHeaders> headers) {
|
||||
+ if ((true)) {
|
||||
+ std::move(sent_callback)
|
||||
+ .Run(SentReport(std::move(report),
|
||||
+ SentReport::Status::kSent,
|
||||
+ /*response_code*/200));
|
||||
+ .Run(std::move(report),
|
||||
+ SendResult(SendResult::Status::kSent, headers ? headers->response_code() : 200));
|
||||
+ return;
|
||||
+ }
|
||||
network::SimpleURLLoader* loader = it->get();
|
||||
|
@ -214,7 +251,7 @@ diff --git a/content/browser/attribution_reporting/attribution_network_sender_im
|
|||
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
|
||||
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
|
||||
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
|
||||
@@ -271,7 +271,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
|
||||
@@ -372,7 +372,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
|
||||
}
|
||||
|
||||
// static
|
||||
|
@ -252,7 +289,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
|
|||
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
|
||||
--- a/content/browser/storage_partition_impl.cc
|
||||
+++ b/content/browser/storage_partition_impl.cc
|
||||
@@ -1305,12 +1305,7 @@ void StoragePartitionImpl::Initialize(
|
||||
@@ -1307,12 +1307,7 @@ void StoragePartitionImpl::Initialize(
|
||||
bucket_context_ = base::MakeRefCounted<BucketContext>();
|
||||
bucket_context_->Initialize(quota_manager_proxy);
|
||||
|
||||
|
@ -265,7 +302,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
|
|||
+ // The Conversion Measurement API is not available in Bromite.
|
||||
|
||||
if (base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
|
||||
interest_group_manager_ = std::make_unique<InterestGroupManager>(
|
||||
interest_group_manager_ = std::make_unique<InterestGroupManagerImpl>(
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java b/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/AttributionReporterImpl.java
|
||||
|
@ -308,8 +345,8 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
|||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
const base::Feature kGMSCoreEmoji{"GMSCoreEmoji",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
// Controls whether LCP calculations should exclude low-entropy images. If
|
||||
// enabled, then the associated parameter sets the cutoff, expressed as the
|
||||
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
|
||||
|
@ -325,19 +362,12 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
|||
+ name: "DisabledForBromite",
|
||||
+ },
|
||||
{
|
||||
name: "Accelerated2dCanvas",
|
||||
settable_from_internals: true,
|
||||
@@ -482,13 +489,11 @@
|
||||
name: "AbortSignalThrowIfAborted",
|
||||
status: "stable",
|
||||
@@ -496,7 +503,7 @@
|
||||
},
|
||||
{
|
||||
name: "ConversionMeasurement",
|
||||
- origin_trial_feature_name: "ConversionMeasurement",
|
||||
- origin_trial_allows_third_party: true,
|
||||
- status: "experimental",
|
||||
+ depends_on: ["DisabledForBromite"],
|
||||
},
|
||||
{
|
||||
name: "ConversionMeasurementEventSources",
|
||||
- status: "test",
|
||||
+ depends_on: ["DisabledForBromite"],
|
||||
},
|
||||
|
|
24
build/patches/Disable-crash-reporting.patch
Normal file
24
build/patches/Disable-crash-reporting.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 9 Apr 2022 21:43:35 +0200
|
||||
Subject: Disable crash reporting
|
||||
|
||||
---
|
||||
content/public/common/content_features.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
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
|
||||
@@ -234,8 +234,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
|
||||
|
||||
// Enables crash reporting via Reporting API.
|
||||
// https://www.w3.org/TR/reporting/#crash-report
|
||||
-const base::Feature kCrashReporting{"CrashReporting",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+const base::Feature kCrashReporting{"CrashReporting", // disabled by default on Bromite
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT}; // ^
|
||||
|
||||
// Enables support for the `Critical-CH` response header.
|
||||
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
|
||||
--
|
||||
2.25.1
|
|
@ -29,7 +29,7 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
||||
@@ -81,7 +81,7 @@ public class CachedFeatureFlags {
|
||||
@@ -83,7 +83,7 @@ public class CachedFeatureFlags {
|
||||
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
|
||||
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
|
||||
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
|
||||
|
|
|
@ -7,19 +7,19 @@ Disable seed-based field trials
|
|||
android_webview/nonembedded/BUILD.gn | 2 --
|
||||
.../services/VariationsSeedServer.java | 2 --
|
||||
.../chrome_metrics_services_manager_client.cc | 2 ++
|
||||
components/ukm/ukm_recorder_impl.cc | 3 +++
|
||||
components/ukm/ukm_recorder_impl.cc | 3 ++
|
||||
.../firstrun/VariationsSeedBridge.java | 2 +-
|
||||
.../firstrun/VariationsSeedFetcher.java | 23 ++++---------------
|
||||
.../firstrun/VariationsSeedFetcher.java | 28 ++++---------------
|
||||
.../variations/net/omnibox_http_headers.cc | 2 +-
|
||||
.../variations/net/variations_http_headers.cc | 3 +++
|
||||
.../service/variations_field_trial_creator.cc | 4 +++-
|
||||
.../variations/service/variations_service.cc | 15 +++---------
|
||||
10 files changed, 20 insertions(+), 38 deletions(-)
|
||||
.../variations/net/variations_http_headers.cc | 3 ++
|
||||
.../service/variations_field_trial_creator.cc | 3 +-
|
||||
.../variations/service/variations_service.cc | 15 ++--------
|
||||
10 files changed, 21 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
|
||||
--- a/android_webview/nonembedded/BUILD.gn
|
||||
+++ b/android_webview/nonembedded/BUILD.gn
|
||||
@@ -96,7 +96,6 @@ android_library("services_java") {
|
||||
@@ -101,7 +101,6 @@ android_library("services_java") {
|
||||
sources = [
|
||||
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
|
||||
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
|
||||
|
@ -27,7 +27,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
|
|||
"java/src/org/chromium/android_webview/services/ComponentUpdaterSafeModeUtils.java",
|
||||
"java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java",
|
||||
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
|
||||
@@ -107,7 +106,6 @@ android_library("services_java") {
|
||||
@@ -112,7 +111,6 @@ android_library("services_java") {
|
||||
"java/src/org/chromium/android_webview/services/MetricsUploadService.java",
|
||||
"java/src/org/chromium/android_webview/services/SafeModeContentProvider.java",
|
||||
"java/src/org/chromium/android_webview/services/SafeModeService.java",
|
||||
|
@ -50,7 +50,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
|
|||
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
@@ -189,6 +189,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
|
||||
@@ -190,6 +190,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
|
||||
void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial(
|
||||
version_info::Channel channel,
|
||||
base::FeatureList* feature_list) {
|
||||
|
@ -62,7 +62,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/
|
|||
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
|
||||
--- a/components/ukm/ukm_recorder_impl.cc
|
||||
+++ b/components/ukm/ukm_recorder_impl.cc
|
||||
@@ -179,6 +179,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
|
||||
@@ -191,6 +191,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
|
||||
void UkmRecorderImpl::CreateFallbackSamplingTrial(
|
||||
bool is_stable_channel,
|
||||
base::FeatureList* feature_list) {
|
||||
|
@ -87,7 +87,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
|||
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
||||
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
||||
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
|
||||
@@ -45,7 +45,7 @@ public class VariationsSeedFetcher {
|
||||
@@ -75,7 +75,7 @@ public class VariationsSeedFetcher {
|
||||
}
|
||||
|
||||
private static final String VARIATIONS_SERVER_URL =
|
||||
|
@ -96,10 +96,12 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
|||
|
||||
private static final int READ_TIMEOUT = 3000; // time in ms
|
||||
private static final int REQUEST_TIMEOUT = 1000; // time in ms
|
||||
@@ -184,24 +184,9 @@ public class VariationsSeedFetcher {
|
||||
@@ -271,29 +271,13 @@ public class VariationsSeedFetcher {
|
||||
*/
|
||||
public void fetchSeed(String restrictMode, String milestone, String channel) {
|
||||
assert !ThreadUtils.runningOnUiThread();
|
||||
// Prevent multiple simultaneous fetches
|
||||
synchronized (sLock) {
|
||||
- // Prevent multiple simultaneous fetches
|
||||
- synchronized (sLock) {
|
||||
- SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
|
||||
- // Early return if an attempt has already been made to fetch the seed, even if it
|
||||
- // failed. Only attempt to get the initial Java seed once, since a failure probably
|
||||
|
@ -110,10 +112,11 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
|||
- || VariationsSeedBridge.hasNativePref()) {
|
||||
- return;
|
||||
- }
|
||||
+ synchronized (sLock) {
|
||||
+ VariationsSeedBridge.clearFirstRunPrefs();
|
||||
|
||||
- SeedFetchInfo fetchInfo =
|
||||
- downloadContent(VariationsPlatform.ANDROID, restrictMode, milestone, channel);
|
||||
- SeedFetchInfo fetchInfo = downloadContent(
|
||||
- VariationsPlatform.ANDROID, restrictMode, milestone, channel, null);
|
||||
- if (fetchInfo.seedInfo != null) {
|
||||
- SeedInfo info = fetchInfo.seedInfo;
|
||||
- VariationsSeedBridge.setVariationsFirstRunSeed(info.seedData, info.signature,
|
||||
|
@ -122,14 +125,18 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
|||
+ SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
|
||||
// VARIATIONS_INITIALIZED_PREF should still be set to true when exceptions occur
|
||||
prefs.edit().putBoolean(VARIATIONS_INITIALIZED_PREF, true).apply();
|
||||
}
|
||||
@@ -230,7 +215,7 @@ public class VariationsSeedFetcher {
|
||||
* @param channel the channel parameter to pass to the server via a URL param.
|
||||
- }
|
||||
+ }
|
||||
}
|
||||
|
||||
private void recordFetchResultOrCode(int resultOrCode) {
|
||||
@@ -320,7 +304,7 @@ public class VariationsSeedFetcher {
|
||||
* @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header.
|
||||
* @return the object holds the request result and seed data with its related header fields.
|
||||
*/
|
||||
- public SeedFetchInfo downloadContent(@VariationsPlatform int platform, String restrictMode,
|
||||
+ private SeedFetchInfo downloadContent(@VariationsPlatform int platform, String restrictMode,
|
||||
String milestone, String channel) {
|
||||
String milestone, String channel, @Nullable SeedInfo curSeedInfo) {
|
||||
SeedFetchInfo fetchInfo = new SeedFetchInfo();
|
||||
HttpURLConnection connection = null;
|
||||
diff --git a/components/variations/net/omnibox_http_headers.cc b/components/variations/net/omnibox_http_headers.cc
|
||||
|
@ -160,33 +167,20 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
|
|||
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
|
||||
@@ -246,8 +246,8 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
|
||||
// instance is set.
|
||||
feature_list->RegisterExtraFeatureOverrides(extra_overrides);
|
||||
|
||||
- bool used_testing_config = false;
|
||||
#if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
+ bool used_testing_config = false;
|
||||
if (!command_line->HasSwitch(switches::kDisableFieldTrialTestingConfig) &&
|
||||
!command_line->HasSwitch(::switches::kForceFieldTrials) &&
|
||||
!command_line->HasSwitch(switches::kVariationsServerURL)) {
|
||||
@@ -261,10 +261,12 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
|
||||
}
|
||||
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
|
||||
bool used_seed = false;
|
||||
+#if defined(FIELDTRIAL_SEED_ENABLED)
|
||||
if (!used_testing_config) {
|
||||
used_seed = CreateTrialsFromSeed(low_entropy_provider.get(),
|
||||
feature_list.get(), safe_seed_manager);
|
||||
}
|
||||
+#endif // BUILDFLAG(FIELDTRIAL_SEED_ENABLED)
|
||||
|
||||
platform_field_trials->SetUpFeatureControllingFieldTrials(
|
||||
used_seed, low_entropy_provider.get(), feature_list.get());
|
||||
@@ -159,7 +159,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
|
||||
// "--variations-server-url" switches are passed. It is however possible to
|
||||
// apply the testing config as well as specify additional field trials (using
|
||||
// "--force-fieldtrials") by using the "--enable-field-trial-config" switch.
|
||||
-bool ShouldUseFieldTrialTestingConfig(const base::CommandLine* command_line) {
|
||||
+bool ShouldUseFieldTrialTestingConfig(const base::CommandLine* command_line) { // disabled in Bromite
|
||||
+ if ((true)) return false;
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
return command_line->HasSwitch(switches::kEnableFieldTrialTestingConfig);
|
||||
#else
|
||||
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
|
||||
--- a/components/variations/service/variations_service.cc
|
||||
+++ b/components/variations/service/variations_service.cc
|
||||
@@ -234,17 +234,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
|
||||
@@ -235,17 +235,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
|
||||
// Variations seed fetching is only enabled in official Chrome builds, if a URL
|
||||
// is specified on the command line, and for testing.
|
||||
bool IsFetchingEnabled() {
|
||||
|
@ -206,7 +200,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
|
|||
}
|
||||
|
||||
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
|
||||
@@ -602,7 +593,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
@@ -603,7 +594,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
|
||||
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
|
||||
// had a chance to run yet from the previous request. In this case, don't
|
||||
// start a new request and just let the previous one finish.
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Disable idle detection
|
|||
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
|
||||
@@ -393,7 +393,7 @@ const base::Feature kHistoryPreventSandboxedNavigation{
|
||||
@@ -422,7 +422,7 @@ const base::Feature kGreaseUACH{"GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
// this feature, the experimental web platform features flag should be set,
|
||||
// or the site should obtain an Origin Trial token.
|
||||
const base::Feature kIdleDetection{"IdleDetection",
|
||||
|
|
|
@ -11,9 +11,9 @@ Subject: Disable media router and remoting by default
|
|||
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
|
||||
--- a/chrome/browser/media/router/media_router_feature.cc
|
||||
+++ b/chrome/browser/media/router/media_router_feature.cc
|
||||
@@ -41,26 +41,15 @@ const base::Feature kDialEnforceUrlIPAddress{"DialEnforceUrlIPAddress",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
#endif // !defined(OS_ANDROID)
|
||||
@@ -49,26 +49,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
|
||||
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
-namespace {
|
||||
-const PrefService::Preference* GetMediaRouterPref(
|
||||
|
@ -41,24 +41,24 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
|
|||
+}
|
||||
+
|
||||
+/*
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (!base::FeatureList::IsEnabled(kMediaRouter))
|
||||
return false;
|
||||
@@ -84,7 +73,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
@@ -92,7 +81,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
|
||||
return allowed;
|
||||
}
|
||||
return true;
|
||||
-}
|
||||
+}*/
|
||||
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
|
||||
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
|
||||
@@ -359,7 +359,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
media_router::prefs::kMediaRouterEnableCloudServices, false,
|
||||
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
|
||||
@@ -350,7 +350,7 @@ void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(
|
||||
- media_router::prefs::kMediaRouterMediaRemotingEnabled, true);
|
||||
+ media_router::prefs::kMediaRouterMediaRemotingEnabled, false);
|
||||
|
@ -68,14 +68,14 @@ diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profil
|
|||
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
||||
--- a/chrome/browser/profiles/profile_impl.cc
|
||||
+++ b/chrome/browser/profiles/profile_impl.cc
|
||||
@@ -415,7 +415,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
@@ -419,7 +419,7 @@ void ProfileImpl::RegisterProfilePrefs(
|
||||
#endif
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
|
||||
- registry->RegisterBooleanPref(prefs::kEnableMediaRouter, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kEnableMediaRouter, false);
|
||||
#if !defined(OS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false);
|
||||
#endif // !defined(OS_ANDROID)
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -1,99 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 20 Feb 2019 21:41:26 +0100
|
||||
Subject: Disable metrics collection for NTP tiles
|
||||
|
||||
---
|
||||
.../android/ntp/most_visited_sites_bridge.cc | 17 -----------------
|
||||
components/ntp_tiles/BUILD.gn | 3 ---
|
||||
components/ntp_tiles/most_visited_sites.cc | 2 --
|
||||
3 files changed, 22 deletions(-)
|
||||
|
||||
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
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "chrome/browser/profiles/profile_android.h"
|
||||
#include "components/favicon_base/favicon_types.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
-#include "components/ntp_tiles/metrics.h"
|
||||
#include "components/ntp_tiles/most_visited_sites.h"
|
||||
#include "components/ntp_tiles/section_type.h"
|
||||
#include "ui/gfx/android/java_bitmap.h"
|
||||
@@ -46,7 +45,6 @@ using ntp_tiles::NTPTilesVector;
|
||||
using ntp_tiles::SectionType;
|
||||
using ntp_tiles::TileTitleSource;
|
||||
using ntp_tiles::TileSource;
|
||||
-using ntp_tiles::TileVisualType;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -233,7 +231,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj,
|
||||
jint jtiles_count) {
|
||||
- ntp_tiles::metrics::RecordPageImpression(jtiles_count);
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -245,15 +242,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
jint jtitle_source,
|
||||
jint jsource,
|
||||
const JavaParamRef<jobject>& jurl) {
|
||||
- std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
|
||||
- TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
|
||||
- TileSource source = static_cast<TileSource>(jsource);
|
||||
- TileVisualType visual_type = static_cast<TileVisualType>(jvisual_type);
|
||||
- favicon_base::IconType icon_type =
|
||||
- static_cast<favicon_base::IconType>(jicon_type);
|
||||
-
|
||||
- ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
|
||||
- jindex, source, title_source, visual_type, icon_type, *url));
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -263,11 +251,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
jint tile_type,
|
||||
jint title_source,
|
||||
jint source) {
|
||||
- ntp_tiles::metrics::RecordTileClick(ntp_tiles::NTPTileImpression(
|
||||
- index, static_cast<TileSource>(source),
|
||||
- static_cast<TileTitleSource>(title_source),
|
||||
- static_cast<TileVisualType>(tile_type), favicon_base::IconType::kInvalid,
|
||||
- /*url_for_rappor=*/GURL()));
|
||||
}
|
||||
|
||||
static jlong JNI_MostVisitedSitesBridge_Init(
|
||||
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
|
||||
@@ -21,8 +21,6 @@ static_library("ntp_tiles") {
|
||||
"icon_cacher.h",
|
||||
"icon_cacher_impl.cc",
|
||||
"icon_cacher_impl.h",
|
||||
- "metrics.cc",
|
||||
- "metrics.h",
|
||||
"most_visited_sites.cc",
|
||||
"most_visited_sites.h",
|
||||
"ntp_tile.cc",
|
||||
@@ -86,7 +84,6 @@ source_set("unit_tests") {
|
||||
"custom_links_manager_impl_unittest.cc",
|
||||
"custom_links_store_unittest.cc",
|
||||
"icon_cacher_impl_unittest.cc",
|
||||
- "metrics_unittest.cc",
|
||||
"most_visited_sites_unittest.cc",
|
||||
"popular_sites_impl_unittest.cc",
|
||||
]
|
||||
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
|
||||
--- a/components/ntp_tiles/most_visited_sites.cc
|
||||
+++ b/components/ntp_tiles/most_visited_sites.cc
|
||||
@@ -724,8 +724,6 @@ void MostVisitedSites::SaveTilesAndNotify(
|
||||
: new_tiles;
|
||||
|
||||
if (fixed_tiles.size() != new_tiles.size()) {
|
||||
- metrics::RecordsMigratedDefaultAppDeleted(
|
||||
- DeletedTileType::kMostVisitedSite);
|
||||
}
|
||||
if (!current_tiles_.has_value() || (*current_tiles_ != fixed_tiles)) {
|
||||
current_tiles_.emplace(std::move(fixed_tiles));
|
||||
--
|
||||
2.25.1
|
|
@ -1,22 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 25 Apr 2018 10:23:51 +0200
|
||||
Subject: Disable metrics on all I/O threads
|
||||
|
||||
---
|
||||
chrome/browser/browser_process_impl.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -980,7 +980,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
|
||||
- GoogleUpdateSettings::GetCollectStatsConsent());
|
||||
+ false);
|
||||
registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
25
build/patches/Disable-minidump-upload-scheduling.patch
Normal file
25
build/patches/Disable-minidump-upload-scheduling.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 27 Feb 2022 23:58:22 +0100
|
||||
Subject: Disable minidump upload scheduling
|
||||
|
||||
---
|
||||
.../minidump_uploader/MinidumpUploadJobService.java | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
@@ -44,7 +44,10 @@ public abstract class MinidumpUploadJobService extends JobService {
|
||||
* to build an upload job for scheduling.
|
||||
*/
|
||||
public static void scheduleUpload(JobInfo.Builder jobInfoBuilder) {
|
||||
- Log.i(TAG, "Scheduling upload of all pending minidumps.");
|
||||
+ Log.i(TAG, "Scheduling upload of all pending minidumps is disabled.");
|
||||
+ if ((true)) {
|
||||
+ return;
|
||||
+ }
|
||||
JobScheduler scheduler =
|
||||
(JobScheduler) ContextUtils.getApplicationContext().getSystemService(
|
||||
Context.JOB_SCHEDULER_SERVICE);
|
||||
--
|
||||
2.25.1
|
|
@ -23,7 +23,7 @@ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/c
|
|||
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
|
||||
@@ -467,13 +467,13 @@ ComponentResult IDNToUnicodeOneComponent(
|
||||
@@ -492,13 +492,13 @@ bool HasTwoViewSourceSchemes(base::StringPiece spec) {
|
||||
} // namespace
|
||||
|
||||
const FormatUrlType kFormatUrlOmitNothing = 0;
|
||||
|
|
|
@ -3,22 +3,19 @@ Date: Thu, 22 Mar 2018 22:38:00 +0100
|
|||
Subject: Disable plugins enumeration
|
||||
|
||||
---
|
||||
third_party/blink/renderer/core/frame/local_frame.cc | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
third_party/blink/renderer/core/frame/local_frame.cc | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
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
|
||||
@@ -1855,10 +1855,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
@@ -1883,9 +1883,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
- if (!Loader().AllowPlugins())
|
||||
- return nullptr;
|
||||
- return GetPage()->GetPluginData(
|
||||
- Tree().Top().GetSecurityContext()->GetSecurityOrigin());
|
||||
+ // what about no
|
||||
+ return nullptr;
|
||||
return nullptr;
|
||||
- return GetPage()->GetPluginData();
|
||||
}
|
||||
|
||||
void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) {
|
||||
|
|
|
@ -1,147 +0,0 @@
|
|||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 13 Nov 2021 09:17:06 +0000
|
||||
Subject: Disable privacy sandbox
|
||||
|
||||
Remove the ui from the settings and set the flags to inactive
|
||||
---
|
||||
.../java/res/xml/privacy_preferences.xml | 4 ---
|
||||
.../privacy/settings/PrivacySettings.java | 19 -----------
|
||||
.../privacy_sandbox_settings.cc | 34 +++++++++----------
|
||||
3 files changed, 16 insertions(+), 41 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
|
||||
@@ -75,10 +75,6 @@
|
||||
android:title="@string/open_external_links_incognito_title"
|
||||
android:summary="@string/open_external_links_incognito_summary"
|
||||
android:defaultValue="false" />
|
||||
- <Preference
|
||||
- android:key="privacy_sandbox"
|
||||
- android:title="@string/prefs_privacy_sandbox"
|
||||
- android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="services_category"
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -72,7 +72,6 @@ public class PrivacySettings
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
|
||||
@@ -104,18 +103,6 @@ public class PrivacySettings
|
||||
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
|
||||
getActivity().setTitle(R.string.prefs_privacy_security);
|
||||
|
||||
- findPreference(PREF_PRIVACY_SANDBOX)
|
||||
- .setSummary(PrivacySandboxSettingsFragment.getStatusString(getContext()));
|
||||
- // Overwrite the click listener to pass a correct referrer to the fragment.
|
||||
- findPreference(PREF_PRIVACY_SANDBOX).setOnPreferenceClickListener(preference -> {
|
||||
- Bundle fragmentArgs = new Bundle();
|
||||
- fragmentArgs.putInt(PrivacySandboxSettingsFragment.PRIVACY_SANDBOX_REFERRER,
|
||||
- PrivacySandboxReferrer.PRIVACY_SETTINGS);
|
||||
- new SettingsLauncherImpl().launchSettingsActivity(
|
||||
- getContext(), PrivacySandboxSettingsFragment.class, fragmentArgs);
|
||||
- return true;
|
||||
- });
|
||||
-
|
||||
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
|
||||
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
|
||||
getPreferenceScreen().removePreference(privacyReviewPreference);
|
||||
@@ -296,17 +283,11 @@ public class PrivacySettings
|
||||
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
|
||||
}
|
||||
|
||||
- Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
|
||||
- if (privacySandboxPreference != null) {
|
||||
ChromeSwitchPreference forceNoJit =
|
||||
(ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
|
||||
forceNoJit.setOnPreferenceChangeListener(this);
|
||||
forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
|
||||
|
||||
- privacySandboxPreference.setSummary(
|
||||
- PrivacySandboxSettingsFragment.getStatusString(getContext()));
|
||||
- }
|
||||
-
|
||||
ChromeSwitchPreference historyInIncognitoPref =
|
||||
(ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
|
||||
if (historyInIncognitoPref != null) {
|
||||
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
|
||||
@@ -111,23 +111,8 @@ bool ThirdPartyCookiesDisabledByPolicy(
|
||||
bool ShouldDisablePrivacySandbox(
|
||||
content_settings::CookieSettings* cookie_settings,
|
||||
PrefService* prefs) {
|
||||
- // If a user has already expressed control over the Privacy Sandbox preference
|
||||
- // on any of their devices there is no need to disable it.
|
||||
- if (prefs->GetBoolean(prefs::kPrivacySandboxManuallyControlled))
|
||||
- return false;
|
||||
-
|
||||
- auto cookie_controls_mode_value =
|
||||
- static_cast<content_settings::CookieControlsMode>(
|
||||
- prefs->GetInteger(prefs::kCookieControlsMode));
|
||||
-
|
||||
- auto default_cookie_setting =
|
||||
- cookie_settings->GetDefaultCookieSetting(/*provider_id=*/nullptr);
|
||||
-
|
||||
- // The Privacy Sandbox preference should be disabled if 3P cookies or all
|
||||
- // cookies are blocked.
|
||||
- return (cookie_controls_mode_value ==
|
||||
- content_settings::CookieControlsMode::kBlockThirdParty ||
|
||||
- default_cookie_setting == ContentSetting::CONTENT_SETTING_BLOCK);
|
||||
+ // privacy sandbox is always disabled
|
||||
+ return true;
|
||||
}
|
||||
|
||||
// Returns whether FLoC is allowable by the current state of |pref_service|.
|
||||
@@ -194,6 +179,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
|
||||
base::BindRepeating(&PrivacySandboxSettings::OnPrivacySandboxPrefChanged,
|
||||
base::Unretained(this)));
|
||||
|
||||
+ // as default, privacy sandbox is disabled
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
|
||||
// On first entering the privacy sandbox experiment, users may have the
|
||||
// privacy sandbox disabled (or "reconciled") based on their current cookie
|
||||
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
|
||||
@@ -383,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
|
||||
|
||||
void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
|
||||
pref_service_->SetBoolean(prefs::kPrivacySandboxManuallyControlled, true);
|
||||
- pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, enabled);
|
||||
+ // never enable privacy sandbox
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
|
||||
}
|
||||
|
||||
void PrivacySandboxSettings::OnCookiesCleared() {
|
||||
@@ -437,6 +425,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
|
||||
const GURL& url,
|
||||
const absl::optional<url::Origin>& top_frame_origin,
|
||||
const ContentSettingsForOneType& cookie_settings) const {
|
||||
+ // even if prefs::kPrivacySandboxApisEnabled and
|
||||
+ // prefs::kPrivacySandboxFlocEnabled are always false
|
||||
+ if ((true))
|
||||
+ return false; // guard this code path
|
||||
if (!pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled))
|
||||
return false;
|
||||
|
||||
@@ -449,6 +441,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
|
||||
}
|
||||
|
||||
void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
|
||||
+ // this code could be eliminated in the future, as initially
|
||||
+ // the feauture was tied to the cookies flag
|
||||
+ pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
|
||||
+ if((true))
|
||||
+ return;
|
||||
+
|
||||
// No need to reconcile preferences if it has already happened.
|
||||
if (pref_service_->GetBoolean(prefs::kPrivacySandboxPreferencesReconciled)) {
|
||||
LogPrivacySandboxState();
|
||||
--
|
||||
2.25.1
|
File diff suppressed because it is too large
Load diff
118
build/patches/Disable-safety-check.patch
Normal file
118
build/patches/Disable-safety-check.patch
Normal file
|
@ -0,0 +1,118 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 6 Mar 2022 17:39:15 +0100
|
||||
Subject: Disable safety check
|
||||
|
||||
---
|
||||
chrome/android/BUILD.gn | 3 ---
|
||||
chrome/android/chrome_java_sources.gni | 1 -
|
||||
.../browser/app/omnibox/OmniboxPedalDelegateImpl.java | 8 --------
|
||||
.../chrome/browser/settings/SettingsActivity.java | 6 ------
|
||||
chrome/browser/BUILD.gn | 1 -
|
||||
5 files changed, 19 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -406,7 +406,6 @@ android_library("chrome_java") {
|
||||
"//chrome/browser/privacy_sandbox/android:java",
|
||||
"//chrome/browser/profiles/android:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
- "//chrome/browser/safety_check/android:java",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/segmentation_platform:factory_java",
|
||||
"//chrome/browser/settings:java",
|
||||
@@ -1011,7 +1010,6 @@ junit_binary("chrome_junit_tests") {
|
||||
"//chrome/browser/preferences:java",
|
||||
"//chrome/browser/preferences:preferences_junit_tests",
|
||||
"//chrome/browser/profiles/android:java",
|
||||
- "//chrome/browser/safety_check/android:java",
|
||||
"//chrome/browser/safety_check/android:junit",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/share:java",
|
||||
@@ -1398,7 +1396,6 @@ android_library("chrome_test_java") {
|
||||
"//chrome/browser/profiles/android:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
"//chrome/browser/safe_browsing/android:javatests",
|
||||
- "//chrome/browser/safety_check/android:java",
|
||||
"//chrome/browser/safety_check/android:javatests",
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/settings: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
|
||||
@@ -935,7 +935,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
|
||||
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
|
||||
- "java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java",
|
||||
"java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java",
|
||||
"java/src/org/chromium/chrome/browser/searchwidget/SearchBoxDataProvider.java",
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
|
||||
@@ -26,7 +26,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
|
||||
import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalSuggestionViewProperties.PedalIcon;
|
||||
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
|
||||
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
|
||||
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
@@ -72,12 +71,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
|
||||
startActivity(intent);
|
||||
}
|
||||
break;
|
||||
- case OmniboxPedalType.RUN_CHROME_SAFETY_CHECK:
|
||||
- settingsLauncher.launchSettingsActivity(mActivity,
|
||||
- SafetyCheckSettingsFragment.class,
|
||||
- SafetyCheckSettingsFragment.createBundle(
|
||||
- /*runSafetyCheckImmediately=*/true));
|
||||
- break;
|
||||
case OmniboxPedalType.MANAGE_SITE_SETTINGS:
|
||||
settingsLauncher.launchSettingsActivity(mActivity, SiteSettings.class);
|
||||
break;
|
||||
@@ -153,7 +146,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
|
||||
case OmniboxPedalType.MANAGE_PASSWORDS:
|
||||
case OmniboxPedalType.UPDATE_CREDIT_CARD:
|
||||
case OmniboxPedalType.LAUNCH_INCOGNITO:
|
||||
- case OmniboxPedalType.RUN_CHROME_SAFETY_CHECK:
|
||||
case OmniboxPedalType.MANAGE_SITE_SETTINGS:
|
||||
case OmniboxPedalType.MANAGE_CHROME_SETTINGS:
|
||||
case OmniboxPedalType.VIEW_CHROME_HISTORY:
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -56,9 +56,6 @@ import org.chromium.chrome.browser.privacy_sandbox.FlocSettingsFragment;
|
||||
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
|
||||
-import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
|
||||
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
|
||||
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
|
||||
@@ -372,9 +369,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher(
|
||||
HelpAndFeedbackLauncherImpl.getInstance());
|
||||
}
|
||||
- if (fragment instanceof SafetyCheckSettingsFragment) {
|
||||
- // not supported
|
||||
- }
|
||||
if (fragment instanceof PasswordCheckFragmentView) {
|
||||
PasswordCheckComponentUiFactory.create((PasswordCheckFragmentView) fragment,
|
||||
HelpAndFeedbackLauncherImpl.getInstance(), mSettingsLauncher,
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3347,7 +3347,6 @@ static_library("browser") {
|
||||
"//chrome/browser/privacy_sandbox/android:jni_headers",
|
||||
"//chrome/browser/reading_list/android",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
- "//chrome/browser/safety_check/android",
|
||||
"//chrome/browser/share/android:jni_headers",
|
||||
"//chrome/browser/signin/services/android:jni_headers",
|
||||
"//chrome/browser/sync/android:jni_headers",
|
||||
--
|
||||
2.25.1
|
|
@ -0,0 +1,22 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Thu, 19 Aug 2021 23:11:16 +0200
|
||||
Subject: Disable search engine DSE automatic permission
|
||||
|
||||
---
|
||||
components/permissions/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
|
||||
--- a/components/permissions/features.cc
|
||||
+++ b/components/permissions/features.cc
|
||||
@@ -76,7 +76,7 @@ const base::Feature kRevisedOriginHandling{"PermissionsRevisedOriginHandling",
|
||||
// When enabled, the Default Search Engine does not automatically receive the
|
||||
// "geolocation" and "notifications" permissions. DSE only applies to Android.
|
||||
const base::Feature kRevertDSEAutomaticPermissions{
|
||||
- "RevertDSEAutomaticPermissions", base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+ "RevertDSEAutomaticPermissions", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
#endif // defined(OS_ANDROID)
|
||||
|
||||
} // namespace features
|
||||
--
|
||||
2.25.1
|
|
@ -2,14 +2,11 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|||
Date: Fri, 24 Jan 2020 19:17:22 +0100
|
||||
Subject: Disable smart selection by default
|
||||
|
||||
Allow web search in incognito mode (reverts
|
||||
commit 48d4ae54f7565c429bf29cd63806aee5d7e93e69)
|
||||
Allow web search in incognito mode; Smart Selection still
|
||||
disabled in incognito as per upstream.
|
||||
|
||||
Partial revert of da1d809c003749846cb4ade8c11b6d038e44416b to restore
|
||||
the ChromeSmartSelection feature flag.
|
||||
|
||||
Notice that re-enabling smart selection would make incognito mode potentially
|
||||
leak information through the TextClassifier set by OEM, if any
|
||||
---
|
||||
.../contextualsearch/SelectionClientManager.java | 4 +++-
|
||||
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
|
||||
|
@ -43,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -183,6 +183,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kCCTClientDataHeader,
|
||||
&kCCTExternalLinkHandling,
|
||||
&kCCTIncognito,
|
||||
|
@ -51,7 +48,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
&kCCTIncognitoAvailableToThirdParty,
|
||||
&kCCTNewDownloadTab,
|
||||
&kCCTPostMessageAPI,
|
||||
@@ -501,6 +502,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
|
||||
@@ -531,6 +532,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
|
||||
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
|
@ -64,8 +61,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -50,6 +50,7 @@ extern const base::Feature kCCTResourcePrefetch;
|
||||
extern const base::Feature kDontAutoHideBrowserControls;
|
||||
@@ -53,6 +53,7 @@ extern const base::Feature kDontAutoHideBrowserControls;
|
||||
extern const base::Feature kChromeNewDownloadTab;
|
||||
extern const base::Feature kChromeShareLongScreenshot;
|
||||
extern const base::Feature kChromeShareScreenshot;
|
||||
+extern const base::Feature kChromeSmartSelection;
|
||||
|
@ -75,7 +72,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
|
|||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -241,6 +241,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -248,6 +248,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CCT_NEW_DOWNLOAD_TAB = "CCTNewDownloadTab";
|
||||
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
|
||||
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
|
||||
|
@ -98,7 +95,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
|||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -2144,6 +2144,21 @@
|
||||
@@ -1817,6 +1817,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Disable some signed exchange features
|
|||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -760,7 +760,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
|
||||
@@ -838,7 +838,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
|
||||
// Signed Exchange Reporting for distributors
|
||||
// https://www.chromestatus.com/feature/5687904902840320
|
||||
const base::Feature kSignedExchangeReportingForDistributors{
|
||||
|
@ -18,7 +18,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
|||
|
||||
// Subresource prefetching+loading via Signed HTTP Exchange
|
||||
// https://www.chromestatus.com/feature/5126805474246656
|
||||
@@ -770,7 +770,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
|
||||
@@ -848,7 +848,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
|
||||
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
|
||||
// https://www.chromestatus.com/feature/5745285984681984
|
||||
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
|
||||
|
|
|
@ -11,13 +11,13 @@ Subject: Disable support for RAR files inspection
|
|||
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
|
||||
@@ -95,7 +95,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
|
||||
@@ -97,7 +97,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
|
||||
if (inspection_type == DownloadFileType::ZIP) {
|
||||
StartExtractZipFeatures();
|
||||
} else if (inspection_type == DownloadFileType::RAR) {
|
||||
- StartExtractRarFeatures();
|
||||
+ LOG(WARNING) << "Safebrowser inspection of rar files is disabled in this build";
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
} else if (inspection_type == DownloadFileType::DMG) {
|
||||
StartExtractDmgFeatures();
|
||||
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
|
||||
|
@ -80,7 +80,7 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
|
|||
-#include "chrome/common/safe_browsing/rar_analyzer.h"
|
||||
#include "chrome/common/safe_browsing/zip_analyzer.h"
|
||||
|
||||
#if defined(OS_MAC)
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
@@ -46,8 +45,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
|
||||
AnalyzeRarFileCallback callback) {
|
||||
DCHECK(rar_file.IsValid());
|
||||
|
|
|
@ -19,9 +19,9 @@ Revert "[Text Fragment] Unflag fragment directive removal."
|
|||
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
|
||||
@@ -5360,6 +5360,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(chrome::android::kCCTResizableForThirdParties)},
|
||||
#endif
|
||||
@@ -5514,6 +5514,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kEnableWebAuthenticationPasskeysUIExperimentDescription,
|
||||
kOsDesktop, FEATURE_VALUE_TYPE(device::kWebAuthPasskeysUIExperiment)},
|
||||
|
||||
+ {"enable-text-fragment-anchor",
|
||||
+ flag_descriptions::kEnableTextFragmentAnchorName,
|
||||
|
@ -29,12 +29,12 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|||
+ FEATURE_VALUE_TYPE(blink::features::kTextFragmentAnchor)},
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
{"enforce-system-aec", flag_descriptions::kCrOSEnforceSystemAecName,
|
||||
flag_descriptions::kCrOSEnforceSystemAecDescription, kOsCrOS,
|
||||
{"enable-web-authentication-chromeos-authenticator",
|
||||
flag_descriptions::kEnableWebAuthenticationChromeOSAuthenticatorName,
|
||||
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
|
||||
@@ -2332,6 +2332,11 @@
|
||||
@@ -2490,6 +2490,11 @@
|
||||
// deep into the future to allow for experiments.
|
||||
"expiry_milestone": 90
|
||||
},
|
||||
|
@ -49,7 +49,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
|||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -1239,6 +1239,10 @@ const char kEnableRestrictedWebApisDescription[] =
|
||||
@@ -1276,6 +1276,10 @@ const char kEnableRestrictedWebApisDescription[] =
|
||||
"Enable the restricted web APIs for dev trial. This will be replaced with "
|
||||
"permission policies to control the capabilities afterwards.";
|
||||
|
||||
|
@ -63,9 +63,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
|
||||
@@ -717,6 +717,9 @@ extern const char kEnableRestrictedWebApisDescription[];
|
||||
extern const char kEnableSubresourceRedirectName[];
|
||||
extern const char kEnableSubresourceRedirectDescription[];
|
||||
@@ -716,6 +716,9 @@ extern const char
|
||||
extern const char kEnableRestrictedWebApisName[];
|
||||
extern const char kEnableRestrictedWebApisDescription[];
|
||||
|
||||
+extern const char kEnableTextFragmentAnchorName[];
|
||||
+extern const char kEnableTextFragmentAnchorDescription[];
|
||||
|
@ -82,25 +82,25 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
|
|||
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
|
||||
- registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, true);
|
||||
+ registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, false);
|
||||
#if defined(OS_ANDROID)
|
||||
registry->RegisterDoublePref(prefs::kWebKitFontScaleFactor, 1.0);
|
||||
registry->RegisterBooleanPref(prefs::kWebKitForceEnableZoom,
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterDoublePref(browser_ui::prefs::kWebKitFontScaleFactor, 1.0);
|
||||
registry->RegisterBooleanPref(browser_ui::prefs::kWebKitForceEnableZoom,
|
||||
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
|
||||
@@ -295,7 +295,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
@@ -279,7 +279,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
features::kSignedExchangeSubresourcePrefetch},
|
||||
{wf::EnableSkipTouchEventFilter, blink::features::kSkipTouchEventFilter},
|
||||
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
|
||||
- {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor},
|
||||
+ {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor}, // will set the TextFragmentIdentifiers runtime feature
|
||||
{wf::EnableTouchDragAndContextMenu, features::kTouchDragAndContextMenu},
|
||||
{wf::EnableCSSSelectorFragmentAnchor,
|
||||
blink::features::kCssSelectorFragmentAnchor},
|
||||
{wf::EnableBackfaceVisibilityInterop,
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -399,7 +399,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
@@ -462,7 +462,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
|
||||
|
||||
// Enable text snippets in URL fragments. https://crbug.com/919204.
|
||||
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
|
||||
|
@ -112,7 +112,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
|||
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
|
||||
@@ -4068,9 +4068,14 @@ void Document::SetURL(const KURL& url) {
|
||||
@@ -4113,9 +4113,14 @@ void Document::SetURL(const KURL& url) {
|
||||
TRACE_EVENT1("navigation", "Document::SetURL", "url",
|
||||
new_url.GetString().Utf8());
|
||||
|
||||
|
@ -130,7 +130,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
|||
diff --git a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
|
||||
--- a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
|
||||
+++ b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
|
||||
@@ -1251,34 +1251,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
|
||||
@@ -1214,34 +1214,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
|
||||
// result of the element-id fragment if a text directive is successfully
|
||||
// parsed. If the feature is off we treat the text directive as an element-id
|
||||
// and should count the result.
|
||||
|
@ -178,7 +178,7 @@ diff --git a/third_party/blink/renderer/core/fragment_directive/text_fragment_an
|
|||
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
|
||||
@@ -2262,8 +2262,7 @@
|
||||
@@ -2297,8 +2297,7 @@
|
||||
},
|
||||
{
|
||||
name: "TextFragmentIdentifiers",
|
||||
|
|
|
@ -10,25 +10,25 @@ This causes unnecessary SSDP network spam
|
|||
diff --git a/chrome/browser/media/router/discovery/dial/dial_registry.cc b/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
--- a/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
+++ b/chrome/browser/media/router/discovery/dial/dial_registry.cc
|
||||
@@ -190,10 +190,6 @@ void DialRegistry::StartPeriodicDiscovery() {
|
||||
@@ -154,10 +154,6 @@ void DialRegistry::StartPeriodicDiscovery() {
|
||||
return;
|
||||
|
||||
dial_ = CreateDialService();
|
||||
dial_->AddObserver(this);
|
||||
- DoDiscovery();
|
||||
- repeating_timer_ = std::make_unique<base::RepeatingTimer>();
|
||||
- repeating_timer_->Start(FROM_HERE, refresh_interval_delta_, this,
|
||||
- &DialRegistry::DoDiscovery);
|
||||
}
|
||||
|
||||
void DialRegistry::DoDiscovery() {
|
||||
@@ -207,8 +203,6 @@ void DialRegistry::StopPeriodicDiscovery() {
|
||||
// Always send the current device list with the next discovery request. This
|
||||
// may not be necessary, but is done to match previous behavior.
|
||||
++registry_generation_;
|
||||
@@ -174,8 +170,6 @@ void DialRegistry::StopPeriodicDiscovery() {
|
||||
if (!dial_)
|
||||
return;
|
||||
|
||||
- repeating_timer_->Stop();
|
||||
- repeating_timer_.reset();
|
||||
dial_->RemoveObserver(this);
|
||||
ClearDialService();
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -8,11 +8,11 @@ Subject: Disable third-party origin trials
|
|||
.../browser/renderer_host/navigation_request.cc | 1 -
|
||||
content/renderer/render_frame_impl.cc | 17 +----------------
|
||||
.../shell/common/shell_origin_trial_policy.cc | 10 ++++------
|
||||
.../origin_trials/trial_token_validator.cc | 1 +
|
||||
.../renderer/core/loader/document_loader.cc | 17 -----------------
|
||||
.../blink/renderer/core/loader/http_equiv.cc | 14 ++------------
|
||||
.../core/origin_trials/origin_trial_context.cc | 12 +++---------
|
||||
.../platform/runtime_enabled_features.json5 | 4 ++++
|
||||
9 files changed, 19 insertions(+), 65 deletions(-)
|
||||
.../blink/renderer/core/loader/http_equiv.cc | 2 +-
|
||||
.../core/origin_trials/origin_trial_context.cc | 5 +++--
|
||||
9 files changed, 15 insertions(+), 47 deletions(-)
|
||||
|
||||
diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc b/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
|
||||
--- a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
|
||||
|
@ -59,18 +59,18 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
|
|||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -6705,7 +6705,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
|
||||
@@ -6846,7 +6846,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
|
||||
void NavigationRequest::ForceEnableOriginTrials(
|
||||
const std::vector<std::string>& trials) {
|
||||
DCHECK(!HasCommitted());
|
||||
- commit_params_->force_enabled_origin_trials = trials;
|
||||
}
|
||||
|
||||
absl::optional<network::mojom::BlockedByResponseReason>
|
||||
network::CrossOriginEmbedderPolicy
|
||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||
--- a/content/renderer/render_frame_impl.cc
|
||||
+++ b/content/renderer/render_frame_impl.cc
|
||||
@@ -480,10 +480,6 @@ void FillNavigationParamsRequest(
|
||||
@@ -469,10 +469,6 @@ void FillNavigationParamsRequest(
|
||||
common_params.initiator_origin.value();
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
|||
navigation_params->was_discarded = commit_params.was_discarded;
|
||||
navigation_params->document_ukm_source_id =
|
||||
commit_params.document_ukm_source_id;
|
||||
@@ -516,12 +512,6 @@ void FillNavigationParamsRequest(
|
||||
@@ -505,12 +501,6 @@ void FillNavigationParamsRequest(
|
||||
navigation_params->web_bundle_claimed_url =
|
||||
commit_params.web_bundle_claimed_url;
|
||||
|
||||
|
@ -94,7 +94,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
|||
if (!commit_params.early_hints_preloaded_resources.empty()) {
|
||||
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
|
||||
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
|
||||
@@ -568,11 +558,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
@@ -557,11 +547,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
info->url_request.GetURLRequestExtraData().get());
|
||||
DCHECK(url_request_extra_data);
|
||||
|
||||
|
@ -106,7 +106,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
|
|||
blink::NavigationDownloadPolicy download_policy;
|
||||
download_policy.ApplyDownloadFramePolicy(
|
||||
info->is_opener_navigation, info->url_request.HasUserGesture(),
|
||||
@@ -591,7 +576,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
@@ -579,7 +564,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
|
||||
info->url_request.HasUserGesture(),
|
||||
info->url_request.HasTextFragmentToken(),
|
||||
info->should_check_main_world_content_security_policy,
|
||||
|
@ -144,10 +144,21 @@ diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/c
|
|||
}
|
||||
|
||||
const std::vector<blink::OriginTrialPublicKey>&
|
||||
diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/third_party/blink/common/origin_trials/trial_token_validator.cc
|
||||
--- a/third_party/blink/common/origin_trials/trial_token_validator.cc
|
||||
+++ b/third_party/blink/common/origin_trials/trial_token_validator.cc
|
||||
@@ -210,6 +210,7 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin,
|
||||
|
||||
// static
|
||||
bool TrialTokenValidator::IsTrialPossibleOnOrigin(const GURL& url) {
|
||||
+ if ((true)) return false;
|
||||
OriginTrialPolicy* policy = PolicyGetter().Run();
|
||||
return policy && policy->IsOriginTrialsSupported() &&
|
||||
policy->IsOriginSecure(url);
|
||||
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||
@@ -150,31 +150,18 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
|
||||
@@ -151,31 +151,18 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
|
||||
WebVector<int> CopyInitiatorOriginTrials(
|
||||
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
|
||||
WebVector<int> result;
|
||||
|
@ -179,7 +190,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
|
|||
return result;
|
||||
}
|
||||
|
||||
@@ -2468,10 +2455,6 @@ void DocumentLoader::CreateParserPostCommit() {
|
||||
@@ -2526,10 +2513,6 @@ void DocumentLoader::CreateParserPostCommit() {
|
||||
OriginTrialFeature::kTouchEventFeatureDetection);
|
||||
}
|
||||
|
||||
|
@ -193,60 +204,29 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
|
|||
diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/blink/renderer/core/loader/http_equiv.cc
|
||||
--- a/third_party/blink/renderer/core/loader/http_equiv.cc
|
||||
+++ b/third_party/blink/renderer/core/loader/http_equiv.cc
|
||||
@@ -106,23 +106,13 @@ void HttpEquiv::ProcessHttpEquivOriginTrial(LocalDOMWindow* window,
|
||||
@@ -103,7 +103,7 @@ void HttpEquiv::ProcessHttpEquivDefaultStyle(Document& document,
|
||||
|
||||
void HttpEquiv::ProcessHttpEquivOriginTrial(LocalDOMWindow* window,
|
||||
const AtomicString& content) {
|
||||
if (!window)
|
||||
- if (!window)
|
||||
+ if ((true))
|
||||
return;
|
||||
- // For meta tags injected by script, process the token with the origin of the
|
||||
- // external script, if available.
|
||||
- // NOTE: The external script origin is not considered security-critical. See
|
||||
- // the comment thread in the design doc for details:
|
||||
- // https://docs.google.com/document/d/1xALH9W7rWmX0FpjudhDeS2TNTEOXuPn4Tlc9VmuPdHA/edit?disco=AAAAJyG8StI
|
||||
- KURL external_script_url(GetCurrentScriptUrl(/*max_stack_depth=*/1));
|
||||
|
||||
- if (external_script_url.IsValid()) {
|
||||
- scoped_refptr<SecurityOrigin> external_origin =
|
||||
- SecurityOrigin::Create(external_script_url);
|
||||
- window->GetOriginTrialContext()->AddTokenFromExternalScript(
|
||||
- content, external_origin.get());
|
||||
+ if (!RuntimeEnabledFeatures::ThirdPartyOriginTrialsEnabled())
|
||||
return;
|
||||
- }
|
||||
|
||||
// Process token as usual, without an external script origin.
|
||||
window->GetOriginTrialContext()->AddToken(content);
|
||||
+
|
||||
}
|
||||
|
||||
void HttpEquiv::ProcessHttpEquivRefresh(LocalDOMWindow* window,
|
||||
// For meta tags injected by script, process the token with the origin of the
|
||||
// external script, if available. Get the top 3 script urls from the stack, as
|
||||
diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
|
||||
--- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
|
||||
+++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "third_party/blink/renderer/platform/bindings/origin_trial_features.h"
|
||||
#include "third_party/blink/renderer/platform/bindings/script_state.h"
|
||||
#include "third_party/blink/renderer/platform/instrumentation/histogram.h"
|
||||
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
|
||||
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/string_utf8_adaptor.h"
|
||||
@@ -277,13 +278,8 @@ void OriginTrialContext::AddToken(const String& token) {
|
||||
@@ -314,6 +314,9 @@ void OriginTrialContext::AddToken(const String& token) {
|
||||
void OriginTrialContext::AddTokenFromExternalScript(
|
||||
const String& token,
|
||||
const SecurityOrigin* origin) {
|
||||
- bool is_script_origin_secure = false;
|
||||
- if (origin) {
|
||||
- DVLOG(1) << "AddTokenFromExternalScript: " << origin->ToString();
|
||||
- is_script_origin_secure = origin->IsPotentiallyTrustworthy();
|
||||
- }
|
||||
- AddTokenInternal(token, GetSecurityOrigin(), IsSecureContext(), origin,
|
||||
- is_script_origin_secure);
|
||||
+ AddTokenInternal(token, GetSecurityOrigin(), IsSecureContext(), nullptr,
|
||||
+ false /* is_script_origin_secure */);
|
||||
}
|
||||
|
||||
void OriginTrialContext::AddTokenInternal(const String& token,
|
||||
@@ -395,8 +391,6 @@ bool OriginTrialContext::InstallSettingFeature(
|
||||
const Vector<scoped_refptr<SecurityOrigin>>& external_origins) {
|
||||
+ if ((true)) {
|
||||
+ return;
|
||||
+ }
|
||||
Vector<OriginInfo> script_origins;
|
||||
for (const scoped_refptr<SecurityOrigin>& origin : external_origins) {
|
||||
OriginInfo origin_info = {.origin = origin,
|
||||
@@ -441,8 +444,6 @@ bool OriginTrialContext::InstallSettingFeature(
|
||||
}
|
||||
|
||||
void OriginTrialContext::AddFeature(OriginTrialFeature feature) {
|
||||
|
@ -255,19 +235,5 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
|
|||
}
|
||||
|
||||
bool OriginTrialContext::IsFeatureEnabled(OriginTrialFeature feature) const {
|
||||
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
|
||||
@@ -2272,6 +2272,10 @@
|
||||
name: "TextFragmentTapOpensContextMenu",
|
||||
status: {"Android": "stable"},
|
||||
},
|
||||
+ {
|
||||
+ name: "ThirdPartyOriginTrials",
|
||||
+ status: "stable",
|
||||
+ },
|
||||
{
|
||||
name: "ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes",
|
||||
status: "experimental",
|
||||
--
|
||||
2.25.1
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 19 Dec 2020 20:04:14 +0100
|
||||
Subject: Disable unified autoplay feature
|
||||
|
||||
---
|
||||
media/base/media_switches.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -464,7 +464,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
|
||||
// Enables the Unified Autoplay policy by overriding the platform's default
|
||||
// autoplay policy.
|
||||
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
// Enable vaapi video decoding on linux. This is already enabled by default on
|
||||
--
|
||||
2.25.1
|
|
@ -1,19 +1,27 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 16 Feb 2022 11:32:33 +0100
|
||||
Date: Wed, 25 Apr 2018 10:23:51 +0200
|
||||
Subject: Disable various metrics
|
||||
|
||||
Including initial metrics opt-out
|
||||
Disable metrics on all I/O threads
|
||||
Set initial metrics opt-out
|
||||
Disable metrics collection for NTP tiles
|
||||
Fix startup crash for debug builds (uazo)
|
||||
---
|
||||
.../browser/firstrun/FirstRunActivityBase.java | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 15 ---------------
|
||||
.../chrome_metrics_services_manager_client.cc | 2 +-
|
||||
services/metrics/public/cpp/ukm_recorder.cc | 2 +-
|
||||
4 files changed, 3 insertions(+), 18 deletions(-)
|
||||
.../browser/firstrun/FirstRunActivityBase.java | 2 +-
|
||||
.../browser/init/StartupTabPreloader.java | 10 ----------
|
||||
.../android/ntp/most_visited_sites_bridge.cc | 17 -----------------
|
||||
chrome/browser/browser_process_impl.cc | 2 +-
|
||||
chrome/browser/chrome_content_browser_client.cc | 15 ---------------
|
||||
.../chrome_metrics_services_manager_client.cc | 2 +-
|
||||
components/ntp_tiles/BUILD.gn | 3 ---
|
||||
components/ntp_tiles/most_visited_sites.cc | 2 --
|
||||
services/metrics/public/cpp/ukm_recorder.cc | 2 +-
|
||||
9 files changed, 4 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
|
||||
@@ -46,7 +46,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
|
||||
@@ -45,7 +45,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
|
||||
|
||||
static final String OPEN_ADVANCED_SYNC_SETTINGS = "OpenAdvancedSyncSettings";
|
||||
|
||||
|
@ -22,10 +30,97 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
|
|||
|
||||
private boolean mNativeInitialized;
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
|
||||
@@ -170,16 +170,6 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
|
||||
|
||||
@Override
|
||||
public void onFirstNavigationCommit() {
|
||||
- recordDurationFromLoadDecisionIntoPostTabMatchHistogram(
|
||||
- "Android.StartupTabPreloader.LoadDecisionToFirstNavigationCommit");
|
||||
-
|
||||
- // We record the metric for navigation start here as well, as we want that metric to be
|
||||
- // recorded only for navigations that result in the first navigation commit startup metric
|
||||
- // being recorded.
|
||||
- assert mFirstNavigationStartMs > 0;
|
||||
- recordDurationFromLoadDecisionToEventTimeIntoPreTabMatchHistogram(
|
||||
- "Android.StartupTabPreloader.LoadDecisionToFirstNavigationStart",
|
||||
- mFirstNavigationStartMs);
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "chrome/browser/profiles/profile_android.h"
|
||||
#include "components/favicon_base/favicon_types.h"
|
||||
#include "components/history/core/browser/history_service.h"
|
||||
-#include "components/ntp_tiles/metrics.h"
|
||||
#include "components/ntp_tiles/most_visited_sites.h"
|
||||
#include "components/ntp_tiles/section_type.h"
|
||||
#include "ui/gfx/android/java_bitmap.h"
|
||||
@@ -46,7 +45,6 @@ using ntp_tiles::NTPTilesVector;
|
||||
using ntp_tiles::SectionType;
|
||||
using ntp_tiles::TileTitleSource;
|
||||
using ntp_tiles::TileSource;
|
||||
-using ntp_tiles::TileVisualType;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -233,7 +231,6 @@ void MostVisitedSitesBridge::RecordPageImpression(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj,
|
||||
jint jtiles_count) {
|
||||
- ntp_tiles::metrics::RecordPageImpression(jtiles_count);
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordTileImpression(
|
||||
@@ -245,15 +242,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
|
||||
jint jtitle_source,
|
||||
jint jsource,
|
||||
const JavaParamRef<jobject>& jurl) {
|
||||
- std::unique_ptr<GURL> url = url::GURLAndroid::ToNativeGURL(env, jurl);
|
||||
- TileTitleSource title_source = static_cast<TileTitleSource>(jtitle_source);
|
||||
- TileSource source = static_cast<TileSource>(jsource);
|
||||
- TileVisualType visual_type = static_cast<TileVisualType>(jvisual_type);
|
||||
- favicon_base::IconType icon_type =
|
||||
- static_cast<favicon_base::IconType>(jicon_type);
|
||||
-
|
||||
- ntp_tiles::metrics::RecordTileImpression(ntp_tiles::NTPTileImpression(
|
||||
- jindex, source, title_source, visual_type, icon_type, *url));
|
||||
}
|
||||
|
||||
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
@@ -263,11 +251,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
|
||||
jint tile_type,
|
||||
jint title_source,
|
||||
jint source) {
|
||||
- ntp_tiles::metrics::RecordTileClick(ntp_tiles::NTPTileImpression(
|
||||
- index, static_cast<TileSource>(source),
|
||||
- static_cast<TileTitleSource>(title_source),
|
||||
- static_cast<TileVisualType>(tile_type), favicon_base::IconType::kInvalid,
|
||||
- /*url_for_rappor=*/GURL()));
|
||||
}
|
||||
|
||||
static jlong JNI_MostVisitedSitesBridge_Init(
|
||||
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
|
||||
@@ -985,7 +985,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
|
||||
- GoogleUpdateSettings::GetCollectStatsConsent());
|
||||
+ false);
|
||||
registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
|
||||
}
|
||||
|
||||
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
|
||||
@@ -61,7 +61,6 @@
|
||||
@@ -60,7 +60,6 @@
|
||||
#include "chrome/browser/hid/chrome_hid_delegate.h"
|
||||
#include "chrome/browser/interstitials/enterprise_util.h"
|
||||
#include "chrome/browser/lifetime/browser_shutdown.h"
|
||||
|
@ -33,7 +128,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
#include "chrome/browser/media/audio_service_util.h"
|
||||
#include "chrome/browser/media/router/media_router_feature.h"
|
||||
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
|
||||
@@ -4114,16 +4113,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
@@ -4167,16 +4166,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
content::NavigationHandle* handle) {
|
||||
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
|
||||
|
||||
|
@ -50,9 +145,9 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
MaybeAddThrottle(
|
||||
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
|
||||
@@ -4221,10 +4210,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
&throttles);
|
||||
#endif
|
||||
@@ -4269,10 +4258,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
|
||||
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
|
||||
}
|
||||
|
||||
- MaybeAddThrottle(
|
||||
- LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(handle),
|
||||
|
@ -64,7 +159,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
|||
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
@@ -74,7 +74,7 @@ namespace internal {
|
||||
@@ -75,7 +75,7 @@ namespace internal {
|
||||
// recording and reporting are enabled. If the feature is enabled, but no
|
||||
// consent is given, then there will be no recording or reporting.
|
||||
const base::Feature kMetricsReportingFeature{"MetricsReporting",
|
||||
|
@ -73,6 +168,38 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/
|
|||
|
||||
} // namespace internal
|
||||
} // namespace metrics
|
||||
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
|
||||
@@ -23,8 +23,6 @@ static_library("ntp_tiles") {
|
||||
"icon_cacher.h",
|
||||
"icon_cacher_impl.cc",
|
||||
"icon_cacher_impl.h",
|
||||
- "metrics.cc",
|
||||
- "metrics.h",
|
||||
"most_visited_sites.cc",
|
||||
"most_visited_sites.h",
|
||||
"ntp_tile.cc",
|
||||
@@ -92,7 +90,6 @@ source_set("unit_tests") {
|
||||
"custom_links_manager_impl_unittest.cc",
|
||||
"custom_links_store_unittest.cc",
|
||||
"icon_cacher_impl_unittest.cc",
|
||||
- "metrics_unittest.cc",
|
||||
"most_visited_sites_unittest.cc",
|
||||
"popular_sites_impl_unittest.cc",
|
||||
]
|
||||
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
|
||||
--- a/components/ntp_tiles/most_visited_sites.cc
|
||||
+++ b/components/ntp_tiles/most_visited_sites.cc
|
||||
@@ -730,8 +730,6 @@ void MostVisitedSites::SaveTilesAndNotify(
|
||||
: new_tiles;
|
||||
|
||||
if (fixed_tiles.size() != new_tiles.size()) {
|
||||
- metrics::RecordsMigratedDefaultAppDeleted(
|
||||
- DeletedTileType::kMostVisitedSite);
|
||||
}
|
||||
if (!current_tiles_.has_value() || (*current_tiles_ != fixed_tiles)) {
|
||||
current_tiles_.emplace(std::move(fixed_tiles));
|
||||
diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/public/cpp/ukm_recorder.cc
|
||||
--- a/services/metrics/public/cpp/ukm_recorder.cc
|
||||
+++ b/services/metrics/public/cpp/ukm_recorder.cc
|
||||
|
|
|
@ -9,7 +9,7 @@ Subject: Do not build API keys infobar
|
|||
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
|
||||
@@ -1248,8 +1248,6 @@ static_library("ui") {
|
||||
@@ -1244,8 +1244,6 @@ static_library("ui") {
|
||||
"singleton_tabs.h",
|
||||
"startup/automation_infobar_delegate.cc",
|
||||
"startup/automation_infobar_delegate.h",
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue